[Pkg-php-commits] [php/debian-sid] Imported Upstream version 5.2.11.dfsg.1

Sean Finney seanius at debian.org
Sat Sep 19 22:12:30 UTC 2009


---
 .gdbinit                                           |   19 +
 .project                                           |   11 -
 CODING_STANDARDS                                   |    4 +-
 INSTALL                                            |   19 +-
 Makefile.global                                    |    3 +-
 NEWS                                               |  145 +-
 README.CVS-RULES                                   |  125 -
 README.SELF-CONTAINED-EXTENSIONS                   |    2 +-
 README.STREAMS                                     |    2 +-
 README.SUBMITTING_PATCH                            |   40 +-
 README.SVN-RULES                                   |  146 +
 README.WIN32-BUILD-SYSTEM                          |    2 +-
 README.input_filter                                |    2 +-
 TSRM/TSRM.dsp                                      |  372 ++--
 TSRM/build.mk                                      |    2 +-
 TSRM/config.w32                                    |    2 +-
 TSRM/configure.in                                  |    2 +-
 TSRM/tsrm_nw.c                                     |    2 +-
 TSRM/tsrm_virtual_cwd.c                            |    2 +-
 TSRM/tsrm_virtual_cwd.h                            |    2 +-
 TSRM/tsrm_win32.c                                  |   30 +-
 TSRM/tsrm_win32.h                                  |    2 +-
 UPGRADING                                          |    8 +-
 Zend/ChangeLog                                     |    4 +-
 Zend/FlexLexer.h                                   |    2 +-
 Zend/RFCs/002.txt                                  |    2 +-
 Zend/RFCs/003.txt                                  |    2 +-
 Zend/Zend.m4                                       |    2 +-
 Zend/acconfig.h                                    |    2 +-
 Zend/acinclude.m4                                  |    2 +-
 Zend/build.mk                                      |    2 +-
 Zend/configure.in                                  |    2 +-
 Zend/flex.skl                                      |    2 +-
 Zend/header                                        |    2 +-
 Zend/tests/017.phpt                                |    2 +-
 Zend/tests/019.phpt                                |   23 +-
 Zend/tests/bug26077.phpt                           |   18 +-
 Zend/tests/bug26229.phpt                           |   58 +-
 Zend/tests/bug26698.phpt                           |  146 +-
 Zend/tests/bug27268.phpt                           |   56 +-
 Zend/tests/bug27598.phpt                           |   24 +-
 Zend/tests/bug28377.phpt                           |   46 +-
 Zend/tests/bug29104.phpt                           |   54 +-
 Zend/tests/bug29210.phpt                           |  208 +-
 Zend/tests/bug29505.phpt                           |   62 +-
 Zend/tests/bug29890.phpt                           |   46 +-
 Zend/tests/bug29896.phpt                           |   56 +-
 Zend/tests/bug29944.phpt                           |   32 +-
 Zend/tests/bug30080.phpt                           |   36 +-
 Zend/tests/bug30140.phpt                           |   60 +-
 Zend/tests/bug30161.phpt                           |   68 +-
 Zend/tests/bug30162.phpt                           |    4 +-
 Zend/tests/bug30332.phpt                           |   80 +-
 Zend/tests/bug30394.phpt                           |   60 +-
 Zend/tests/bug30451.phpt                           |   72 +-
 Zend/tests/bug30519.phpt                           |   20 +-
 Zend/tests/bug30702.phpt                           |   78 +-
 Zend/tests/bug30791.phpt                           |   70 +-
 Zend/tests/bug30820.phpt                           |   54 +-
 Zend/tests/bug30828.phpt                           |  122 +-
 Zend/tests/bug30889.phpt                           |   62 +-
 Zend/tests/bug30922.phpt                           |   26 +-
 Zend/tests/bug31177-2.phpt                         |   36 +-
 Zend/tests/bug31177.phpt                           |   88 +-
 Zend/tests/bug31525.phpt                           |   44 +-
 Zend/tests/bug31828.phpt                           |   50 +-
 Zend/tests/bug32080.phpt                           |   36 +-
 Zend/tests/bug32296.phpt                           |  120 +-
 Zend/tests/bug32322.phpt                           |  160 +-
 Zend/tests/bug32427.phpt                           |   38 +-
 Zend/tests/bug32428.phpt                           |   26 +-
 Zend/tests/bug32596.phpt                           |   54 +-
 Zend/tests/bug32660.phpt                           |   78 +-
 Zend/tests/bug32674.phpt                           |  124 +-
 Zend/tests/bug32799.phpt                           |   42 +-
 Zend/tests/bug32833.phpt                           |   20 +-
 Zend/tests/bug32852.phpt                           |   76 +-
 Zend/tests/bug32993.phpt                           |   58 +-
 Zend/tests/bug33116.phpt                           |   44 +-
 Zend/tests/bug33171.phpt                           |   54 +-
 Zend/tests/bug33243.phpt                           |   50 +-
 Zend/tests/bug33257.phpt                           |   50 +-
 Zend/tests/bug33277.phpt                           |   56 +-
 Zend/tests/bug33318.phpt                           |   14 +-
 Zend/tests/bug33558.phpt                           |   42 +-
 Zend/tests/bug33732.phpt                           |   90 +-
 Zend/tests/bug33996.phpt                           |   58 +-
 Zend/tests/bug33999.phpt                           |   60 +-
 Zend/tests/bug34064.phpt                           |   70 +-
 Zend/tests/bug34065.phpt                           |   30 +-
 Zend/tests/bug34137.phpt                           |   20 +-
 Zend/tests/bug34260.phpt                           |   72 +-
 Zend/tests/bug34467.phpt                           |   54 +-
 Zend/tests/bug34518.phpt                           |   76 +-
 Zend/tests/bug34617.phpt                           |   36 +-
 Zend/tests/bug34712.phpt                           |   56 +-
 Zend/tests/bug34767.phpt                           |   66 +-
 Zend/tests/bug34786.phpt                           |   44 +-
 Zend/tests/bug34879.phpt                           |   20 +-
 Zend/tests/bug34893.phpt                           |   66 +-
 Zend/tests/bug35017.phpt                           |   42 +-
 Zend/tests/bug35106.phpt                           |   28 +-
 Zend/tests/bug35239.phpt                           |   82 +-
 Zend/tests/bug35393.phpt                           |   60 +-
 Zend/tests/bug35411.phpt                           |   38 +-
 Zend/tests/bug35437.phpt                           |   54 +-
 Zend/tests/bug35470.phpt                           |   22 +-
 Zend/tests/bug36071.phpt                           |   20 +-
 Zend/tests/bug36214.phpt                           |  108 +-
 Zend/tests/bug36303.phpt                           |   24 +-
 Zend/tests/bug36513.phpt                           |   44 +-
 Zend/tests/bug36568.phpt                           |   30 +-
 Zend/tests/bug37046.phpt                           |   46 +-
 Zend/tests/bug37144.phpt                           |   32 +-
 Zend/tests/bug37715.phpt                           |   58 +-
 Zend/tests/bug38146.phpt                           |   38 +-
 Zend/tests/bug38211.phpt                           |   20 +-
 Zend/tests/bug38220.phpt                           |  184 +-
 Zend/tests/bug38234.phpt                           |   36 +-
 Zend/tests/bug38287.phpt                           |   90 +-
 Zend/tests/bug38469.phpt                           |  108 +-
 Zend/tests/bug38623.phpt                           |   32 +-
 Zend/tests/bug38942.phpt                           |   34 +-
 Zend/tests/bug39017.phpt                           |   22 +-
 Zend/tests/bug39297.phpt                           |   90 +-
 Zend/tests/bug39304.phpt                           |   22 +-
 Zend/tests/bug39438.phpt                           |   90 +-
 Zend/tests/bug39445.phpt                           |   32 +-
 Zend/tests/bug39449.phpt                           |   80 +-
 Zend/tests/bug39542.phpt                           |   48 +-
 Zend/tests/bug39542/bug39542.php                   |   14 +-
 Zend/tests/bug39775.phpt                           |   40 +-
 Zend/tests/bug39825.phpt                           |   26 +-
 Zend/tests/bug39990.phpt                           |   34 +-
 Zend/tests/bug40236.inc                            |   18 +-
 Zend/tests/bug40236.phpt                           |   34 +-
 Zend/tests/bug40261.phpt                           |   50 +-
 Zend/tests/bug40509.phpt                           |   52 +-
 Zend/tests/bug40705.phpt                           |   52 +-
 Zend/tests/bug40757.phpt                           |   56 +-
 Zend/tests/bug40770.phpt                           |   44 +-
 Zend/tests/bug40809.phpt                           |   66 +-
 Zend/tests/bug41633_1.phpt                         |   24 +-
 Zend/tests/bug41633_2.phpt                         |   22 +-
 Zend/tests/bug41633_3.phpt                         |   24 +-
 Zend/tests/bug41633_4.phpt                         |   24 +-
 Zend/tests/bug41929.phpt                           |   48 +-
 Zend/tests/bug41961.phpt                           |   58 +-
 Zend/tests/bug43450.phpt                           |   70 +-
 Zend/tests/bug47109.phpt                           |   22 +-
 Zend/tests/bug48693.phpt                           |   28 +
 Zend/tests/bug48770.phpt                           |   51 +
 Zend/tests/bug49269.phpt                           |   26 +
 Zend/tests/catch.phpt                              |   46 +-
 Zend/tests/catch_002.phpt                          |   66 +-
 Zend/tests/catch_003.phpt                          |   76 +-
 Zend/tests/catch_004.phpt                          |   86 +-
 Zend/tests/function_exists_error.phpt              |    1 -
 Zend/tests/get_required_files.phpt                 |   16 +
 Zend/tests/halt01.phpt                             |   24 +-
 Zend/tests/halt02.phpt                             |   26 +-
 Zend/tests/halt03.phpt                             |   20 +-
 Zend/tests/instanceof.phpt                         |   36 +-
 Zend/tests/is_a.phpt                               |  100 +-
 Zend/tests/object_handlers.phpt                    |  342 ++--
 Zend/tests/selfParent_001.phpt                     |   54 +-
 Zend/tests/selfParent_002.phpt                     |   52 +-
 Zend/tests/unexpected_ref_bug.phpt                 |   18 +
 Zend/tests/unset_cv01.phpt                         |   26 +-
 Zend/tests/unset_cv02.phpt                         |   26 +-
 Zend/tests/unset_cv03.phpt                         |   26 +-
 Zend/tests/unset_cv04.phpt                         |   32 +-
 Zend/tests/unset_cv05.phpt                         |   56 +-
 Zend/tests/unset_cv06.phpt                         |   52 +-
 Zend/tests/unset_cv07.phpt                         |    2 -
 Zend/tests/unset_cv08.phpt                         |   30 +-
 Zend/tests/unset_cv09.phpt                         |   28 +-
 Zend/tests/unset_cv10.phpt                         |   36 +-
 Zend/tests/unset_cv11.phpt                         |   42 +-
 Zend/tests/unset_cv12.phpt                         |   22 +-
 Zend/tests/zend_operators.phpt                     |    2 +-
 Zend/zend.c                                        |    2 +-
 Zend/zend.h                                        |    2 +-
 Zend/zend_API.c                                    |   22 +-
 Zend/zend_API.h                                    |    2 +-
 Zend/zend_alloc.c                                  |    2 +-
 Zend/zend_alloc.h                                  |    4 +-
 Zend/zend_arg_defs.c                               |    2 +-
 Zend/zend_builtin_functions.c                      |   17 +-
 Zend/zend_builtin_functions.h                      |    2 +-
 Zend/zend_compile.c                                |    2 +-
 Zend/zend_compile.h                                |    2 +-
 Zend/zend_config.nw.h                              |    2 +-
 Zend/zend_config.w32.h                             |    2 +-
 Zend/zend_constants.c                              |    2 +-
 Zend/zend_constants.h                              |    2 +-
 Zend/zend_default_classes.c                        |    2 +-
 Zend/zend_dynamic_array.c                          |    2 +-
 Zend/zend_dynamic_array.h                          |    2 +-
 Zend/zend_errors.h                                 |    2 +-
 Zend/zend_exceptions.c                             |    2 +-
 Zend/zend_exceptions.h                             |    2 +-
 Zend/zend_execute.c                                |    2 +-
 Zend/zend_execute.h                                |    2 +-
 Zend/zend_execute_API.c                            |   15 +-
 Zend/zend_extensions.c                             |    2 +-
 Zend/zend_extensions.h                             |    2 +-
 Zend/zend_fast_cache.h                             |    2 +-
 Zend/zend_globals.h                                |    2 +-
 Zend/zend_globals_macros.h                         |    2 +-
 Zend/zend_hash.c                                   |    2 +-
 Zend/zend_hash.h                                   |    2 +-
 Zend/zend_highlight.c                              |    2 +-
 Zend/zend_highlight.h                              |    2 +-
 Zend/zend_indent.c                                 |    2 +-
 Zend/zend_indent.h                                 |    2 +-
 Zend/zend_ini.c                                    |   17 +-
 Zend/zend_ini.h                                    |    2 +-
 Zend/zend_ini_parser.c                             |    2 +-
 Zend/zend_ini_parser.y                             |    2 +-
 Zend/zend_ini_scanner.c                            |    4 +-
 Zend/zend_ini_scanner.h                            |    2 +-
 Zend/zend_ini_scanner.l                            |    2 +-
 Zend/zend_interfaces.c                             |    2 +-
 Zend/zend_interfaces.h                             |    2 +-
 Zend/zend_istdiostream.h                           |    2 +-
 Zend/zend_iterators.c                              |    2 +-
 Zend/zend_iterators.h                              |    2 +-
 Zend/zend_language_parser.c                        |    2 +-
 Zend/zend_language_parser.y                        |    2 +-
 Zend/zend_language_scanner.c                       |    4 +-
 Zend/zend_language_scanner.h                       |    2 +-
 Zend/zend_language_scanner.l                       |    2 +-
 Zend/zend_list.c                                   |    2 +-
 Zend/zend_list.h                                   |    2 +-
 Zend/zend_llist.c                                  |    2 +-
 Zend/zend_llist.h                                  |    2 +-
 Zend/zend_modules.h                                |    2 +-
 Zend/zend_multibyte.c                              |    2 +-
 Zend/zend_multibyte.h                              |    2 +-
 Zend/zend_multiply.h                               |    2 +-
 Zend/zend_object_handlers.c                        |    2 +-
 Zend/zend_object_handlers.h                        |    2 +-
 Zend/zend_objects.c                                |    2 +-
 Zend/zend_objects.h                                |    2 +-
 Zend/zend_objects_API.c                            |    2 +-
 Zend/zend_objects_API.h                            |    2 +-
 Zend/zend_opcode.c                                 |    2 +-
 Zend/zend_operators.c                              |    2 +-
 Zend/zend_operators.h                              |    2 +-
 Zend/zend_ptr_stack.c                              |    2 +-
 Zend/zend_ptr_stack.h                              |    2 +-
 Zend/zend_qsort.c                                  |    2 +-
 Zend/zend_qsort.h                                  |    2 +-
 Zend/zend_sprintf.c                                |    2 +-
 Zend/zend_stack.c                                  |    2 +-
 Zend/zend_stack.h                                  |    2 +-
 Zend/zend_static_allocator.c                       |    2 +-
 Zend/zend_static_allocator.h                       |    2 +-
 Zend/zend_stream.c                                 |    2 +-
 Zend/zend_stream.h                                 |    2 +-
 Zend/zend_strtod.c                                 |    2 +-
 Zend/zend_strtod.h                                 |    2 +-
 Zend/zend_ts_hash.c                                |    2 +-
 Zend/zend_ts_hash.h                                |    2 +-
 Zend/zend_types.h                                  |    2 +-
 Zend/zend_variables.c                              |    2 +-
 Zend/zend_variables.h                              |    2 +-
 Zend/zend_vm.h                                     |    2 +-
 Zend/zend_vm_def.h                                 |   19 +-
 Zend/zend_vm_execute.h                             |   60 +-
 Zend/zend_vm_gen.php                               |    2 +-
 acconfig.h                                         |    2 +-
 acinclude.m4                                       |    4 +-
 aclocal.m4                                         |    4 +-
 build/build.mk                                     |   30 +-
 build/build2.mk                                    |    2 +-
 build/buildcheck.sh                                |    6 +-
 build/config-stubs                                 |    2 +-
 build/genif.sh                                     |    2 +-
 build/mkdep.awk                                    |    2 +-
 buildconf                                          |   33 +-
 configure                                          | 1468 +++++----
 configure.in                                       |   19 +-
 cvsclean                                           |    3 -
 cvsclean.bat                                       |    2 -
 ext/bcmath/bcmath.c                                |    2 +-
 ext/bcmath/config.m4                               |    2 +-
 ext/bcmath/config.w32                              |    2 +-
 ext/bcmath/php_bcmath.h                            |   16 +-
 ext/bcmath/tests/bcdiv_error1.phpt                 |   14 +
 ext/bcmath/tests/bcdiv_error2.phpt                 |   13 +
 ext/bcmath/tests/bcmod_error1.phpt                 |   13 +
 ext/bcmath/tests/bcpowmod_error1.phpt              |   13 +
 ext/bcmath/tests/bcpowmod_error2.phpt              |   13 +
 ext/bcmath/tests/bcpowmod_error3.phpt              |   13 +
 ext/bcmath/tests/bcsqrt_error1.phpt                |   13 +
 ext/bz2/bz2.c                                      |    2 +-
 ext/bz2/bz2_filter.c                               |    2 +-
 ext/bz2/config.m4                                  |    2 +-
 ext/bz2/config.w32                                 |    2 +-
 ext/bz2/php_bz2.h                                  |    2 +-
 ext/bz2/tests/bz2_filter_compress.phpt             |    2 +-
 ext/bz2/tests/bz2_filter_decompress.phpt           |    2 +-
 ext/bz2/tests/with_files.phpt                      |    2 +-
 ext/bz2/tests/with_strings.phpt                    |    2 +-
 ext/calendar/calendar.c                            |    2 +-
 ext/calendar/config.m4                             |    2 +-
 ext/calendar/config.w32                            |    2 +-
 ext/com_dotnet/com_com.c                           |    2 +-
 ext/com_dotnet/com_dotnet.c                        |    2 +-
 ext/com_dotnet/com_extension.c                     |    2 +-
 ext/com_dotnet/com_handlers.c                      |    2 +-
 ext/com_dotnet/com_iterator.c                      |    2 +-
 ext/com_dotnet/com_misc.c                          |    2 +-
 ext/com_dotnet/com_olechar.c                       |    2 +-
 ext/com_dotnet/com_persist.c                       |    2 +-
 ext/com_dotnet/com_saproxy.c                       |    2 +-
 ext/com_dotnet/com_typeinfo.c                      |    2 +-
 ext/com_dotnet/com_variant.c                       |    2 +-
 ext/com_dotnet/com_wrapper.c                       |    2 +-
 ext/com_dotnet/config.w32                          |    2 +-
 ext/com_dotnet/php_com_dotnet.h                    |    2 +-
 ext/com_dotnet/php_com_dotnet_internal.h           |    2 +-
 ext/com_dotnet/tests/27974.phpt                    |    2 +-
 ext/com_dotnet/tests/bug39606.phpt                 |    2 +-
 ext/com_dotnet/tests/bug45280.phpt                 |   19 +
 ext/com_dotnet/tests/variants.phpt                 |    2 +-
 ext/ctype/config.m4                                |    2 +-
 ext/ctype/config.w32                               |    2 +-
 ext/curl/config.m4                                 |    4 +-
 ext/curl/config.w32                                |    2 +-
 ext/curl/interface.c                               |   87 +-
 ext/curl/multi.c                                   |    2 +-
 ext/curl/php_curl.h                                |    3 +-
 ext/curl/streams.c                                 |   26 +-
 ext/curl/tests/bug46739.phpt                       |    3 -
 ext/curl/tests/bug48207.phpt                       |   47 +
 ext/curl/tests/curl_CURLOPT_READDATA.phpt          |   44 +
 ext/curl/tests/curl_close_basic.phpt               |   19 +
 ext/curl/tests/curl_copy_handle_basic.phpt         |   30 +
 ext/curl/tests/curl_copy_handle_basic_001.phpt     |   42 +
 ext/curl/tests/curl_copy_handle_basic_002.phpt     |   49 +
 ext/curl/tests/curl_copy_handle_basic_004.phpt     |   44 +
 ext/curl/tests/curl_copy_handle_basic_005.phpt     |   52 +
 ext/curl/tests/curl_copy_handle_basic_006.phpt     |   37 +
 ext/curl/tests/curl_copy_handle_basic_007.phpt     |   45 +
 ext/curl/tests/curl_copy_handle_variation1.phpt    |   32 +
 ext/curl/tests/curl_copy_handle_variation2.phpt    |   44 +
 ext/curl/tests/curl_error_basic.phpt               |   33 +
 ext/curl/tests/curl_multi_close_basic.phpt         |   19 +
 ext/curl/tests/curl_multi_getcontent_basic3.phpt   |   59 +
 ext/curl/tests/curl_multi_getcontent_error1.phpt   |   51 +
 ext/curl/tests/curl_multi_getcontent_error2.phpt   |   51 +
 ext/curl/tests/curl_multi_getcontent_error3.phpt   |   53 +
 ext/curl/tests/curl_multi_getcontent_error4.phpt   |   66 +
 ext/curl/tests/curl_multi_init_basic.phpt          |   31 +
 ext/curl/tests/curl_multi_select_basic1.phpt       |   27 +
 ...setopt_CURLOPT_FOLLOWLOCATION_open_basedir.phpt |   22 +
 .../tests/curl_setopt_CURLOPT_READFUNCTION.phpt    |   54 +
 ext/curl/tests/curl_setopt_array_basic.phpt        |   55 +
 ext/curl/tests/curl_setopt_basic001.phpt           |   35 +
 ext/curl/tests/curl_setopt_basic002.phpt           |   50 +
 ext/curl/tests/curl_setopt_basic003.phpt           |   43 +
 ext/curl/tests/curl_setopt_basic004.phpt           |   44 +
 ext/curl/tests/curl_setopt_error.phpt              |   41 +
 ext/curl/tests/curl_testdata1.txt                  |    1 +
 ext/curl/tests/curl_testdata2.txt                  |    1 +
 ext/curl/tests/curl_version_error.phpt             |   32 +
 ext/curl/tests/curl_version_variation1.phpt        |  162 +
 ext/curl/tests/curl_write_callback.phpt            |   36 +
 ext/curl/tests/curl_write_file.phpt                |   38 +
 ext/curl/tests/curl_write_return.phpt              |   33 +
 ext/curl/tests/curl_write_stdout.phpt              |   30 +
 ext/curl/tests/curl_writeheader_callback.phpt      |   30 +
 ext/curl/tests/responder/get.php                   |    3 +
 ext/date/config.w32                                |    2 +-
 ext/date/config0.m4                                |    2 +-
 ext/date/lib/astro.c                               |    2 +-
 ext/date/lib/dow.c                                 |    2 +-
 ext/date/lib/parse_date.c                          |    2 +-
 ext/date/lib/parse_date.c.orig                     |    2 +-
 ext/date/lib/parse_date.re                         |    2 +-
 ext/date/lib/parse_tz.c                            |    2 +-
 ext/date/lib/timelib.c                             |    2 +-
 ext/date/lib/timelib.h                             |    2 +-
 ext/date/lib/timelib.m4                            |    2 +-
 ext/date/lib/timelib_config.h.win32                |    2 +-
 ext/date/lib/timelib_structs.h                     |    2 +-
 ext/date/lib/timezonedb.h                          | 1368 +++++-----
 ext/date/lib/tm2unixtime.c                         |    2 +-
 ext/date/lib/unixtime2tm.c                         |    2 +-
 ext/date/php_date.c                                |   14 +-
 ext/date/php_date.h                                |    2 +-
 ext/date/tests/bug27719.phpt                       |    2 +-
 ext/date/tests/bug48276.phpt                       |    9 +
 .../tests/cal_days_in_month_invalid_calendar.phpt  |   16 +
 ext/date/tests/cal_days_in_month_invalid_date.phpt |   16 +
 ext/date/tests/gmstrftime_variation22.phpt         |    4 +
 ext/date/tests/strftime_variation22.phpt           |    3 +
 ext/date/tests/strtotime_basic.phpt                |   12 +-
 ext/dba/config.m4                                  |    2 +-
 ext/dba/config.w32                                 |    2 +-
 ext/dba/dba.c                                      |    2 +-
 ext/dba/dba_cdb.c                                  |    2 +-
 ext/dba/dba_db1.c                                  |    2 +-
 ext/dba/dba_db2.c                                  |    2 +-
 ext/dba/dba_db3.c                                  |    2 +-
 ext/dba/dba_db4.c                                  |   10 +-
 ext/dba/dba_dbm.c                                  |    2 +-
 ext/dba/dba_flatfile.c                             |    2 +-
 ext/dba/dba_gdbm.c                                 |    2 +-
 ext/dba/dba_inifile.c                              |    2 +-
 ext/dba/dba_ndbm.c                                 |    2 +-
 ext/dba/dba_qdbm.c                                 |    2 +-
 ext/dba/install_cdb.sh                             |    2 +-
 ext/dba/libcdb/cdb.c                               |    4 +-
 ext/dba/libcdb/cdb.h                               |    2 +-
 ext/dba/libcdb/cdb_make.c                          |    4 +-
 ext/dba/libcdb/cdb_make.h                          |    2 +-
 ext/dba/libcdb/uint32.c                            |    2 +-
 ext/dba/libcdb/uint32.h                            |    2 +-
 ext/dba/libflatfile/flatfile.c                     |    4 +-
 ext/dba/libflatfile/flatfile.h                     |    2 +-
 ext/dba/libinifile/inifile.c                       |    4 +-
 ext/dba/libinifile/inifile.h                       |    2 +-
 ext/dba/php_dba.h                                  |    2 +-
 ext/dba/tests/bug36436.phpt                        |    4 +-
 ext/dba/tests/bug48240.phpt                        |    4 +-
 ext/dba/tests/bug49125.phpt                        |   27 +
 ext/dba/tests/dba001.phpt                          |    6 +-
 ext/dba/tests/dba002.phpt                          |    4 +-
 ext/dba/tests/dba003.phpt                          |    4 +-
 ext/dba/tests/dba004.phpt                          |    4 +-
 ext/dba/tests/dba005.phpt                          |    4 +-
 ext/dba/tests/dba006.phpt                          |    6 +-
 ext/dba/tests/dba007.phpt                          |    4 +-
 ext/dba/tests/dba008.phpt                          |    4 +-
 ext/dba/tests/dba009.phpt                          |    4 +-
 ext/dba/tests/dba_cdb.phpt                         |    6 +-
 ext/dba/tests/dba_cdb_make.phpt                    |    4 +-
 ext/dba/tests/dba_cdb_read.phpt                    |    4 +-
 ext/dba/tests/dba_db1.phpt                         |    6 +-
 ext/dba/tests/dba_db2.phpt                         |    6 +-
 ext/dba/tests/dba_db3.phpt                         |    6 +-
 ext/dba/tests/dba_db4.phpt                         |    6 +-
 ext/dba/tests/dba_dbm.phpt                         |    6 +-
 ext/dba/tests/dba_flatfile.phpt                    |    6 +-
 ext/dba/tests/dba_gdbm.phpt                        |    6 +-
 ext/dba/tests/dba_inifile.phpt                     |    6 +-
 ext/dba/tests/dba_ndbm.phpt                        |    6 +-
 ext/dba/tests/dba_qdbm.phpt                        |    6 +-
 ext/dba/tests/test.inc                             |    4 +-
 ext/dom/attr.c                                     |    2 +-
 ext/dom/cdatasection.c                             |    2 +-
 ext/dom/characterdata.c                            |    2 +-
 ext/dom/comment.c                                  |    2 +-
 ext/dom/config.m4                                  |    2 +-
 ext/dom/config.w32                                 |    2 +-
 ext/dom/document.c                                 |    2 +-
 ext/dom/documentfragment.c                         |    2 +-
 ext/dom/documenttype.c                             |    2 +-
 ext/dom/dom_ce.h                                   |    2 +-
 ext/dom/dom_fe.h                                   |    2 +-
 ext/dom/dom_iterators.c                            |    2 +-
 ext/dom/dom_properties.h                           |    2 +-
 ext/dom/domconfiguration.c                         |    2 +-
 ext/dom/domerror.c                                 |    2 +-
 ext/dom/domerrorhandler.c                          |    2 +-
 ext/dom/domexception.c                             |    2 +-
 ext/dom/domimplementation.c                        |    2 +-
 ext/dom/domimplementationlist.c                    |    2 +-
 ext/dom/domimplementationsource.c                  |    2 +-
 ext/dom/domlocator.c                               |    2 +-
 ext/dom/domstringlist.c                            |    2 +-
 ext/dom/element.c                                  |    2 +-
 ext/dom/entity.c                                   |    2 +-
 ext/dom/entityreference.c                          |    2 +-
 ext/dom/namednodemap.c                             |    2 +-
 ext/dom/namelist.c                                 |    2 +-
 ext/dom/node.c                                     |    2 +-
 ext/dom/nodelist.c                                 |    2 +-
 ext/dom/notation.c                                 |    2 +-
 ext/dom/php_dom.c                                  |    2 +-
 ext/dom/php_dom.h                                  |    2 +-
 ext/dom/processinginstruction.c                    |    2 +-
 ext/dom/string_extend.c                            |    2 +-
 ext/dom/tests/DOMAttr_value_basic_001.phpt         |   16 +
 .../tests/DOMCharacterData_appendData_basic.phpt   |    7 +-
 ext/dom/tests/DOMCharacterData_data_basic_002.phpt |   28 +
 .../tests/DOMCharacterData_length_error_001.phpt   |   17 +
 .../DOMCharacterData_substringData_basic_001.phpt  |   21 +
 ext/dom/tests/DOMDocument_config_basic.phpt        |   26 +
 .../DOMDocument_createEntityReference_basic.phpt   |   19 +
 ext/dom/tests/DOMDocument_documentURI_basic.phpt   |   39 +
 ext/dom/tests/DOMDocument_encoding_basic.phpt      |   52 +
 .../DOMDocument_implementationRead_basic.phpt      |   21 +
 .../DOMDocument_preserveWhiteSpace_basic.phpt      |   23 +
 .../DOMDocument_preserveWhiteSpace_variations.phpt |   40 +
 .../tests/DOMDocument_resolveExternals_basic.phpt  |   49 +
 ext/dom/tests/DOMDocument_saveHTMLFile_basic.phpt  |   29 +
 ext/dom/tests/DOMDocument_saveHTMLFile_error1.phpt |   24 +
 ext/dom/tests/DOMDocument_saveHTMLFile_error2.phpt |   15 +
 .../DOMDocument_saveHTMLFile_formatOutput.phpt     |   33 +
 .../DOMDocument_saveHTMLFile_invalid_filename.phpt |   25 +
 ext/dom/tests/DOMDocument_saveHTML_basic.phpt      |   24 +
 ext/dom/tests/DOMDocument_saveHTML_error1.phpt     |   24 +
 ext/dom/tests/DOMDocument_saveHTML_error2.phpt     |   15 +
 .../DOMDocument_schemaValidateSource_basic.phpt    |   22 +
 .../DOMDocument_schemaValidateSource_error1.phpt   |   29 +
 .../DOMDocument_schemaValidateSource_error2.phpt   |   23 +
 .../DOMDocument_schemaValidateSource_error3.phpt   |   21 +
 .../DOMDocument_schemaValidateSource_error4.phpt   |   21 +
 .../tests/DOMDocument_schemaValidate_basic.phpt    |   20 +
 .../tests/DOMDocument_schemaValidate_error1.phpt   |   29 +
 .../tests/DOMDocument_schemaValidate_error2.phpt   |   21 +
 .../tests/DOMDocument_schemaValidate_error3.phpt   |   21 +
 .../tests/DOMDocument_schemaValidate_error4.phpt   |   21 +
 .../tests/DOMDocument_schemaValidate_error5.phpt   |   25 +
 ext/dom/tests/DOMDocument_standalone_basic.phpt    |   48 +
 .../DOMDocument_strictErrorChecking_basic.phpt     |   22 +
 .../DOMDocument_strictErrorChecking_variation.phpt |   59 +
 ext/dom/tests/DOMDocument_validate_basic.phpt      |   31 +
 ext/dom/tests/DOMDocument_validate_error1.phpt     |   16 +
 ext/dom/tests/DOMDocument_validate_error2.phpt     |   15 +
 .../tests/DOMDocument_validate_external_dtd.phpt   |   19 +
 .../tests/DOMDocument_validate_on_parse_basic.phpt |   38 +
 .../DOMDocument_validate_on_parse_variation.phpt   |   49 +
 ext/dom/tests/DOMText_appendData_basic.phpt        |    7 +-
 ext/dom/tests/book-non-conforming-schema.xsd       |   17 +
 ext/dom/tests/book-not-a-schema.xsd                |    1 +
 ext/dom/tests/book.xsd                             |   17 +
 ext/dom/tests/bug42082.phpt                        |    7 +-
 ext/dom/tests/bug43364.phpt                        |    5 +
 .../tests/domdocument_createcomment_error_001.phpt |   16 +
 .../domdocument_createentityreference_001.phpt     |   18 +
 .../domdocument_createentityreference_002.phpt     |   17 +
 ext/dom/text.c                                     |    2 +-
 ext/dom/typeinfo.c                                 |    2 +-
 ext/dom/userdatahandler.c                          |    2 +-
 ext/dom/xml_common.h                               |    2 +-
 ext/dom/xpath.c                                    |    2 +-
 ext/exif/config.m4                                 |    2 +-
 ext/exif/config.w32                                |    2 +-
 ext/exif/example.php                               |    2 +-
 ext/exif/exif.c                                    |   26 +-
 ext/exif/php_exif.h                                |    2 +-
 ext/exif/test.txt                                  |    2 +-
 ext/ext_skel_win32.php                             |    2 +-
 ext/fbsql/config.m4                                |    2 +-
 ext/fbsql/config.w32                               |    2 +-
 ext/fbsql/php_fbsql.c                              |    2 +-
 ext/fbsql/php_fbsql.h                              |    2 +-
 ext/fdf/config.m4                                  |    2 +-
 ext/fdf/config.w32                                 |    2 +-
 ext/fdf/fdf.c                                      |    2 +-
 ext/fdf/php_fdf.h                                  |    2 +-
 ext/filter/callback_filter.c                       |    2 +-
 ext/filter/config.m4                               |    2 +-
 ext/filter/config.w32                              |    2 +-
 ext/filter/docs/filter.txt                         |    2 +-
 ext/filter/filter.c                                |   17 +-
 ext/filter/filter_private.h                        |    2 +-
 ext/filter/logical_filters.c                       |   15 +-
 ext/filter/php_filter.h                            |    2 +-
 ext/filter/sanitizing_filters.c                    |    4 +-
 ext/filter/tests/016.phpt                          |   14 +-
 ext/filter/tests/045.phpt                          |   60 +-
 ext/filter/tests/046.phpt                          |   46 +-
 ext/filter/tests/047.phpt                          |   74 +-
 ext/filter/tests/048.phpt                          |   82 +-
 ext/filter/tests/049.phpt                          |   68 +-
 ext/filter/tests/050.phpt                          |   58 +-
 ext/filter/tests/051.phpt                          |   22 +-
 ext/filter/tests/bug42718.phpt                     |    3 +-
 ext/filter/tests/bug48762.phpt                     |   12 +
 ext/filter/tests/bug49274.phpt                     |   10 +
 ext/ftp/config.m4                                  |    2 +-
 ext/ftp/config.w32                                 |    2 +-
 ext/ftp/ftp.c                                      |   12 +-
 ext/ftp/ftp.h                                      |    2 +-
 ext/ftp/php_ftp.c                                  |    2 +-
 ext/ftp/php_ftp.h                                  |    2 +-
 ext/ftp/tests/ftp_alloc_basic1.phpt                |   21 +
 ext/ftp/tests/ftp_alloc_basic2.phpt                |   23 +
 ext/ftp/tests/ftp_chmod_basic.phpt                 |   21 +
 ext/ftp/tests/ftp_exec_basic.phpt                  |   21 +
 ext/ftp/tests/ftp_fget_basic1.phpt                 |   32 +
 ext/ftp/tests/ftp_fget_basic2.phpt                 |   32 +
 ext/ftp/tests/ftp_fget_basic3.phpt                 |   32 +
 ext/ftp/tests/ftp_nb_fget_basic1.phpt              |   32 +
 ext/ftp/tests/ftp_nb_fget_basic2.phpt              |   32 +
 ext/ftp/tests/ftp_nb_fget_basic3.phpt              |   32 +
 ext/ftp/tests/ftp_rawlist_basic2.phpt              |   21 +
 ext/ftp/tests/ftp_rmdir_basic.phpt                 |   21 +
 ext/ftp/tests/server.inc                           |  542 ++--
 ext/gd/config.m4                                   |    2 +-
 ext/gd/config.w32                                  |    2 +-
 ext/gd/gd.c                                        |    3 +-
 ext/gd/gd_ctx.c                                    |    2 +-
 ext/gd/gdcache.c                                   |    2 +-
 ext/gd/gdcache.h                                   |    2 +-
 ext/gd/gdttf.c                                     |    2 +-
 ext/gd/gdttf.h                                     |    2 +-
 ext/gd/libgd/gd.c                                  |   50 +-
 ext/gd/libgd/gdft.c                                |   59 +-
 ext/gd/libgd/xbm.c                                 |    2 +-
 ext/gd/php_gd.h                                    |    2 +-
 ext/gd/tests/Tuffy.ttf                             |  Bin 0 -> 18444 bytes
 ext/gd/tests/bug42434.phpt                         |   26 +
 ext/gd/tests/bug43073.phpt                         |   48 +
 ext/gd/tests/bug48555.phpt                         |   19 +
 ext/gd/tests/bug48732.phpt                         |   22 +
 ext/gd/tests/bug48801.phpt                         |   22 +
 ext/gd/tests/gif.phpt                              |    2 +-
 ext/gd/tests/imageantialias_error1.phpt            |   18 +
 ext/gd/tests/imageantialias_error2.phpt            |   23 +
 ext/gd/tests/imagearc_basic.phpt                   |   28 +
 ext/gd/tests/imagearc_error1.phpt                  |   29 +
 ext/gd/tests/imagearc_variation1.phpt              |   28 +
 ext/gd/tests/imagearc_variation2.phpt              |   28 +
 ext/gd/tests/imagechar_basic.phpt                  |   25 +
 ext/gd/tests/imagechar_error1.phpt                 |   17 +
 ext/gd/tests/imagechar_error2.phpt                 |   17 +
 ext/gd/tests/imagecharup_basic.phpt                |   25 +
 ext/gd/tests/imagecharup_error1.phpt               |   17 +
 ext/gd/tests/imagecharup_error2.phpt               |   17 +
 ext/gd/tests/imagecolorallocate_variation3.phpt    |   10 +-
 ext/gd/tests/imagecolorallocate_variation4.phpt    |    2 +-
 ext/gd/tests/imagecolorallocatealpha_basic.phpt    |   30 +
 ext/gd/tests/imagecolorallocatealpha_error1.phpt   |   25 +
 ext/gd/tests/imagecolorallocatealpha_error2.phpt   |   22 +
 ext/gd/tests/imagecolorallocatealpha_error3.phpt   |   22 +
 ext/gd/tests/imagecolorallocatealpha_error4.phpt   |   22 +
 ext/gd/tests/imagecolorallocatealpha_error5.phpt   |   22 +
 ext/gd/tests/imagecolordeallocate_basic.phpt       |   21 +
 ext/gd/tests/imagecolordeallocate_error1.phpt      |   22 +
 ext/gd/tests/imagecolordeallocate_error2.phpt      |   19 +
 ext/gd/tests/imagecolordeallocate_error3.phpt      |   22 +
 ext/gd/tests/imagecolordeallocate_error4.phpt      |   22 +
 ext/gd/tests/imagecolormatch_basic.phpt            |   19 +
 ext/gd/tests/imagecolormatch_error1.phpt           |   18 +
 ext/gd/tests/imagecolormatch_error2.phpt           |   20 +
 ext/gd/tests/imagecolormatch_error3.phpt           |   20 +
 ext/gd/tests/imagecolormatch_error4.phpt           |   20 +
 ext/gd/tests/imagecolorset_basic.phpt              |   35 +
 ext/gd/tests/imageconvolution_basic.phpt           |   33 +
 ext/gd/tests/imageconvolution_error1.phpt          |   27 +
 ext/gd/tests/imageconvolution_error2.phpt          |   26 +
 ext/gd/tests/imageconvolution_error3.phpt          |   27 +
 ext/gd/tests/imagecopymerge_basic.phpt             |   30 +
 ext/gd/tests/imagecopymerge_error.phpt             |   17 +
 ext/gd/tests/imagecreatetruecolor_basic.phpt       |   22 +
 ext/gd/tests/imagecreatetruecolor_error1.phpt      |   18 +
 ext/gd/tests/imagecreatetruecolor_error2.phpt      |   24 +
 ext/gd/tests/imagecreatetruecolor_error3.phpt      |   21 +
 ext/gd/tests/imageellipse_basic.phpt               |   27 +
 ext/gd/tests/imageellipse_error1.phpt              |   21 +
 ext/gd/tests/imageellipse_error7.phpt              |   20 +
 ext/gd/tests/imageellipse_error8.phpt              |   21 +
 ext/gd/tests/imagefilledarc_basic.phpt             |   28 +
 ext/gd/tests/imagefilledarc_error1.phpt            |   29 +
 ext/gd/tests/imagefilledarc_variation1.phpt        |   28 +
 ext/gd/tests/imagefilledarc_variation2.phpt        |   28 +
 ext/gd/tests/imagefilltoborder_basic.phpt          |   33 +
 ext/gd/tests/imagefilltoborder_error1.phpt         |   26 +
 ext/gd/tests/imagefilltoborder_error6.phpt         |   29 +
 ext/gd/tests/imagefilltoborder_error7.phpt         |   26 +
 ext/gd/tests/imagefilter_error1.phpt               |   18 +
 ext/gd/tests/imagefilter_error10.phpt              |   18 +
 ext/gd/tests/imagefilter_error11.phpt              |   18 +
 ext/gd/tests/imagefilter_error12.phpt              |   18 +
 ext/gd/tests/imagefilter_error13.phpt              |   17 +
 ext/gd/tests/imagefilter_error14.phpt              |   18 +
 ext/gd/tests/imagefilter_error15.phpt              |   18 +
 ext/gd/tests/imagefilter_error16.phpt              |   18 +
 ext/gd/tests/imagefilter_error17.phpt              |   18 +
 ext/gd/tests/imagefilter_error18.phpt              |   18 +
 ext/gd/tests/imagefilter_error19.phpt              |   18 +
 ext/gd/tests/imagefilter_error2.phpt               |   18 +
 ext/gd/tests/imagefilter_error20.phpt              |   18 +
 ext/gd/tests/imagefilter_error5.phpt               |   18 +
 ext/gd/tests/imagefilter_error6.phpt               |   18 +
 ext/gd/tests/imagefilter_error7.phpt               |   18 +
 ext/gd/tests/imagefilter_error8.phpt               |   18 +
 ext/gd/tests/imagefilter_error9.phpt               |   18 +
 ext/gd/tests/imagefontheight_basic.phpt            |   19 +
 ext/gd/tests/imagefontwidth_basic.phpt             |   21 +
 ext/gd/tests/imagegammacorrect_basic.phpt          |   32 +
 ext/gd/tests/imagegammacorrect_error1.phpt         |   17 +
 ext/gd/tests/imagegammacorrect_error2.phpt         |   17 +
 ext/gd/tests/imagegammacorrect_variation1.phpt     |   32 +
 ext/gd/tests/imageinterlace_basic.phpt             |   17 +
 ext/gd/tests/imageinterlace_error1.phpt            |   20 +
 ext/gd/tests/imageinterlace_error2.phpt            |   17 +
 ext/gd/tests/imageinterlace_variation1.phpt        |   20 +
 ext/gd/tests/imageinterlace_variation2.phpt        |   24 +
 ext/gd/tests/imageistruecolor_basic.phpt           |   17 +
 ext/gd/tests/imageistruecolor_error1.phpt          |   24 +
 ext/gd/tests/imagelayereffect_basic.phpt           |   27 +
 ext/gd/tests/imagelayereffect_error1.phpt          |   16 +
 ext/gd/tests/imagelayereffect_error3.phpt          |   17 +
 ext/gd/tests/imagerectangle_basic.phpt             |   27 +
 ext/gd/tests/imagerectangle_error1.phpt            |   19 +
 ext/gd/tests/imagerectangle_error2.phpt            |   19 +
 ext/gd/tests/imagerectangle_error3.phpt            |   18 +
 ext/gd/tests/imagerectangle_error8.phpt            |   19 +
 ext/gd/tests/imagesetbrush_basic.phpt              |   37 +
 ext/gd/tests/imagesetthickness_basic.phpt          |   34 +
 ext/gd/tests/imagesetthickness_error1.phpt         |   22 +
 ext/gd/tests/imagesetthickness_error2.phpt         |   24 +
 ext/gd/tests/imagestring_basic.phpt                |   25 +
 ext/gd/tests/imagestring_error1.phpt               |   17 +
 ext/gd/tests/imagestring_error2.phpt               |   17 +
 ext/gd/tests/imagestringup_basic.phpt              |   25 +
 ext/gd/tests/imagestringup_error1.phpt             |   17 +
 ext/gd/tests/imagestringup_error2.phpt             |   17 +
 ext/gd/tests/imagetruecolortopalette_basic.phpt    |   31 +
 ext/gd/tests/imagetruecolortopalette_error1.phpt   |   26 +
 ext/gd/tests/imagetruecolortopalette_error2.phpt   |   23 +
 ext/gd/tests/imagetruecolortopalette_error3.phpt   |   26 +
 ext/gd/tests/imagetruecolortopalette_error4.phpt   |   21 +
 ext/gd/tests/jpeg2wbmp_error1.phpt                 |   42 +
 ext/gd/tests/jpeg2wbmp_error2.phpt                 |   31 +
 ext/gd/tests/jpeg2wbmp_error3.phpt                 |   43 +
 ext/gd/tests/png2wbmp_error1.phpt                  |   42 +
 ext/gd/tests/png2wbmp_error2.phpt                  |   31 +
 ext/gd/tests/png2wbmp_error3.phpt                  |   43 +
 ext/gd/tests/test8859.ttf                          |  Bin 10576 -> 10576 bytes
 ext/gd/tests/truecolor.phpt                        |   19 -
 ext/gettext/config.m4                              |    2 +-
 ext/gettext/config.w32                             |    2 +-
 ext/gettext/gettext.c                              |    2 +-
 ext/gettext/php_gettext.h                          |    2 +-
 ext/gettext/tests/gettext_basic-enus.phpt          |   28 +
 ext/gettext/tests/gettext_basic.phpt               |    2 +-
 .../gettext_bind_textdomain_codeset-retval.phpt    |   22 +
 ...ettext_bind_textdomain_codeset-wrongparams.phpt |   23 +
 ext/gettext/tests/gettext_bindtextdomain-cwd.phpt  |   27 +
 .../tests/gettext_bindtextdomain-emptydomain.phpt  |   16 +
 ext/gettext/tests/gettext_bindtextdomain-path.phpt |   16 +
 .../tests/gettext_bindtextdomain-wrongparams.phpt  |   19 +
 .../tests/gettext_dcgettext-wrongparams.phpt       |   16 +
 ext/gettext/tests/gettext_dcgettext.phpt           |   25 +
 ext/gettext/tests/gettext_dgettext.phpt            |   30 +
 .../tests/gettext_dgettext_error_wrongparams.phpt  |   34 +
 ext/gettext/tests/gettext_dngettext-plural.phpt    |   24 +
 .../tests/gettext_dngettext-wrongparams.phpt       |   23 +
 .../tests/gettext_gettext_error_wrongparams.phpt   |   17 +
 .../tests/gettext_ngettext-wrongparams.phpt        |   33 +
 ext/gettext/tests/gettext_ngettext.phpt            |   26 +
 ext/gettext/tests/gettext_phpinfo.phpt             |   19 +
 ext/gettext/tests/gettext_textdomain-retval.phpt   |   29 +
 .../tests/gettext_textdomain-wrongparams.phpt      |   25 +
 .../tests/locale/en/LC_CTYPE/dgettextTest.mo       |  Bin 0 -> 84 bytes
 .../tests/locale/en/LC_CTYPE/dgettextTest.po       |    4 +
 .../locale/en/LC_CTYPE/dgettextTest_switch.mo      |  Bin 0 -> 102 bytes
 .../locale/en/LC_CTYPE/dgettextTest_switch.po      |    4 +
 .../locale/en/LC_CTYPE/dgettextTest_switched.po    |    2 +
 .../tests/locale/en/LC_CTYPE/dngettextTest.mo      |  Bin 0 -> 86 bytes
 .../tests/locale/en/LC_CTYPE/dngettextTest.po      |    4 +
 .../tests/locale/en/LC_MESSAGES/dgettextTest.mo    |  Bin 0 -> 84 bytes
 .../tests/locale/en/LC_MESSAGES/dgettextTest.po    |    4 +
 .../locale/en/LC_MESSAGES/dgettextTest_switch.mo   |  Bin 0 -> 102 bytes
 .../locale/en/LC_MESSAGES/dgettextTest_switch.po   |    4 +
 .../tests/locale/en/LC_MESSAGES/dngettextTest.mo   |  Bin 0 -> 84 bytes
 .../tests/locale/en/LC_MESSAGES/dngettextTest.po   |    4 +
 .../tests/locale/en/LC_MESSAGES/messages.mo        |  Bin 0 -> 201 bytes
 .../tests/locale/en/LC_MESSAGES/messages.po        |   15 +
 ext/gmp/config.m4                                  |    2 +-
 ext/gmp/config.w32                                 |    2 +-
 ext/hash/bench.php                                 |    2 +-
 ext/hash/config.m4                                 |    2 +-
 ext/hash/config.w32                                |    2 +-
 ext/hash/hash.c                                    |    2 +-
 ext/hash/hash_adler32.c                            |   10 +-
 ext/hash/hash_crc32.c                              |    2 +-
 ext/hash/hash_gost.c                               |    2 +-
 ext/hash/hash_haval.c                              |    2 +-
 ext/hash/hash_md.c                                 |    2 +-
 ext/hash/hash_ripemd.c                             |    2 +-
 ext/hash/hash_salsa.c                              |    2 +-
 ext/hash/hash_sha.c                                |    2 +-
 ext/hash/hash_snefru.c                             |    2 +-
 ext/hash/hash_tiger.c                              |    2 +-
 ext/hash/hash_whirlpool.c                          |    2 +-
 ext/hash/php_hash.h                                |    2 +-
 ext/hash/php_hash_adler32.h                        |    2 +-
 ext/hash/php_hash_crc32.h                          |    2 +-
 ext/hash/php_hash_crc32_tables.h                   |    2 +-
 ext/hash/php_hash_gost.h                           |    2 +-
 ext/hash/php_hash_haval.h                          |    2 +-
 ext/hash/php_hash_md.h                             |    2 +-
 ext/hash/php_hash_ripemd.h                         |    2 +-
 ext/hash/php_hash_salsa.h                          |    2 +-
 ext/hash/php_hash_sha.h                            |    2 +-
 ext/hash/php_hash_snefru.h                         |    2 +-
 ext/hash/php_hash_snefru_tables.h                  |    2 +-
 ext/hash/php_hash_tiger.h                          |    2 +-
 ext/hash/php_hash_tiger_tables.h                   |    2 +-
 ext/hash/php_hash_types.h                          |    2 +-
 ext/hash/php_hash_whirlpool.h                      |    2 +-
 ext/hash/php_hash_whirlpool_tables.h               |    2 +-
 ext/hash/tests/adler32.phpt                        |   14 +-
 ext/hash/tests/hash_file_basic1.phpt               |    4 +-
 ext/hash/tests/hash_hmac_basic.phpt                |    4 +-
 ext/hash/tests/hash_hmac_file_basic.phpt           |    4 +-
 ext/iconv/config.m4                                |    2 +-
 ext/iconv/config.w32                               |    2 +-
 ext/iconv/iconv.c                                  |    2 +-
 ext/iconv/php_iconv.h                              |    2 +-
 ext/iconv/tests/bug16069.phpt                      |   22 -
 ext/iconv/tests/iconv_get_encoding_basic.phpt      |   76 +
 ext/iconv/tests/iconv_stream_filter_delimiter.phpt |    8 +-
 ...iconv_handler-charset-length-cve-2007-4840.phpt |    2 +
 ext/imap/config.m4                                 |    2 +-
 ext/imap/config.w32                                |    2 +-
 ext/imap/php_imap.c                                |   16 +-
 ext/imap/php_imap.h                                |    2 +-
 ext/imap/tests/clean.inc                           |   48 +-
 ext/imap/tests/imap_8bit_basic.phpt                |   66 +-
 ext/imap/tests/imap_append_basic.phpt              |  144 +-
 ext/imap/tests/imap_base64_basic.phpt              |   90 +-
 ext/imap/tests/imap_body.phpt                      |   54 +-
 ext/imap/tests/imap_body_basic.phpt                |   86 +-
 ext/imap/tests/imap_clearflag_full_basic.phpt      |  254 +-
 ext/imap/tests/imap_close_basic.phpt               |   78 +-
 ext/imap/tests/imap_close_error.phpt               |   34 +-
 ext/imap/tests/imap_close_variation1.phpt          |  390 ++--
 ext/imap/tests/imap_close_variation3.phpt          |   56 +-
 ext/imap/tests/imap_createmailbox_basic.phpt       |  136 +-
 ext/imap/tests/imap_errors_basic.phpt              |  106 +-
 ext/imap/tests/imap_expunge_error.phpt             |   54 +-
 ext/imap/tests/imap_fetch_overview_error.phpt      |   48 +-
 ext/imap/tests/imap_fetchbody_basic.phpt           |   50 +-
 ext/imap/tests/imap_fetchbody_error.phpt           |   52 +-
 ext/imap/tests/imap_fetchbody_variation1.phpt      |  400 ++--
 ext/imap/tests/imap_fetchbody_variation3.phpt      |  374 ++--
 ext/imap/tests/imap_fetchbody_variation5.phpt      |   54 +-
 ext/imap/tests/imap_fetchheader_error.phpt         |   36 +-
 ext/imap/tests/imap_fetchheader_variation1.phpt    |  452 ++--
 ext/imap/tests/imap_fetchheader_variation4.phpt    |   52 +-
 ext/imap/tests/imap_headers.phpt                   |   54 +-
 ext/imap/tests/imap_num_msg_error.phpt             |   54 +-
 ext/imap/tests/imap_num_recent_error.phpt          |   54 +-
 ext/imap/tests/imap_open_error.phpt                |   84 +-
 ext/imap/tests/imap_ping_error.phpt                |   54 +-
 ext/imap/tests/skipif.inc                          |   32 +-
 ext/interbase/config.m4                            |    2 +-
 ext/interbase/config.w32                           |    2 +-
 ext/interbase/ibase_blobs.c                        |    2 +-
 ext/interbase/ibase_events.c                       |    2 +-
 ext/interbase/ibase_query.c                        |    2 +-
 ext/interbase/ibase_service.c                      |    2 +-
 ext/interbase/interbase.c                          |    6 +-
 ext/interbase/interbase.rc                         |  162 +-
 ext/interbase/php_ibase_includes.h                 |    2 +-
 ext/interbase/php_ibase_udf.c                      |    2 +-
 ext/interbase/php_interbase.h                      |    2 +-
 ext/interbase/tests/002.phpt                       |    2 +-
 ext/interbase/tests/003.phpt                       |    2 +-
 ext/interbase/tests/004.phpt                       |    2 +-
 ext/interbase/tests/005.phpt                       |    2 +-
 ext/interbase/tests/006.phpt                       |    2 +-
 ext/interbase/tests/007.phpt                       |    2 +-
 ext/interbase/tests/008.phpt                       |    2 +-
 ext/interbase/tests/interbase.inc                  |    2 +-
 ext/interbase/tests/skipif.inc                     |    2 +-
 ext/json/config.m4                                 |    2 +-
 ext/json/config.w32                                |    2 +-
 ext/json/json.c                                    |    6 +-
 ext/json/php_json.h                                |    6 +-
 ext/ldap/config.m4                                 |    2 +-
 ext/ldap/config.w32                                |    2 +-
 ext/ldap/ldap.c                                    |   13 +-
 ext/ldap/php_ldap.h                                |    2 +-
 ext/ldap/tests/README                              |   53 +
 ext/ldap/tests/bug48696.phpt                       |   10 +
 ext/ldap/tests/ldap_add_basic.phpt                 |   83 +
 ext/ldap/tests/ldap_add_error.phpt                 |  136 +
 ext/ldap/tests/ldap_bind_basic.phpt                |   19 +
 ext/ldap/tests/ldap_bind_error.phpt                |   35 +
 ext/ldap/tests/ldap_bind_variation.phpt            |   19 +
 ext/ldap/tests/ldap_compare_basic.phpt             |   31 +
 ext/ldap/tests/ldap_compare_error.phpt             |   55 +
 ext/ldap/tests/ldap_connect_basic.phpt             |   18 +
 ext/ldap/tests/ldap_connect_error.phpt             |   31 +
 ext/ldap/tests/ldap_connect_variation.phpt         |   39 +
 ext/ldap/tests/ldap_count_entries_basic.phpt       |   28 +
 ext/ldap/tests/ldap_count_entries_error.phpt       |   23 +
 ext/ldap/tests/ldap_delete_basic.phpt              |   40 +
 ext/ldap/tests/ldap_delete_error.phpt              |   62 +
 ext/ldap/tests/ldap_err2str_basic.phpt             |   15 +
 ext/ldap/tests/ldap_err2str_error.phpt             |   23 +
 ext/ldap/tests/ldap_errno_basic.phpt               |   30 +
 ext/ldap/tests/ldap_errno_error.phpt               |   23 +
 ext/ldap/tests/ldap_error_basic.phpt               |   30 +
 ext/ldap/tests/ldap_error_error.phpt               |   23 +
 ext/ldap/tests/ldap_first_attribute_basic.phpt     |   31 +
 ext/ldap/tests/ldap_first_attribute_error.phpt     |   23 +
 ext/ldap/tests/ldap_first_entry_basic.phpt         |   37 +
 ext/ldap/tests/ldap_first_entry_error.phpt         |   27 +
 ext/ldap/tests/ldap_first_reference_basic.phpt     |   43 +
 ext/ldap/tests/ldap_first_reference_error.phpt     |   27 +
 ext/ldap/tests/ldap_free_result_basic.phpt         |   28 +
 ext/ldap/tests/ldap_free_result_error.phpt         |   23 +
 ext/ldap/tests/ldap_get_attributes_basic.phpt      |   65 +
 ext/ldap/tests/ldap_get_attributes_error.phpt      |   23 +
 ext/ldap/tests/ldap_get_dn_basic.phpt              |   31 +
 ext/ldap/tests/ldap_get_dn_error.phpt              |   23 +
 ext/ldap/tests/ldap_get_entries_basic.phpt         |   74 +
 ext/ldap/tests/ldap_get_entries_error.phpt         |   33 +
 ext/ldap/tests/ldap_get_entries_variation.phpt     |   33 +
 ext/ldap/tests/ldap_get_option_basic.phpt          |   25 +
 ext/ldap/tests/ldap_get_option_error.phpt          |   40 +
 ext/ldap/tests/ldap_get_option_variation.phpt      |   61 +
 ext/ldap/tests/ldap_get_values_len_basic.phpt      |   36 +
 ext/ldap/tests/ldap_get_values_len_error.phpt      |   45 +
 ext/ldap/tests/ldap_list_basic.phpt                |  150 +
 ext/ldap/tests/ldap_list_error.phpt                |   35 +
 ext/ldap/tests/ldap_mod_add_basic.phpt             |   90 +
 ext/ldap/tests/ldap_mod_add_error.phpt             |   83 +
 ext/ldap/tests/ldap_mod_del_basic.phpt             |   40 +
 ext/ldap/tests/ldap_mod_del_error.phpt             |   62 +
 ext/ldap/tests/ldap_mod_replace_basic.phpt         |   59 +
 ext/ldap/tests/ldap_mod_replace_error.phpt         |   62 +
 ext/ldap/tests/ldap_modify_basic.phpt              |   96 +
 ext/ldap/tests/ldap_modify_error.phpt              |   83 +
 ext/ldap/tests/ldap_next_attribute_basic.phpt      |   36 +
 ext/ldap/tests/ldap_next_attribute_error.phpt      |   40 +
 ext/ldap/tests/ldap_next_entry_basic.phpt          |   40 +
 ext/ldap/tests/ldap_next_entry_error.phpt          |   27 +
 ext/ldap/tests/ldap_next_reference_basic.phpt      |   49 +
 ext/ldap/tests/ldap_next_reference_error.phpt      |   27 +
 ext/ldap/tests/ldap_parse_reference_basic.phpt     |   45 +
 ext/ldap/tests/ldap_parse_reference_error.phpt     |   31 +
 ext/ldap/tests/ldap_parse_result_basic.phpt        |   47 +
 ext/ldap/tests/ldap_parse_result_error.phpt        |   17 +
 ext/ldap/tests/ldap_read_basic.phpt                |   75 +
 ext/ldap/tests/ldap_read_error.phpt                |   35 +
 ext/ldap/tests/ldap_rename_basic.phpt              |   62 +
 ext/ldap/tests/ldap_rename_error.phpt              |   21 +
 ext/ldap/tests/ldap_sasl_bind_basic.phpt           |   20 +
 ext/ldap/tests/ldap_sasl_bind_error.phpt           |   53 +
 ext/ldap/tests/ldap_search_basic.phpt              |  194 ++
 ext/ldap/tests/ldap_search_error.phpt              |   62 +
 ext/ldap/tests/ldap_search_variation1.phpt         |   56 +
 ext/ldap/tests/ldap_search_variation2.phpt         |   80 +
 ext/ldap/tests/ldap_search_variation3.phpt         |  108 +
 ext/ldap/tests/ldap_search_variation4.phpt         |   55 +
 ext/ldap/tests/ldap_search_variation5.phpt         |  105 +
 ext/ldap/tests/ldap_search_variation6.phpt         |  230 ++
 ext/ldap/tests/ldap_set_option_basic.phpt          |   23 +
 ext/ldap/tests/ldap_set_option_error.phpt          |   66 +
 ext/ldap/tests/ldap_set_option_variation.phpt      |   77 +
 ext/ldap/tests/ldap_set_rebind_proc_basic.phpt     |   34 +
 ext/ldap/tests/ldap_set_rebind_proc_error.phpt     |   40 +
 ext/ldap/tests/ldap_sort_basic.phpt                |  200 ++
 ext/ldap/tests/ldap_sort_error.phpt                |   35 +
 ext/ldap/tests/ldap_sort_variation.phpt            |  200 ++
 ext/ldap/tests/ldap_start_tls_basic.phpt           |   19 +
 ext/ldap/tests/ldap_start_tls_error.phpt           |   27 +
 ext/ldap/tests/ldap_unbind_basic.phpt              |   20 +
 ext/ldap/tests/ldap_unbind_error.phpt              |   42 +
 ext/ldap/tests/ldap_unbind_variation.phpt          |   34 +
 ext/libxml/config.w32                              |    2 +-
 ext/libxml/config0.m4                              |    2 +-
 ext/libxml/libxml.c                                |   42 +-
 ext/libxml/php_libxml.h                            |    2 +-
 ext/mbstring/config.m4                             |    2 +-
 ext/mbstring/config.w32                            |    2 +-
 ext/mbstring/libmbfl/README                        |    2 +-
 ext/mbstring/libmbfl/filters/mbfilter_htmlent.c    |   52 +-
 ext/mbstring/libmbfl/filters/mk_sb_tbl.awk         |    2 +-
 ext/mbstring/libmbfl/libmbfl.dsw                   |   58 +-
 ext/mbstring/libmbfl/libmbfl.sln                   |   42 +-
 ext/mbstring/libmbfl/libmbfl.vcproj                | 1300 ++++----
 ext/mbstring/libmbfl/mbfl.rc                       |    2 +-
 ext/mbstring/libmbfl/mbfl/mk_eaw_tbl.awk           |    2 +-
 ext/mbstring/mb_gpc.c                              |    4 +-
 ext/mbstring/mb_gpc.h                              |    2 +-
 ext/mbstring/mbstring.c                            |    2 +-
 ext/mbstring/mbstring.h                            |    2 +-
 ext/mbstring/php_mbregex.c                         |    2 +-
 ext/mbstring/php_mbregex.h                         |    2 +-
 ext/mbstring/tests/bug46806.phpt                   |   16 +
 ext/mbstring/tests/bug48645.phpt                   |  162 +
 ext/mbstring/tests/bug48697.phpt                   |   24 +
 ext/mcrypt/TODO                                    |    2 +-
 ext/mcrypt/config.m4                               |    2 +-
 ext/mcrypt/config.w32                              |    2 +-
 ext/mcrypt/mcrypt.c                                |    2 +-
 ext/mcrypt/php_mcrypt.h                            |    2 +-
 ext/mhash/config.m4                                |    2 +-
 ext/mhash/config.w32                               |    2 +-
 ext/mhash/mhash.c                                  |    2 +-
 ext/mhash/php_mhash.h                              |    2 +-
 ext/mhash/tests/001.phpt                           |    3 +-
 ext/mhash/tests/003.phpt                           |    6 +-
 ext/mime_magic/config.m4                           |    2 +-
 ext/mime_magic/config.w32                          |    2 +-
 ext/mime_magic/mime_magic.c                        |    2 +-
 ext/mime_magic/php_mime_magic.h                    |    2 +-
 ext/mime_magic/phpmimemagic.h                      |    2 +-
 ext/ming/config.m4                                 |    2 +-
 ext/ming/config.w32                                |    2 +-
 ext/ming/ming.c                                    |    2 +-
 ext/ming/php_ming.h                                |    2 +-
 ext/ming/tests/swfaction-new.phpt                  |    2 +-
 ext/ming/tests/swfaction.phpt                      |    2 +-
 ext/msql/config.m4                                 |    2 +-
 ext/msql/config.w32                                |    2 +-
 ext/msql/php_msql.c                                |    2 +-
 ext/msql/php_msql.h                                |    2 +-
 ext/mssql/config.m4                                |    2 +-
 ext/mssql/config.w32                               |    2 +-
 ext/mssql/php_mssql.c                              |   37 +-
 ext/mssql/php_mssql.h                              |    2 +-
 ext/mysql/config.m4                                |    2 +-
 ext/mysql/config.w32                               |    2 +-
 ext/mysql/php_mysql.c                              |    2 +-
 ext/mysql/php_mysql.h                              |    2 +-
 ext/mysql/php_mysql_structs.h                      |    2 +-
 ext/mysqli/config.m4                               |    2 +-
 ext/mysqli/config.w32                              |    2 +-
 ext/mysqli/mysqli.c                                |    2 +-
 ext/mysqli/mysqli_api.c                            |    6 +-
 ext/mysqli/mysqli_fe.c                             |    2 +-
 ext/mysqli/mysqli_nonapi.c                         |    2 +-
 ext/mysqli/mysqli_prop.c                           |    2 +-
 ext/mysqli/mysqli_repl.c                           |    2 +-
 ext/mysqli/mysqli_report.c                         |    2 +-
 ext/mysqli/mysqli_report.h                         |    2 +-
 ext/mysqli/php_mysqli.h                            |    5 +-
 ext/ncurses/config.m4                              |    2 +-
 ext/oci8/config.m4                                 |    2 +-
 ext/oci8/config.w32                                |    2 +-
 ext/oci8/oci8.c                                    |    4 +-
 ext/oci8/oci8_collection.c                         |    2 +-
 ext/oci8/oci8_interface.c                          |    2 +-
 ext/oci8/oci8_lob.c                                |    2 +-
 ext/oci8/oci8_statement.c                          |    2 +-
 ext/oci8/php_oci8.h                                |    2 +-
 ext/oci8/php_oci8_int.h                            |    2 +-
 ext/oci8/tests/connect.inc                         |    6 +-
 ext/odbc/birdstep.c                                |    2 +-
 ext/odbc/config.m4                                 |    2 +-
 ext/odbc/config.w32                                |    2 +-
 ext/odbc/php_birdstep.h                            |    2 +-
 ext/odbc/php_odbc.c                                |    2 +-
 ext/odbc/php_odbc.h                                |    2 +-
 ext/odbc/php_odbc_includes.h                       |    2 +-
 ext/openssl/README                                 |    2 +-
 ext/openssl/config.w32                             |    2 +-
 ext/openssl/config0.m4                             |    2 +-
 ext/openssl/openssl.c                              |   43 +-
 ext/openssl/openssl.mak                            |  370 ++--
 ext/openssl/php_openssl.h                          |    2 +-
 ext/openssl/tests/bug48182.phpt                    |   92 +
 ext/openssl/xp_ssl.c                               |   32 +-
 ext/pcntl/config.m4                                |    2 +-
 ext/pcntl/pcntl.c                                  |    2 +-
 ext/pcntl/php_pcntl.h                              |    2 +-
 ext/pcntl/php_signal.c                             |    2 +-
 ext/pcntl/php_signal.h                             |    2 +-
 ext/pcntl/tests/pcntl_fork_basic.phpt              |   27 +
 ext/pcntl/tests/pcntl_fork_variation.phpt          |   48 +
 ext/pcre/config.w32                                |    2 +-
 ext/pcre/config0.m4                                |    4 +-
 ext/pcre/pcrelib/testdata/grepinput8               |    5 +-
 ext/pcre/pcrelib/testdata/grepoutput8              |    5 +-
 ext/pcre/pcrelib/testdata/grepoutputN              |   26 +-
 ext/pcre/php_pcre.c                                |    2 +-
 ext/pcre/php_pcre.h                                |    2 +-
 ext/pcre/tests/bug34790.phpt                       |   46 +-
 ext/pcre/tests/preg_match_all_error3.phpt          |    2 +-
 ext/pcre/tests/preg_split_basic.phpt               |    3 +-
 ext/pdo/README                                     |    2 +-
 ext/pdo/TODO                                       |    2 +-
 ext/pdo/config.m4                                  |    2 +-
 ext/pdo/config.w32                                 |    2 +-
 ext/pdo/pdo.c                                      |    2 +-
 ext/pdo/pdo_dbh.c                                  |    2 +-
 ext/pdo/pdo_sql_parser.c                           |    2 +-
 ext/pdo/pdo_sql_parser.c.orig                      |    2 +-
 ext/pdo/pdo_sql_parser.re                          |    2 +-
 ext/pdo/pdo_sqlstate.c                             |    2 +-
 ext/pdo/pdo_stmt.c                                 |    7 +-
 ext/pdo/php_pdo.h                                  |    2 +-
 ext/pdo/php_pdo_driver.h                           |    2 +-
 ext/pdo/php_pdo_int.h                              |    2 +-
 ext/pdo/tests/pdo.inc                              |   22 +-
 ext/pdo_dblib/config.m4                            |    2 +-
 ext/pdo_dblib/config.w32                           |    2 +-
 ext/pdo_dblib/dblib_driver.c                       |   10 +-
 ext/pdo_dblib/dblib_stmt.c                         |    2 +-
 ext/pdo_dblib/pdo_dblib.c                          |    2 +-
 ext/pdo_dblib/php_pdo_dblib.h                      |    2 +-
 ext/pdo_dblib/php_pdo_dblib_int.h                  |    2 +-
 ext/pdo_firebird/config.m4                         |    2 +-
 ext/pdo_firebird/config.w32                        |    2 +-
 ext/pdo_firebird/firebird_driver.c                 |    2 +-
 ext/pdo_firebird/firebird_statement.c              |    5 +-
 ext/pdo_firebird/pdo_firebird.c                    |   17 +-
 ext/pdo_firebird/php_pdo_firebird.h                |    2 +-
 ext/pdo_firebird/php_pdo_firebird_int.h            |    2 +-
 ext/pdo_firebird/tests/connect.phpt                |    2 +-
 ext/pdo_firebird/tests/ddl.phpt                    |    2 +-
 ext/pdo_firebird/tests/execute.phpt                |    2 +-
 ext/pdo_firebird/tests/skipif.inc                  |    2 +-
 ext/pdo_firebird/tests/testdb.inc                  |    2 +-
 ext/pdo_mysql/config.m4                            |    2 +-
 ext/pdo_mysql/config.w32                           |    2 +-
 ext/pdo_mysql/mysql_driver.c                       |    2 +-
 ext/pdo_mysql/mysql_statement.c                    |    2 +-
 ext/pdo_mysql/pdo_mysql.c                          |    2 +-
 ext/pdo_mysql/php_pdo_mysql.h                      |    2 +-
 ext/pdo_mysql/php_pdo_mysql_int.h                  |    2 +-
 ext/pdo_oci/config.m4                              |    2 +-
 ext/pdo_oci/config.w32                             |  168 +-
 ext/pdo_oci/oci_driver.c                           |    2 +-
 ext/pdo_oci/oci_statement.c                        |    2 +-
 ext/pdo_oci/pdo_oci.c                              |    2 +-
 ext/pdo_oci/php_pdo_oci.h                          |    2 +-
 ext/pdo_oci/php_pdo_oci_int.h                      |    2 +-
 ext/pdo_odbc/config.m4                             |    2 +-
 ext/pdo_odbc/config.w32                            |    2 +-
 ext/pdo_odbc/odbc_driver.c                         |    2 +-
 ext/pdo_odbc/odbc_stmt.c                           |    6 +-
 ext/pdo_odbc/pdo_odbc.c                            |    2 +-
 ext/pdo_odbc/php_pdo_odbc.h                        |    2 +-
 ext/pdo_odbc/php_pdo_odbc_int.h                    |    2 +-
 ext/pdo_pgsql/config.m4                            |    2 +-
 ext/pdo_pgsql/config.w32                           |    2 +-
 ext/pdo_pgsql/pdo_pgsql.c                          |    4 +-
 ext/pdo_pgsql/pgsql_driver.c                       |    2 +-
 ext/pdo_pgsql/pgsql_statement.c                    |   12 +-
 ext/pdo_pgsql/php_pdo_pgsql.h                      |    2 +-
 ext/pdo_pgsql/php_pdo_pgsql_int.h                  |    2 +-
 ext/pdo_pgsql/tests/bug46274_2.phpt                |   16 +-
 ext/pdo_sqlite/config.m4                           |    2 +-
 ext/pdo_sqlite/config.w32                          |    2 +-
 ext/pdo_sqlite/pdo_sqlite.c                        |    4 +-
 ext/pdo_sqlite/php_pdo_sqlite.h                    |    2 +-
 ext/pdo_sqlite/php_pdo_sqlite_int.h                |    2 +-
 ext/pdo_sqlite/sqlite/sqlite3.pc.in                |   24 +-
 ext/pdo_sqlite/sqlite/src/alter.c                  |    2 +-
 ext/pdo_sqlite/sqlite/src/analyze.c                |    2 +-
 ext/pdo_sqlite/sqlite/src/callback.c               |    2 +-
 ext/pdo_sqlite/sqlite/src/complete.c               |    2 +-
 ext/pdo_sqlite/sqlite/src/keywordhash.h            |    2 +-
 ext/pdo_sqlite/sqlite/src/prepare.c                |    2 +-
 ext/pdo_sqlite/sqlite/src/sqlite3ext.h             |    2 +-
 ext/pdo_sqlite/sqlite/src/vtab.c                   |    2 +-
 ext/pdo_sqlite/sqlite_driver.c                     |    2 +-
 ext/pdo_sqlite/sqlite_statement.c                  |    2 +-
 ext/pdo_sqlite/tests/bug48773.phpt                 |   34 +
 ext/pgsql/config.m4                                |    2 +-
 ext/pgsql/config.w32                               |    2 +-
 ext/pgsql/pgsql.c                                  |    2 +-
 ext/pgsql/php_pgsql.h                              |    2 +-
 ext/posix/config.m4                                |    2 +-
 ext/posix/php_posix.h                              |    2 +-
 ext/posix/posix.c                                  |   10 +-
 ext/posix/tests/posix_ctermid_basic.phpt           |   18 +
 ext/posix/tests/posix_ctermid_error.phpt           |   19 +
 ext/posix/tests/posix_errno_basic.phpt             |   22 +
 ext/posix/tests/posix_errno_error.phpt             |   24 +
 ext/posix/tests/posix_errno_variation1.phpt        |   22 +
 ext/posix/tests/posix_errno_variation2.phpt        |   29 +
 ext/posix/tests/posix_getcwd.phpt                  |    2 +-
 ext/posix/tests/posix_geteuid_basic.phpt           |   16 +
 ext/posix/tests/posix_geteuid_error1.phpt          |   37 +
 ext/posix/tests/posix_getgrnam.phpt                |    2 +-
 ext/posix/tests/posix_getpwnam.phpt                |    2 +-
 ext/posix/tests/posix_getrlimit.phpt               |    2 +-
 ext/posix/tests/posix_initgroups.phpt              |    2 +-
 ext/posix/tests/posix_isatty.phpt                  |    2 +-
 ext/posix/tests/posix_mknod.phpt                   |    2 +-
 ext/posix/tests/posix_seteuid_basic.phpt           |   19 +
 ext/posix/tests/posix_seteuid_error.phpt           |   32 +
 ext/posix/tests/posix_seteuid_error2.phpt          |   55 +
 ext/posix/tests/posix_seteuid_variation1.phpt      |   41 +
 ext/posix/tests/posix_seteuid_variation2.phpt      |   36 +
 ext/posix/tests/posix_seteuid_variation3.phpt      |   47 +
 ext/posix/tests/posix_seteuid_variation4.phpt      |   40 +
 ext/posix/tests/posix_seteuid_variation5.phpt      |   34 +
 ext/posix/tests/posix_seteuid_variation6.phpt      |   48 +
 ext/posix/tests/posix_setgid_basic.phpt            |   27 +
 ext/posix/tests/posix_setgid_error.phpt            |   33 +
 ext/posix/tests/posix_setgid_variation1.phpt       |   47 +
 ext/posix/tests/posix_setgid_variation2.phpt       |   39 +
 ext/posix/tests/posix_setgid_variation3.phpt       |   47 +
 ext/posix/tests/posix_setgid_variation4.phpt       |   41 +
 ext/posix/tests/posix_setgid_variation5.phpt       |   37 +
 ext/posix/tests/posix_setgid_variation6.phpt       |   58 +
 ext/posix/tests/posix_setgid_variation7.phpt       |   48 +
 ext/posix/tests/posix_setuid_basic.phpt            |   19 +
 ext/posix/tests/posix_setuid_error.phpt            |   35 +
 ext/posix/tests/posix_setuid_error2.phpt           |   55 +
 ext/posix/tests/posix_setuid_variation1.phpt       |   41 +
 ext/posix/tests/posix_setuid_variation2.phpt       |   36 +
 ext/posix/tests/posix_setuid_variation3.phpt       |   47 +
 ext/posix/tests/posix_setuid_variation4.phpt       |   40 +
 ext/posix/tests/posix_setuid_variation5.phpt       |   34 +
 ext/posix/tests/posix_setuid_variation6.phpt       |   48 +
 ext/posix/tests/posix_ttyname_error.phpt           |   29 +
 ext/posix/tests/posix_ttyname_variation1.phpt      |   35 +
 ext/posix/tests/posix_ttyname_variation2.phpt      |   32 +
 ext/posix/tests/posix_ttyname_variation3.phpt      |   39 +
 ext/posix/tests/posix_ttyname_variation4.phpt      |   34 +
 ext/posix/tests/posix_ttyname_variation5.phpt      |   28 +
 ext/posix/tests/posix_ttyname_variation6.phpt      |   51 +
 ext/posix/tests/posix_ttyname_variation7.phpt      |   36 +
 ext/pspell/config.m4                               |    2 +-
 ext/pspell/config.w32                              |    2 +-
 ext/pspell/php_pspell.h                            |    2 +-
 ext/pspell/pspell.c                                |    2 +-
 ext/pspell/tests/001.phpt                          |    2 +-
 ext/readline/config.m4                             |   12 +-
 ext/readline/php_readline.h                        |    2 +-
 ext/readline/readline.c                            |    2 +-
 ext/recode/config.m4                               |    2 +-
 ext/recode/config9.m4                              |    2 +-
 ext/recode/php_recode.h                            |    2 +-
 ext/recode/recode.c                                |    4 +-
 ext/reflection/config.m4                           |    2 +-
 ext/reflection/config.w32                          |    2 +-
 ext/reflection/php_reflection.c                    |   46 +-
 ext/reflection/php_reflection.h                    |    2 +-
 .../tests/ReflectionClass_CannotClone_basic.phpt   |   15 +
 .../ReflectionClass_getDefaultProperties_001.phpt  |    8 +-
 ...ReflectionClass_setStaticPropertyValue_001.phpt |    4 +-
 .../ReflectionFunction_isDeprecated_basic.phpt     |   15 +
 .../tests/ReflectionFunction_isDisabled_basic.phpt |   17 +
 .../tests/ReflectionMethod_invokeArgs_error3.phpt  |    4 +-
 ext/reflection/tests/bug46064.phpt                 |    6 +-
 ext/reflection/tests/bug46064_2.phpt               |   12 +-
 ext/reflection/tests/bug47254.phpt                 |   42 +
 ext/reflection/tests/bug49074.phpt                 |   31 +
 ext/session/config.m4                              |    3 +-
 ext/session/config.w32                             |    2 +-
 ext/session/mod_files.c                            |    2 +-
 ext/session/mod_files.h                            |    2 +-
 ext/session/mod_mm.c                               |    2 +-
 ext/session/mod_mm.h                               |    2 +-
 ext/session/mod_user.c                             |    2 +-
 ext/session/mod_user.h                             |    2 +-
 ext/session/php_session.h                          |    2 +-
 ext/session/session.c                              |   12 +-
 ext/session/tests/022.phpt                         |   32 +
 ext/session/tests/bug36459.phpt                    |   24 +-
 ext/shmop/config.m4                                |    2 +-
 ext/shmop/config.w32                               |    2 +-
 ext/shmop/shmop.c                                  |    2 +-
 ext/simplexml/config.m4                            |    2 +-
 ext/simplexml/config.w32                           |    2 +-
 ext/simplexml/php_simplexml.h                      |    2 +-
 ext/simplexml/php_simplexml_exports.h              |    2 +-
 ext/simplexml/simplexml.c                          |    4 +-
 ext/simplexml/tests/020.phpt                       |   40 +-
 ...ement_addAttribute_required_attribute_name.phpt |   18 +
 ext/simplexml/tests/bug36611.phpt                  |    6 +-
 ext/simplexml/tests/bug40451.phpt                  |    7 +-
 ext/simplexml/tests/bug41175.phpt                  |    6 +-
 ext/simplexml/tests/bug41582.phpt                  |    6 +-
 ext/simplexml/tests/bug41861.phpt                  |    4 +
 ext/simplexml/tests/bug41867.phpt                  |    6 +-
 ext/simplexml/tests/bug41947.phpt                  |    6 +-
 ext/simplexml/tests/bug42369.phpt                  |    6 +-
 ext/simplexml/tests/bug43221.phpt                  |    7 +-
 ext/simplexml/tests/bug44478.phpt                  |    5 +
 ext/simplexml/tests/bug45553.phpt                  |    7 +-
 ext/simplexml/tests/bug46003.phpt                  |    7 +-
 ext/simplexml/tests/bug46047.phpt                  |    6 +-
 ext/skeleton/create_stubs                          |    2 +-
 ext/snmp/config.m4                                 |    2 +-
 ext/snmp/config.w32                                |    2 +-
 ext/snmp/php_snmp.h                                |    2 +-
 ext/snmp/snmp.c                                    |    2 +-
 ext/soap/TODO                                      |  196 +-
 ext/soap/TODO.old                                  |   78 +-
 ext/soap/config.m4                                 |    2 +-
 ext/soap/config.w32                                |    2 +-
 ext/soap/interop/client_round2_interop.php         |    2 +-
 ext/soap/interop/client_round2_params.php          |    2 +-
 ext/soap/interop/client_round2_results.php         |    2 +-
 ext/soap/interop/client_round2_run.php             |    2 +-
 ext/soap/interop/server_round2_base.php            |    2 +-
 ext/soap/interop/server_round2_groupB.php          |    2 +-
 ext/soap/interop/server_round2_groupC.php          |    2 +-
 ext/soap/php_encoding.c                            |    2 +-
 ext/soap/php_encoding.h                            |    2 +-
 ext/soap/php_http.c                                |    2 +-
 ext/soap/php_http.h                                |    2 +-
 ext/soap/php_packet_soap.c                         |    2 +-
 ext/soap/php_packet_soap.h                         |    2 +-
 ext/soap/php_schema.c                              |    5 +-
 ext/soap/php_schema.h                              |    2 +-
 ext/soap/php_sdl.c                                 |   62 +-
 ext/soap/php_sdl.h                                 |    7 +-
 ext/soap/php_soap.h                                |    2 +-
 ext/soap/php_xml.c                                 |    2 +-
 ext/soap/php_xml.h                                 |    2 +-
 ext/soap/readme.html                               | 1290 ++++----
 ext/soap/soap.c                                    |    9 +-
 ext/soap/tests/any.phpt                            |  172 +-
 ext/soap/tests/bugs/bug27722.phpt                  |   28 +-
 ext/soap/tests/bugs/bug27742.phpt                  |   30 +-
 ext/soap/tests/bugs/bug28751.phpt                  |   76 +-
 ext/soap/tests/bugs/bug28969.phpt                  |   76 +-
 ext/soap/tests/bugs/bug28985.phpt                  |  410 ++--
 ext/soap/tests/bugs/bug29061.phpt                  |   26 +-
 ext/soap/tests/bugs/bug29109.phpt                  |   30 +-
 ext/soap/tests/bugs/bug29236.phpt                  |   44 +-
 ext/soap/tests/bugs/bug29795.phpt                  |   68 +-
 ext/soap/tests/bugs/bug29830.phpt                  |   50 +-
 ext/soap/tests/bugs/bug29839.phpt                  |   86 +-
 ext/soap/tests/bugs/bug29844.phpt                  |   76 +-
 ext/soap/tests/bugs/bug30045.phpt                  |  346 ++--
 ext/soap/tests/bugs/bug30106.phpt                  |  144 +-
 ext/soap/tests/bugs/bug30175.phpt                  |   94 +-
 ext/soap/tests/bugs/bug30799.phpt                  |   50 +-
 ext/soap/tests/bugs/bug30928.phpt                  |  126 +-
 ext/soap/tests/bugs/bug30994.phpt                  |   94 +-
 ext/soap/tests/bugs/bug31422.phpt                  |   84 +-
 ext/soap/tests/bugs/bug31695.phpt                  |  124 +-
 ext/soap/tests/bugs/bug31755.phpt                  |   34 +-
 ext/soap/tests/bugs/bug32776.phpt                  |   98 +-
 ext/soap/tests/bugs/bug34449.phpt                  |   40 +-
 ext/soap/tests/bugs/bug34453.phpt                  |   86 +-
 ext/soap/tests/bugs/bug34643.phpt                  |   96 +-
 ext/soap/tests/bugs/bug34657.phpt                  |   70 +-
 ext/soap/tests/bugs/bug35142.phpt                  |  270 +-
 ext/soap/tests/bugs/bug36226.phpt                  |  278 +-
 ext/soap/tests/bugs/bug36575.phpt                  |  104 +-
 ext/soap/tests/bugs/bug36629.phpt                  |  106 +-
 ext/soap/tests/bugs/bug36908.phpt                  |   92 +-
 ext/soap/tests/bugs/bug36999.phpt                  |  100 +-
 ext/soap/tests/bugs/bug37013.phpt                  |  116 +-
 ext/soap/tests/bugs/bug37278.phpt                  |   48 +-
 ext/soap/tests/bugs/bug38004.phpt                  |   84 +-
 ext/soap/tests/bugs/bug38005.phpt                  |   86 +-
 ext/soap/tests/bugs/bug38055.phpt                  |   82 +-
 ext/soap/tests/bugs/bug38067.phpt                  |   84 +-
 ext/soap/tests/bugs/bug39121.phpt                  |  146 +-
 ext/soap/tests/bugs/bug39815.phpt                  |  100 +-
 ext/soap/tests/bugs/bug39832.phpt                  |   58 +-
 ext/soap/tests/bugs/bug40609.phpt                  |   42 +-
 ext/soap/tests/bugs/bug41004.phpt                  |   72 +-
 ext/soap/tests/bugs/bug41337.phpt                  |   24 +-
 ext/soap/tests/bugs/bug41337_2.phpt                |   24 +-
 ext/soap/tests/bugs/bug41566.phpt                  |  130 +-
 ext/soap/tests/bugs/bug42214.phpt                  |   48 +-
 ext/soap/tests/bugs/bug42326.phpt                  |   98 +-
 ext/soap/tests/bugs/bug42359.phpt                  |   40 +-
 ext/soap/tests/bugs/bug42488.phpt                  |   42 +-
 ext/soap/tests/bugs/bug47273.phpt                  |   53 +
 ext/soap/tests/bugs/xml.xsd                        |   68 +-
 ext/soap/tests/classmap003.phpt                    |  108 +-
 ext/soap/tests/classmap004.phpt                    |  132 +-
 .../tests/interop/Round2/Base/r2_base_001p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_001s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_001w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_002p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_002s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_002w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_003p.phpt    |   36 +-
 .../tests/interop/Round2/Base/r2_base_003s.phpt    |   36 +-
 .../tests/interop/Round2/Base/r2_base_003w.phpt    |   40 +-
 .../tests/interop/Round2/Base/r2_base_004p.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_004s.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_004w.phpt    |   46 +-
 .../tests/interop/Round2/Base/r2_base_005p.phpt    |   40 +-
 .../tests/interop/Round2/Base/r2_base_005s.phpt    |   40 +-
 .../tests/interop/Round2/Base/r2_base_005w.phpt    |   44 +-
 .../tests/interop/Round2/Base/r2_base_006p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_006s.phpt    |   46 +-
 .../tests/interop/Round2/Base/r2_base_006w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_007p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_007s.phpt    |   44 +-
 .../tests/interop/Round2/Base/r2_base_007w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_008p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_008s.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_008w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_009p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_009s.phpt    |   40 +-
 .../tests/interop/Round2/Base/r2_base_009w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_010p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_010s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_010w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_011p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_011s.phpt    |   48 +-
 .../tests/interop/Round2/Base/r2_base_011w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_012p.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_012s.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_012w.phpt    |   44 +-
 .../tests/interop/Round2/Base/r2_base_013p.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_013s.phpt    |   52 +-
 .../tests/interop/Round2/Base/r2_base_013w.phpt    |   44 +-
 .../tests/interop/Round2/Base/r2_base_014p.phpt    |   58 +-
 .../tests/interop/Round2/Base/r2_base_014s.phpt    |   52 +-
 .../tests/interop/Round2/Base/r2_base_014w.phpt    |   60 +-
 .../tests/interop/Round2/Base/r2_base_015p.phpt    |   62 +-
 .../tests/interop/Round2/Base/r2_base_015s.phpt    |   88 +-
 .../tests/interop/Round2/Base/r2_base_015w.phpt    |   64 +-
 .../tests/interop/Round2/Base/r2_base_016p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_016s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_016w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_017p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_017s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_017w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_018p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_018s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_018w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_019p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_019s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_019w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_020p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_020s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_020w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_021p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_021s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_021w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_022p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_022s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_022w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_023p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_023s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_023w.phpt    |   42 +-
 .../tests/interop/Round2/Base/r2_base_024p.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_024s.phpt    |   38 +-
 .../tests/interop/Round2/Base/r2_base_024w.phpt    |   42 +-
 .../interop/Round2/GroupB/r2_groupB_001p.phpt      |   42 +-
 .../interop/Round2/GroupB/r2_groupB_001s.phpt      |   52 +-
 .../interop/Round2/GroupB/r2_groupB_001w.phpt      |   44 +-
 .../interop/Round2/GroupB/r2_groupB_002p.phpt      |   42 +-
 .../interop/Round2/GroupB/r2_groupB_002s.phpt      |   48 +-
 .../interop/Round2/GroupB/r2_groupB_002w.phpt      |   44 +-
 .../interop/Round2/GroupB/r2_groupB_003p.phpt      |   44 +-
 .../interop/Round2/GroupB/r2_groupB_003s.phpt      |   62 +-
 .../interop/Round2/GroupB/r2_groupB_003w.phpt      |   48 +-
 .../interop/Round2/GroupB/r2_groupB_004p.phpt      |   62 +-
 .../interop/Round2/GroupB/r2_groupB_004s.phpt      |   62 +-
 .../interop/Round2/GroupB/r2_groupB_004w.phpt      |   64 +-
 .../interop/Round2/GroupB/r2_groupB_005p.phpt      |   52 +-
 .../interop/Round2/GroupB/r2_groupB_005s.phpt      |   62 +-
 .../interop/Round2/GroupB/r2_groupB_005w.phpt      |   54 +-
 .../Round3/GroupD/r3_groupD_compound1_001w.phpt    |   62 +-
 .../Round3/GroupD/r3_groupD_compound1_002w.phpt    |   42 +-
 .../Round3/GroupD/r3_groupD_compound1_003w.phpt    |   42 +-
 .../Round3/GroupD/r3_groupD_compound2_001w.phpt    |   80 +-
 .../Round3/GroupD/r3_groupD_doclit_001w.phpt       |   42 +-
 .../Round3/GroupD/r3_groupD_doclit_002w.phpt       |   42 +-
 .../Round3/GroupD/r3_groupD_doclit_003w.phpt       |   60 +-
 .../Round3/GroupD/r3_groupD_doclit_004w.phpt       |   42 +-
 .../Round3/GroupD/r3_groupD_doclitparams_001w.phpt |   42 +-
 .../Round3/GroupD/r3_groupD_doclitparams_002w.phpt |   42 +-
 .../Round3/GroupD/r3_groupD_doclitparams_003w.phpt |   60 +-
 .../Round3/GroupD/r3_groupD_doclitparams_004w.phpt |   42 +-
 .../Round3/GroupD/r3_groupD_emptysa_001w.phpt      |   42 +-
 .../Round3/GroupD/r3_groupD_import1_001w.phpt      |   42 +-
 .../Round3/GroupD/r3_groupD_import2_001w.phpt      |   60 +-
 .../Round3/GroupD/r3_groupD_import3_001w.phpt      |   60 +-
 .../Round3/GroupD/r3_groupD_import3_002w.phpt      |   62 +-
 .../Round3/GroupD/r3_groupD_rpcenc_001w.phpt       |   42 +-
 .../Round3/GroupD/r3_groupD_rpcenc_002w.phpt       |   42 +-
 .../Round3/GroupD/r3_groupD_rpcenc_003w.phpt       |   60 +-
 .../Round3/GroupD/r3_groupD_rpcenc_004w.phpt       |   42 +-
 .../interop/Round3/GroupE/r3_groupE_list_001w.phpt |   74 +-
 .../interop/Round3/GroupE/r3_groupE_list_002w.phpt |   88 +-
 .../interop/Round3/GroupE/r3_groupE_list_003w.phpt |  102 +-
 .../interop/Round3/GroupE/r3_groupE_list_004w.phpt |   60 +-
 .../interop/Round3/GroupE/r3_groupE_list_005w.phpt |  146 +-
 .../interop/Round3/GroupE/r3_groupE_list_006w.phpt |  132 +-
 .../interop/Round3/GroupF/r3_groupF_ext_001w.phpt  |   42 +-
 .../Round3/GroupF/r3_groupF_extreq_001w.phpt       |   34 +-
 .../Round3/GroupF/r3_groupF_headers_001w.phpt      |   42 +-
 .../Round3/GroupF/r3_groupF_headers_002w.phpt      |   44 +-
 .../Round3/GroupF/r3_groupF_headers_003w.phpt      |   44 +-
 .../Round3/GroupF/r3_groupF_headers_004w.phpt      |   50 +-
 .../GroupH/r4_groupH_complex_doclit_001w.phpt      |   60 +-
 .../GroupH/r4_groupH_complex_doclit_002w.phpt      |   72 +-
 .../GroupH/r4_groupH_complex_doclit_003w.phpt      |   88 +-
 .../GroupH/r4_groupH_complex_doclit_004w.phpt      |   78 +-
 .../GroupH/r4_groupH_complex_doclit_005w.phpt      |   78 +-
 .../GroupH/r4_groupH_complex_doclit_006w.phpt      |   78 +-
 .../GroupH/r4_groupH_complex_doclit_007w.phpt      |  108 +-
 .../GroupH/r4_groupH_complex_doclit_008w.phpt      |  108 +-
 .../GroupH/r4_groupH_complex_doclit_009w.phpt      |  108 +-
 .../GroupH/r4_groupH_complex_doclit_010w.phpt      |  108 +-
 .../GroupH/r4_groupH_complex_rpcenc_001w.phpt      |   60 +-
 .../GroupH/r4_groupH_complex_rpcenc_002w.phpt      |   58 +-
 .../GroupH/r4_groupH_complex_rpcenc_003w.phpt      |   74 +-
 .../GroupH/r4_groupH_complex_rpcenc_004w.phpt      |   74 +-
 .../GroupH/r4_groupH_complex_rpcenc_005w.phpt      |   74 +-
 .../GroupH/r4_groupH_complex_rpcenc_006w.phpt      |   74 +-
 .../GroupH/r4_groupH_complex_rpcenc_007w.phpt      |   90 +-
 .../GroupH/r4_groupH_complex_rpcenc_008w.phpt      |   90 +-
 .../GroupH/r4_groupH_complex_rpcenc_009w.phpt      |   90 +-
 .../GroupH/r4_groupH_complex_rpcenc_010w.phpt      |   90 +-
 .../GroupH/r4_groupH_simple_doclit_001w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_doclit_002w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_doclit_003w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_doclit_004w.phpt       |   48 +-
 .../GroupH/r4_groupH_simple_doclit_005w.phpt       |   48 +-
 .../GroupH/r4_groupH_simple_doclit_006w.phpt       |   48 +-
 .../GroupH/r4_groupH_simple_doclit_007w.phpt       |   48 +-
 .../GroupH/r4_groupH_simple_doclit_008w.phpt       |   50 +-
 .../GroupH/r4_groupH_simple_doclit_009w.phpt       |   50 +-
 .../GroupH/r4_groupH_simple_doclit_010w.phpt       |   50 +-
 .../GroupH/r4_groupH_simple_doclit_011w.phpt       |   50 +-
 .../GroupH/r4_groupH_simple_doclit_012w.phpt       |   46 +-
 .../GroupH/r4_groupH_simple_doclit_013w.phpt       |   46 +-
 .../GroupH/r4_groupH_simple_doclit_014w.phpt       |   46 +-
 .../GroupH/r4_groupH_simple_doclit_015w.phpt       |   46 +-
 .../GroupH/r4_groupH_simple_doclit_016w.phpt       |   46 +-
 .../GroupH/r4_groupH_simple_doclit_017w.phpt       |   46 +-
 .../GroupH/r4_groupH_simple_rpcenc_001w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_rpcenc_002w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_rpcenc_003w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_rpcenc_004w.phpt       |   44 +-
 .../GroupH/r4_groupH_simple_rpcenc_005w.phpt       |   44 +-
 .../GroupH/r4_groupH_simple_rpcenc_006w.phpt       |   44 +-
 .../GroupH/r4_groupH_simple_rpcenc_007w.phpt       |   44 +-
 .../GroupH/r4_groupH_simple_rpcenc_008w.phpt       |   44 +-
 .../GroupH/r4_groupH_simple_rpcenc_009w.phpt       |   44 +-
 .../GroupH/r4_groupH_simple_rpcenc_010w.phpt       |   44 +-
 .../GroupH/r4_groupH_simple_rpcenc_011w.phpt       |   44 +-
 .../GroupH/r4_groupH_simple_rpcenc_012w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_rpcenc_013w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_rpcenc_014w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_rpcenc_015w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_rpcenc_016w.phpt       |   42 +-
 .../GroupH/r4_groupH_simple_rpcenc_017w.phpt       |   42 +-
 .../Round4/GroupH/r4_groupH_soapfault_001w.phpt    |   42 +-
 .../Round4/GroupH/r4_groupH_soapfault_002w.phpt    |   42 +-
 .../Round4/GroupH/r4_groupH_soapfault_003w.phpt    |   42 +-
 .../Round4/GroupH/r4_groupH_soapfault_004w.phpt    |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_001w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_002w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_003w.phpt  |   44 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_004w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_005w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_006w.phpt  |  Bin 1099 -> 1077 bytes
 .../interop/Round4/GroupI/r4_groupI_xsd_007w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_008w.phpt  |   60 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_009w.phpt  |   62 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_010w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_011w.phpt  |   44 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_012w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_013w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_014w.phpt  |   64 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_015w.phpt  |   62 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_016w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_017w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_018w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_019w.phpt  |   60 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_020w.phpt  |   62 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_021w.phpt  |   48 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_022w.phpt  |   46 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_023w.phpt  |   76 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_024w.phpt  |   64 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_025w.phpt  |   62 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_026w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_027w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_028w.phpt  |   60 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_029w.phpt  |   42 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_030w.phpt  |   44 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_031w.phpt  |   44 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_032w.phpt  |   46 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_033w.phpt  |   46 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_034w.phpt  |   44 +-
 .../interop/Round4/GroupI/r4_groupI_xsd_035w.phpt  |   46 +-
 ext/soap/tests/schema/test_schema.inc              |  154 +-
 ext/soap/tests/setheaders.phpt                     |   76 +-
 ext/soap/tests/soap12/T01.phpt                     |   46 +-
 ext/soap/tests/soap12/T02.phpt                     |   46 +-
 ext/soap/tests/soap12/T03.phpt                     |   44 +-
 ext/soap/tests/soap12/T04.phpt                     |   46 +-
 ext/soap/tests/soap12/T05.phpt                     |   46 +-
 ext/soap/tests/soap12/T10.phpt                     |   46 +-
 ext/soap/tests/soap12/T11.phpt                     |   48 +-
 ext/soap/tests/soap12/T12.phpt                     |   46 +-
 ext/soap/tests/soap12/T13.phpt                     |   46 +-
 ext/soap/tests/soap12/T14.phpt                     |   46 +-
 ext/soap/tests/soap12/T15.phpt                     |   48 +-
 ext/soap/tests/soap12/T19.phpt                     |   48 +-
 ext/soap/tests/soap12/T22.phpt                     |   48 +-
 ext/soap/tests/soap12/T23.phpt                     |   48 +-
 ext/soap/tests/soap12/T24.phpt                     |   42 +-
 ext/soap/tests/soap12/T25.phpt                     |   44 +-
 ext/soap/tests/soap12/T26.phpt                     |   42 +-
 ext/soap/tests/soap12/T27.phpt                     |   58 +-
 ext/soap/tests/soap12/T28.phpt                     |   44 +-
 ext/soap/tests/soap12/T29.phpt                     |   46 +-
 ext/soap/tests/soap12/T30.phpt                     |   40 +-
 ext/soap/tests/soap12/T31.phpt                     |   44 +-
 ext/soap/tests/soap12/T32.phpt                     |   50 +-
 ext/soap/tests/soap12/T33.phpt                     |   40 +-
 ext/soap/tests/soap12/T34.phpt                     |   48 +-
 ext/soap/tests/soap12/T35.phpt                     |   48 +-
 ext/soap/tests/soap12/T36.phpt                     |   46 +-
 ext/soap/tests/soap12/T37.phpt                     |   46 +-
 ext/soap/tests/soap12/T38_1.phpt                   |   54 +-
 ext/soap/tests/soap12/T38_2.phpt                   |   54 +-
 ext/soap/tests/soap12/T39.phpt                     |   44 +-
 ext/soap/tests/soap12/T40.phpt                     |   50 +-
 ext/soap/tests/soap12/T41.phpt                     |   60 +-
 ext/soap/tests/soap12/T42.phpt                     |   82 +-
 ext/soap/tests/soap12/T43.phpt                     |   60 +-
 ext/soap/tests/soap12/T44.phpt                     |   54 +-
 ext/soap/tests/soap12/T45.phpt                     |   70 +-
 ext/soap/tests/soap12/T46.phpt                     |   72 +-
 ext/soap/tests/soap12/T47.phpt                     |   62 +-
 ext/soap/tests/soap12/T48.phpt                     |   58 +-
 ext/soap/tests/soap12/T49.phpt                     |   58 +-
 ext/soap/tests/soap12/T50.phpt                     |   58 +-
 ext/soap/tests/soap12/T51.phpt                     |   54 +-
 ext/soap/tests/soap12/T52.phpt                     |   50 +-
 ext/soap/tests/soap12/T53.phpt                     |   50 +-
 ext/soap/tests/soap12/T54.phpt                     |   50 +-
 ext/soap/tests/soap12/T55.phpt                     |   50 +-
 ext/soap/tests/soap12/T56.phpt                     |   68 +-
 ext/soap/tests/soap12/T57.phpt                     |   64 +-
 ext/soap/tests/soap12/T58.phpt                     |   56 +-
 ext/soap/tests/soap12/T59.phpt                     |   56 +-
 ext/soap/tests/soap12/T60.phpt                     |   58 +-
 ext/soap/tests/soap12/T61.phpt                     |   56 +-
 ext/soap/tests/soap12/T63.phpt                     |   50 +-
 ext/soap/tests/soap12/T64.phpt                     |   48 +-
 ext/soap/tests/soap12/T65.phpt                     |   52 +-
 ext/soap/tests/soap12/T66.phpt                     |   46 +-
 ext/soap/tests/soap12/T67.phpt                     |   46 +-
 ext/soap/tests/soap12/T68.phpt                     |   64 +-
 ext/soap/tests/soap12/T69.phpt                     |   38 +-
 ext/soap/tests/soap12/T70.phpt                     |   46 +-
 ext/soap/tests/soap12/T71.phpt                     |   48 +-
 ext/soap/tests/soap12/T72.phpt                     |   44 +-
 ext/soap/tests/soap12/T73.phpt                     |   52 +-
 ext/soap/tests/soap12/T74.phpt                     |   56 +-
 ext/soap/tests/soap12/T75.phpt                     |   56 +-
 ext/soap/tests/soap12/T76_1.phpt                   |   50 +-
 ext/soap/tests/soap12/T76_2.phpt                   |   64 +-
 ext/soap/tests/soap12/T77_1.phpt                   |   50 +-
 ext/soap/tests/soap12/T77_2.phpt                   |   48 +-
 ext/soap/tests/soap12/T77_3.phpt                   |   54 +-
 ext/soap/tests/soap12/T78.phpt                     |   46 +-
 ext/soap/tests/soap12/T80.phpt                     |   38 +-
 ext/soap/tests/soap12/soap12-test.inc              |  262 +-
 ext/sockets/config.m4                              |    2 +-
 ext/sockets/config.w32                             |    2 +-
 ext/sockets/php_sockets.h                          |    2 +-
 ext/sockets/php_sockets_win.c                      |    2 +-
 ext/sockets/php_sockets_win.h                      |    2 +-
 ext/sockets/sockets.c                              |    6 +-
 ext/sockets/tests/bug46360.phpt                    |   17 +
 ext/sockets/tests/socket_bind.phpt                 |   38 +
 ext/sockets/tests/socket_bind_params.phpt          |   29 +
 ext/sockets/tests/socket_close_params.phpt         |   21 +
 ext/sockets/tests/socket_connect_error.phpt        |   33 +
 ext/sockets/tests/socket_connect_params.phpt       |   33 +
 ext/sockets/tests/socket_create_listen.phpt        |    6 +-
 ext/sockets/tests/socket_create_listen_params.phpt |   23 +
 ext/sockets/tests/socket_create_listen_used.phpt   |   30 +
 .../tests/socket_create_pair-wrongparams.phpt      |    6 +-
 ext/sockets/tests/socket_create_params.phpt        |   24 +
 ext/sockets/tests/socket_getpeername.phpt          |   33 +
 ext/sockets/tests/socket_getpeername_ipv4loop.phpt |   59 +
 ext/sockets/tests/socket_getpeername_ipv6loop.phpt |   59 +
 ext/sockets/tests/socket_getsockname.phpt          |   32 +
 ext/sockets/tests/socket_listen_params.phpt        |   21 +
 ext/sockets/tests/socket_read_params.phpt          |   28 +
 .../tests/socket_sentto_recvfrom_ipv4_udp.phpt     |    2 +-
 ext/sockets/tests/socket_sentto_recvfrom_unix.phpt |   10 +-
 ext/sockets/tests/socket_set_block-retval.phpt     |    4 +-
 ext/sockets/tests/socket_set_nonblock-retval.phpt  |    4 +-
 ext/sockets/tests/socket_set_nonblock.phpt         |   24 +
 ext/sockets/tests/socket_strerror.phpt             |  154 +
 ext/sockets/tests/socket_write_params.phpt         |   28 +
 ext/sockets/unix_socket_constants.h                |    2 +-
 ext/sockets/win32_socket_constants.h               |    2 +-
 ext/spl/TODO                                       |    6 +-
 ext/spl/config.m4                                  |    2 +-
 ext/spl/config.w32                                 |    2 +-
 ext/spl/examples/autoload.inc                      |   98 +-
 ext/spl/examples/cachingrecursiveiterator.inc      |   54 +-
 ext/spl/examples/class_tree.php                    |  172 +-
 ext/spl/examples/dba_array.php                     |  102 +-
 ext/spl/examples/dba_dump.php                      |   82 +-
 ext/spl/examples/dbaarray.inc                      |  194 +-
 ext/spl/examples/dbareader.inc                     |  190 +-
 ext/spl/examples/directoryfilterdots.inc           |   90 +-
 ext/spl/examples/directorygraphiterator.inc        |   66 +-
 ext/spl/examples/directorytree.inc                 |   52 +-
 ext/spl/examples/directorytree.php                 |   72 +-
 ext/spl/examples/directorytreeiterator.inc         |  106 +-
 ext/spl/examples/ini_groups.php                    |   80 +-
 ext/spl/examples/keyfilter.inc                     |  126 +-
 ext/spl/examples/nocvsdir.php                      |  108 +-
 ext/spl/examples/searchiterator.inc                |  114 +-
 ext/spl/examples/tree.php                          |   80 +-
 ext/spl/php_spl.c                                  |   20 +-
 ext/spl/spl_array.c                                |    2 +-
 ext/spl/spl_array.h                                |    2 +-
 ext/spl/spl_directory.c                            |    8 +-
 ext/spl/spl_directory.h                            |    3 +-
 ext/spl/spl_engine.h                               |    2 +-
 ext/spl/spl_exceptions.c                           |    2 +-
 ext/spl/spl_exceptions.h                           |    2 +-
 ext/spl/spl_functions.c                            |    2 +-
 ext/spl/spl_functions.h                            |    2 +-
 ext/spl/spl_iterators.c                            |    2 +-
 ext/spl/spl_iterators.h                            |    2 +-
 ext/spl/spl_observer.c                             |    2 +-
 ext/spl/spl_observer.h                             |    2 +-
 ext/spl/spl_sxe.c                                  |    2 +-
 ext/spl/spl_sxe.h                                  |    2 +-
 ext/spl/tests/DirectoryIterator_by_reference.phpt  |   14 +
 .../tests/DirectoryIterator_empty_constructor.phpt |   15 +
 .../tests/DirectoryIterator_getGroup_basic.phpt    |   30 +
 .../tests/DirectoryIterator_getInode_basic.phpt    |   29 +
 .../tests/DirectoryIterator_getInode_error.phpt    |   28 +
 .../tests/DirectoryIterator_getOwner_basic.phpt    |   29 +
 ext/spl/tests/SplFileInfo_getGroup_basic.phpt      |   30 +
 ext/spl/tests/SplFileInfo_getGroup_error.phpt      |   28 +
 ext/spl/tests/SplFileInfo_getInode_basic.phpt      |   30 +
 ext/spl/tests/SplFileInfo_getInode_error.phpt      |   28 +
 ext/spl/tests/SplFileInfo_getOwner_basic.phpt      |   30 +
 ext/spl/tests/SplFileInfo_getOwner_error.phpt      |   28 +
 ext/spl/tests/SplFileInfo_getPerms_basic.phpt      |   30 +
 ext/spl/tests/SplFileInfo_getPerms_error.phpt      |   28 +
 ext/spl/tests/arrayObject___construct_basic1.phpt  |   74 +-
 ext/spl/tests/arrayObject___construct_basic2.phpt  |  194 +-
 ext/spl/tests/arrayObject___construct_basic3.phpt  |  196 +-
 ext/spl/tests/arrayObject___construct_basic4.phpt  |  202 +-
 ext/spl/tests/arrayObject___construct_basic5.phpt  |  202 +-
 ext/spl/tests/arrayObject___construct_basic6.phpt  |   98 +-
 ext/spl/tests/arrayObject___construct_error2.phpt  |   42 +-
 ext/spl/tests/arrayObject_asort_basic1.phpt        |   82 +-
 ext/spl/tests/arrayObject_asort_basic2.phpt        |   96 +-
 ext/spl/tests/arrayObject_clone_basic1.phpt        |   82 +-
 ext/spl/tests/arrayObject_clone_basic2.phpt        |   80 +-
 ext/spl/tests/arrayObject_clone_basic3.phpt        |  134 +-
 ext/spl/tests/arrayObject_count_basic1.phpt        |  158 +-
 .../tests/arrayObject_exchangeArray_basic3.phpt    |  242 +-
 ext/spl/tests/arrayObject_getFlags_basic1.phpt     |   48 +-
 ext/spl/tests/arrayObject_getFlags_basic2.phpt     |   46 +-
 .../tests/arrayObject_getIteratorClass_basic1.phpt |  206 +-
 ext/spl/tests/arrayObject_ksort_basic1.phpt        |    2 +-
 ext/spl/tests/arrayObject_ksort_basic2.phpt        |    2 +-
 ext/spl/tests/arrayObject_magicMethods1.phpt       |  364 ++--
 ext/spl/tests/arrayObject_magicMethods2.phpt       |  346 ++--
 ext/spl/tests/arrayObject_magicMethods3.phpt       |  364 ++--
 ext/spl/tests/arrayObject_magicMethods4.phpt       |  370 ++--
 ext/spl/tests/arrayObject_magicMethods5.phpt       |  372 ++--
 ext/spl/tests/arrayObject_magicMethods6.phpt       |  372 ++--
 ext/spl/tests/arrayObject_natcasesort_basic1.phpt  |    2 +-
 ext/spl/tests/arrayObject_natsort_basic1.phpt      |    2 +-
 ext/spl/tests/arrayObject_setFlags_basic1.phpt     |  102 +-
 ext/spl/tests/arrayObject_setFlags_basic2.phpt     |   58 +-
 .../tests/arrayObject_setIteratorClass_error1.phpt |  114 +-
 ext/spl/tests/arrayObject_uasort_basic1.phpt       |    2 +-
 ext/spl/tests/arrayObject_uasort_error1.phpt       |    2 +-
 ext/spl/tests/arrayObject_uksort_basic1.phpt       |    2 +-
 ext/spl/tests/arrayObject_uksort_error1.phpt       |    2 +-
 ext/spl/tests/array_015.phpt                       |  174 +-
 ext/spl/tests/bug31346.phpt                        |   42 +-
 ext/spl/tests/bug31348.phpt                        |   34 +-
 ext/spl/tests/bug31926.phpt                        |   36 +-
 ext/spl/tests/bug40091.phpt                        |   10 +-
 ext/spl/tests/bug42364.phpt                        |    2 +-
 ext/spl/tests/bug44144.phpt                        |   27 +
 ext/spl/tests/countable_class_basic1.phpt          |   56 +-
 ext/spl/tests/countable_count_variation1.phpt      |  134 +-
 ext/spl/tests/iterator_044.phpt.orig               |  169 --
 ext/spl/tests/iterator_count.phpt                  |   52 +-
 ext/spl/tests/iterator_to_array.phpt               |   50 +-
 ext/spl/tests/regexiterator_getpregflags.phpt      |   64 +-
 .../tests/regexiterator_setflags_exception.phpt    |   68 +-
 ext/spl/tests/regexiterator_setpregflags.phpt      |   66 +-
 .../regexiterator_setpregflags_exception.phpt      |   70 +-
 ext/spl/tests/spl_autoload_001.phpt                |  276 +-
 ext/spl/tests/spl_autoload_003.phpt                |   92 +-
 ext/spl/tests/spl_autoload_004.phpt                |   90 +-
 ext/spl/tests/spl_autoload_005.phpt                |  114 +-
 ext/spl/tests/spl_autoload_006.phpt                |   78 +-
 ext/spl/tests/spl_autoload_007.phpt                |  280 +-
 ext/spl/tests/spl_autoload_008.phpt                |  262 +-
 ext/spl/tests/spl_autoload_009.phpt                |   56 +-
 .../tests/spl_fileinfo_getlinktarget_basic.phpt    |   44 +-
 .../spl_recursive_iterator_iterator_key_case.phpt  |   66 +-
 ext/spl/tests/testclass                            |    8 +-
 ext/spl/tests/testclass.class.inc                  |   16 +-
 ext/spl/tests/testclass.inc                        |    8 +-
 ext/spl/tests/testclass.php.inc                    |    8 +-
 ext/sqlite/config.m4                               |    2 +-
 ext/sqlite/config.w32                              |    2 +-
 ext/sqlite/libsqlite/src/attach.c                  |    2 +-
 ext/sqlite/libsqlite/src/auth.c                    |    2 +-
 ext/sqlite/libsqlite/src/btree.c                   |    2 +-
 ext/sqlite/libsqlite/src/btree.h                   |    2 +-
 ext/sqlite/libsqlite/src/btree_rb.c                |    2 +-
 ext/sqlite/libsqlite/src/build.c                   |    2 +-
 ext/sqlite/libsqlite/src/copy.c                    |    2 +-
 ext/sqlite/libsqlite/src/date.c                    |    2 +-
 ext/sqlite/libsqlite/src/delete.c                  |    2 +-
 ext/sqlite/libsqlite/src/encode.c                  |    2 +-
 ext/sqlite/libsqlite/src/expr.c                    |    2 +-
 ext/sqlite/libsqlite/src/func.c                    |    2 +-
 ext/sqlite/libsqlite/src/hash.c                    |    2 +-
 ext/sqlite/libsqlite/src/hash.h                    |    2 +-
 ext/sqlite/libsqlite/src/insert.c                  |    2 +-
 ext/sqlite/libsqlite/src/main.c                    |    2 +-
 ext/sqlite/libsqlite/src/pager.c                   |    2 +-
 ext/sqlite/libsqlite/src/pager.h                   |    2 +-
 ext/sqlite/libsqlite/src/parse.y                   |    2 +-
 ext/sqlite/libsqlite/src/pragma.c                  |    2 +-
 ext/sqlite/libsqlite/src/random.c                  |    2 +-
 ext/sqlite/libsqlite/src/select.c                  |    2 +-
 ext/sqlite/libsqlite/src/sqlite.h.in               |    2 +-
 ext/sqlite/libsqlite/src/sqlite.w32.h              |    2 +-
 ext/sqlite/libsqlite/src/sqliteInt.h               |    2 +-
 ext/sqlite/libsqlite/src/tokenize.c                |    2 +-
 ext/sqlite/libsqlite/src/update.c                  |    2 +-
 ext/sqlite/libsqlite/src/util.c                    |    2 +-
 ext/sqlite/libsqlite/src/vacuum.c                  |    2 +-
 ext/sqlite/libsqlite/src/vdbe.c                    |    2 +-
 ext/sqlite/libsqlite/src/vdbe.h                    |    2 +-
 ext/sqlite/libsqlite/src/where.c                   |    2 +-
 ext/sqlite/pdo_sqlite2.c                           |    2 +-
 ext/sqlite/php_sqlite.h                            |    2 +-
 ext/sqlite/sess_sqlite.c                           |    2 +-
 ext/sqlite/sqlite.c                                |    9 +-
 ext/sqlite/tests/bug28112.phpt                     |   32 +-
 ext/sqlite/tests/bug48679.phpt                     |   20 +
 ext/standard/array.c                               |   55 +-
 ext/standard/assert.c                              |    3 +-
 ext/standard/base64.c                              |    2 +-
 ext/standard/base64.h                              |    2 +-
 ext/standard/basic_functions.c                     |   10 +-
 ext/standard/basic_functions.h                     |    5 +-
 ext/standard/browscap.c                            |    2 +-
 ext/standard/config.m4                             |    6 +-
 ext/standard/config.w32                            |    4 +-
 ext/standard/crc32.c                               |    2 +-
 ext/standard/crc32.h                               |    2 +-
 ext/standard/credits.c                             |    2 +-
 ext/standard/credits.h                             |    2 +-
 ext/standard/crypt.c                               |    2 +-
 ext/standard/css.c                                 |    2 +-
 ext/standard/css.h                                 |    2 +-
 ext/standard/cyr_convert.c                         |    2 +-
 ext/standard/cyr_convert.h                         |    2 +-
 ext/standard/datetime.c                            |    2 +-
 ext/standard/datetime.h                            |    2 +-
 ext/standard/dir.c                                 |    2 +-
 ext/standard/dl.c                                  |    2 +-
 ext/standard/dl.h                                  |    2 +-
 ext/standard/dns.c                                 |    4 +-
 ext/standard/dns.h                                 |   54 -
 ext/standard/exec.c                                |    2 +-
 ext/standard/exec.h                                |    2 +-
 ext/standard/file.c                                |    2 +-
 ext/standard/file.h                                |    2 +-
 ext/standard/filestat.c                            |    2 +-
 ext/standard/filters.c                             |    2 +-
 ext/standard/flock_compat.c                        |    2 +-
 ext/standard/flock_compat.h                        |    2 +-
 ext/standard/formatted_print.c                     |   14 +-
 ext/standard/fsock.c                               |    2 +-
 ext/standard/fsock.h                               |    2 +-
 ext/standard/ftok.c                                |    2 +-
 ext/standard/ftp_fopen_wrapper.c                   |    2 +-
 ext/standard/head.c                                |   12 +-
 ext/standard/head.h                                |    2 +-
 ext/standard/html.c                                |    2 +-
 ext/standard/html.h                                |    2 +-
 ext/standard/http.c                                |    2 +-
 ext/standard/http_fopen_wrapper.c                  |   11 +-
 ext/standard/image.c                               |    2 +-
 ext/standard/incomplete_class.c                    |    2 +-
 ext/standard/info.c                                |    2 +-
 ext/standard/info.h                                |    2 +-
 ext/standard/iptc.c                                |    2 +-
 ext/standard/lcg.c                                 |    2 +-
 ext/standard/levenshtein.c                         |    2 +-
 ext/standard/link.c                                |    2 +-
 ext/standard/mail.c                                |    2 +-
 ext/standard/math.c                                |    2 +-
 ext/standard/md5.c                                 |    2 +-
 ext/standard/md5.h                                 |    2 +-
 ext/standard/metaphone.c                           |    9 +-
 ext/standard/microtime.c                           |    2 +-
 ext/standard/microtime.h                           |    2 +-
 ext/standard/pack.c                                |   12 +-
 ext/standard/pack.h                                |    2 +-
 ext/standard/pageinfo.c                            |    2 +-
 ext/standard/pageinfo.h                            |    2 +-
 ext/standard/php_array.h                           |    2 +-
 ext/standard/php_assert.h                          |    2 +-
 ext/standard/php_browscap.h                        |    2 +-
 ext/standard/php_crypt.h                           |    2 +-
 ext/standard/php_dir.h                             |    2 +-
 ext/standard/php_dns.h                             |   54 +
 ext/standard/php_ext_syslog.h                      |    2 +-
 ext/standard/php_filestat.h                        |    2 +-
 ext/standard/php_fopen_wrapper.c                   |   67 +-
 ext/standard/php_fopen_wrappers.h                  |    2 +-
 ext/standard/php_ftok.h                            |    2 +-
 ext/standard/php_http.h                            |    2 +-
 ext/standard/php_image.h                           |    2 +-
 ext/standard/php_incomplete_class.h                |    2 +-
 ext/standard/php_iptc.h                            |    2 +-
 ext/standard/php_lcg.h                             |    2 +-
 ext/standard/php_link.h                            |    2 +-
 ext/standard/php_mail.h                            |    2 +-
 ext/standard/php_math.h                            |    2 +-
 ext/standard/php_metaphone.h                       |    2 +-
 ext/standard/php_rand.h                            |    2 +-
 ext/standard/php_smart_str.h                       |    2 +-
 ext/standard/php_smart_str_public.h                |    2 +-
 ext/standard/php_standard.h                        |    4 +-
 ext/standard/php_string.h                          |    2 +-
 ext/standard/php_type.h                            |    2 +-
 ext/standard/php_uuencode.h                        |    2 +-
 ext/standard/php_var.h                             |    2 +-
 ext/standard/php_versioning.h                      |    2 +-
 ext/standard/proc_open.c                           |   33 +-
 ext/standard/proc_open.h                           |    2 +-
 ext/standard/quot_print.c                          |    2 +-
 ext/standard/quot_print.h                          |    2 +-
 ext/standard/rand.c                                |    2 +-
 ext/standard/reg.c                                 |    2 +-
 ext/standard/reg.h                                 |    2 +-
 ext/standard/scanf.c                               |    2 +-
 ext/standard/scanf.h                               |    2 +-
 ext/standard/sha1.c                                |    2 +-
 ext/standard/sha1.h                                |    2 +-
 ext/standard/soundex.c                             |    2 +-
 ext/standard/streamsfuncs.c                        |   27 +-
 ext/standard/streamsfuncs.h                        |    2 +-
 ext/standard/string.c                              |    6 +-
 ext/standard/strnatcmp.c                           |   24 +-
 ext/standard/syslog.c                              |    2 +-
 ext/standard/tests/array/array_chunk2.phpt         |  292 +-
 ext/standard/tests/array/array_combine.phpt        |  242 +-
 ext/standard/tests/array/array_count_values2.phpt  |   86 +-
 ext/standard/tests/array/array_diff_assoc.phpt     |   98 +-
 ext/standard/tests/array/array_diff_key2.phpt      |   88 +-
 ext/standard/tests/array/array_fill.phpt           |  732 +++---
 ext/standard/tests/array/array_filter.phpt         |  186 +-
 ext/standard/tests/array/array_flip.phpt           |  116 +-
 ext/standard/tests/array/array_product_error.phpt  |   88 +-
 .../tests/array/array_product_variation1.phpt      |  114 +-
 .../tests/array/array_product_variation2.phpt      |   44 +-
 .../tests/array/array_product_variation3.phpt      |   94 +-
 .../tests/array/array_product_variation4.phpt      |   58 +-
 .../tests/array/array_product_variation5.phpt      |  444 ++--
 ext/standard/tests/array/bug33989.phpt             |   20 +-
 ext/standard/tests/array/bug34982.phpt             |   80 +-
 ext/standard/tests/array/bug40709.phpt             |    1 -
 ext/standard/tests/array/bug44929.phpt             |    8 +-
 ext/standard/tests/array/key_exists_basic.phpt     |   15 +
 ext/standard/tests/array/key_exists_error.phpt     |   23 +
 .../tests/array/key_exists_variation1.phpt         |   15 +
 .../tests/array/key_exists_variation2.phpt         |   72 +
 ext/standard/tests/array/max_basiclong_64bit.phpt  |   35 +
 ext/standard/tests/array/min_basiclong_64bit.phpt  |   35 +
 .../tests/array/unexpected_array_mod_bug.phpt      |   21 +
 ext/standard/tests/dir/readdir_variation7.phpt     |    8 -
 ext/standard/tests/file/bug39538.phpt              |    4 +-
 .../tests/file/file_get_contents_basic001.phpt     |   21 +
 .../tests/file/file_get_contents_error001.phpt     |   18 +
 .../tests/file/file_get_contents_error002.phpt     |   18 +
 .../tests/file/include_userstream_001.phpt         |  164 +-
 .../tests/file/include_userstream_002.phpt         |  212 +-
 .../tests/file/is_uploaded_file_basic.phpt         |    2 -
 ext/standard/tests/file/lchgrp_basic.phpt          |   36 +
 .../tests/file/move_uploaded_file_basic.phpt       |    2 -
 ext/standard/tests/file/touch_variation5.phpt      |    4 +-
 ext/standard/tests/file/unlink_variation8.phpt     |    6 +-
 ext/standard/tests/general_functions/bug25038.phpt |   64 +-
 ext/standard/tests/general_functions/bug35229.phpt |   60 +-
 ext/standard/tests/general_functions/bug48660.phpt |   58 +
 ext/standard/tests/general_functions/bug49056.phpt |   26 +
 .../tests/general_functions/get_cfg_var_basic.phpt |   24 +
 .../tests/general_functions/get_cfg_var_error.phpt |   27 +
 .../general_functions/get_cfg_var_variation1.phpt  |   46 +
 .../general_functions/get_cfg_var_variation2.phpt  |   35 +
 .../general_functions/get_cfg_var_variation3.phpt  |   42 +
 .../general_functions/get_cfg_var_variation4.phpt  |   37 +
 .../general_functions/get_cfg_var_variation5.phpt  |   35 +
 .../general_functions/get_cfg_var_variation6.phpt  |   41 +
 .../general_functions/get_cfg_var_variation7.phpt  |   39 +
 .../general_functions/get_cfg_var_variation8.phpt  |   20 +
 .../general_functions/get_cfg_var_variation9.phpt  |   37 +
 .../get_defined_constants_basic.phpt               |   39 +
 .../get_defined_constants_error.phpt               |   25 +
 .../get_loaded_extensions_basic.phpt               |   23 +
 .../get_loaded_extensions_error.phpt               |   26 +
 .../general_functions/get_resource_type_basic.phpt |   20 +
 .../general_functions/get_resource_type_error.phpt |   34 +
 .../get_resource_type_variation1.phpt              |   74 +
 .../general_functions/getservbyname_basic.phpt     |   31 +
 .../general_functions/getservbyname_error.phpt     |   21 +
 .../getservbyname_variation1.phpt                  |   40 +
 .../getservbyname_variation10.phpt                 |   36 +
 .../getservbyname_variation11.phpt                 |   30 +
 .../getservbyname_variation12.phpt                 |   29 +
 .../getservbyname_variation13.phpt                 |   37 +
 .../getservbyname_variation14.phpt                 |   33 +
 .../getservbyname_variation2.phpt                  |   29 +
 .../getservbyname_variation3.phpt                  |   36 +
 .../getservbyname_variation4.phpt                  |   31 +
 .../getservbyname_variation5.phpt                  |   29 +
 .../getservbyname_variation6.phpt                  |   37 +
 .../getservbyname_variation7.phpt                  |   33 +
 .../getservbyname_variation8.phpt                  |   40 +
 .../getservbyname_variation9.phpt                  |   28 +
 .../general_functions/getservbyport_basic.phpt     |   26 +
 .../general_functions/getservbyport_error.phpt     |   21 +
 .../tests/general_functions/is_resource_basic.phpt |   92 +
 .../tests/general_functions/is_resource_error.phpt |   34 +
 .../tests/general_functions/isset_basic1.phpt      |   66 +
 .../tests/general_functions/isset_basic2.phpt      |   60 +
 .../tests/general_functions/phpcredits2.phpt       |    2 -
 ext/standard/tests/general_functions/phpinfo2.phpt |    2 -
 .../tests/general_functions/proc_nice_basic.phpt   |   27 +
 .../tests/general_functions/proc_nice_error.phpt   |   21 +
 .../general_functions/proc_nice_variation1.phpt    |   44 +
 .../general_functions/proc_nice_variation2.phpt    |   33 +
 .../general_functions/proc_nice_variation3.phpt    |   44 +
 .../general_functions/proc_nice_variation5.phpt    |   35 +
 .../general_functions/proc_nice_variation6.phpt    |   52 +
 .../general_functions/proc_nice_variation7.phpt    |   45 +
 .../tests/general_functions/sleep_basic.phpt       |   40 +
 .../tests/general_functions/sleep_error.phpt       |   44 +
 .../tests/general_functions/uniqid_basic.phpt      |   73 +
 .../tests/general_functions/uniqid_error.phpt      |   46 +
 .../tests/general_functions/usleep_basic.phpt      |   39 +
 .../tests/general_functions/usleep_error.phpt      |   44 +
 .../tests/general_functions/var_dump_64bit.phpt    |    6 +-
 ext/standard/tests/http/bug43510.phpt              |   28 +
 ext/standard/tests/http/bug48929.phpt              |   56 +
 ext/standard/tests/math/abs.phpt                   |    2 +-
 ext/standard/tests/math/acosh_basic.phpt           |    7 +-
 ext/standard/tests/math/acosh_basiclong_64bit.phpt |    3 +-
 ext/standard/tests/math/acosh_error.phpt           |    7 +-
 ext/standard/tests/math/acosh_variation.phpt       |    7 +-
 ext/standard/tests/math/asinh_basic.phpt           |    7 +-
 ext/standard/tests/math/asinh_basiclong_64bit.phpt |    1 +
 ext/standard/tests/math/asinh_error.phpt           |    7 +-
 ext/standard/tests/math/asinh_variation.phpt       |    7 +-
 ext/standard/tests/math/atanh_basic.phpt           |    7 +-
 ext/standard/tests/math/atanh_basiclong_64bit.phpt |    1 +
 ext/standard/tests/math/atanh_error.phpt           |    7 +-
 ext/standard/tests/math/atanh_variation.phpt       |    7 +-
 ext/standard/tests/math/bug21523.phpt              |    2 +-
 ext/standard/tests/math/bug24142.phpt              |    2 +-
 ext/standard/tests/math/ceil_basic.phpt            |    6 +-
 ext/standard/tests/math/log.phpt                   |    2 +-
 ext/standard/tests/math/pow.phpt                   |    2 +-
 ext/standard/tests/math/round.phpt                 |    2 +-
 ext/standard/tests/misc/time_nanosleep_error4.phpt |    2 +-
 .../tests/misc/time_sleep_until_basic.phpt         |   20 +
 .../tests/misc/time_sleep_until_error1.phpt        |   19 +
 .../tests/misc/time_sleep_until_error2.phpt        |   12 +
 .../tests/misc/time_sleep_until_error3.phpt        |   18 +
 .../tests/network/gethostbyaddr_basic1.phpt        |   18 +
 .../tests/network/gethostbyname_basic003.phpt      |   18 +
 .../tests/network/gethostbynamel_basic1.phpt       |   19 +
 ext/standard/tests/php_ini_loaded_file.phpt        |   12 +
 ext/standard/tests/php_logo_guid.phpt              |   13 +
 ext/standard/tests/php_real_logo_guid.phpt         |   12 +
 .../tests/serialize/autoload_implements.p5c        |   18 +-
 .../tests/serialize/autoload_interface.p5c         |   12 +-
 ext/standard/tests/serialize/bug31442.phpt         |   20 +-
 ext/standard/tests/serialize/bug37947.phpt         |   42 +-
 ext/standard/tests/serialize/unserializeS.phpt     |   28 +-
 ext/standard/tests/streams/stream_is_local.phpt    |   17 +
 ext/standard/tests/strings/006.phpt                |    2 +-
 ext/standard/tests/strings/addslashes_basic.phpt   |    3 +-
 ext/standard/tests/strings/addslashes_error.phpt   |    1 -
 .../tests/strings/addslashes_variation1.phpt       |    1 -
 .../tests/strings/addslashes_variation2.phpt       |    3 +-
 .../tests/strings/addslashes_variation3.phpt       |    1 -
 ext/standard/tests/strings/bug38770.phpt           |    4 +
 ext/standard/tests/strings/bug47481.phpt           |   57 +
 ext/standard/tests/strings/bug48709.phpt           |   31 +
 ext/standard/tests/strings/chop_variation1.phpt    |  420 ++--
 ext/standard/tests/strings/chop_variation2.phpt    |  346 ++--
 .../tests/strings/chunk_split_variation1.phpt      |  332 +-
 .../tests/strings/chunk_split_variation2.phpt      |  347 ++--
 .../tests/strings/chunk_split_variation3.phpt      |  314 +-
 .../tests/strings/chunk_split_variation5.phpt      |  Bin 2191 -> 2288 bytes
 .../tests/strings/chunk_split_variation8.phpt      |   10 +-
 ext/standard/tests/strings/crc32_variation1.phpt   |  392 ++--
 ext/standard/tests/strings/htmlentities02.phpt     |    1 -
 ext/standard/tests/strings/htmlentities04.phpt     |    1 -
 ext/standard/tests/strings/htmlentities09.phpt     |    4 +-
 ext/standard/tests/strings/htmlentities15.phpt     |    1 -
 ext/standard/tests/strings/htmlentities16.phpt     |    6 +-
 .../tests/strings/htmlspecialchars_basic.phpt      |   97 +
 .../htmlspecialchars_decode_variation1.phpt        |   98 +-
 .../htmlspecialchars_decode_variation6.phpt        |  Bin 1373 -> 1528 bytes
 ext/standard/tests/strings/join_variation1.phpt    |  332 +-
 ext/standard/tests/strings/join_variation6.phpt    |  Bin 737 -> 729 bytes
 ext/standard/tests/strings/md5_basic1.phpt         |   17 +
 ext/standard/tests/strings/md5_basic2.phpt         |   30 +
 ext/standard/tests/strings/md5_error.phpt          |   35 +
 .../tests/strings/money_format_basic1.phpt         |   64 +-
 .../tests/strings/money_format_basic2.phpt         |   84 -
 .../tests/strings/money_format_basic3.phpt         |   83 -
 ext/standard/tests/strings/money_format_error.phpt |    4 +
 .../tests/strings/money_format_variation1.phpt     |   61 +-
 .../tests/strings/money_format_variation2.phpt     |   53 +-
 ext/standard/tests/strings/moneyformat.phpt        |    4 +
 ext/standard/tests/strings/parse_str_basic1.phpt   |   76 +
 ext/standard/tests/strings/parse_str_basic2.phpt   |   26 +
 ext/standard/tests/strings/parse_str_basic3.phpt   |  268 ++
 ext/standard/tests/strings/parse_str_basic4.phpt   |   87 +
 ext/standard/tests/strings/parse_str_error1.phpt   |   32 +
 ext/standard/tests/strings/show_source_basic.phpt  |   27 +
 .../tests/strings/show_source_variation1.phpt      |   28 +
 .../tests/strings/show_source_variation2.phpt      |   27 +
 ext/standard/tests/strings/soundex_basic.phpt      |   46 +
 ext/standard/tests/strings/soundex_error.phpt      |   34 +
 ext/standard/tests/strings/str_replace_basic.phpt  |   49 +
 ext/standard/tests/strings/str_replace_error.phpt  |   41 +
 .../tests/strings/str_replace_variation1.phpt      |  392 +++
 .../tests/strings/str_replace_variation2.phpt      |  Bin 0 -> 12679 bytes
 .../tests/strings/str_replace_variation3.phpt      |  227 ++
 ext/standard/tests/strings/str_rot13_basic.phpt    |   55 +
 ext/standard/tests/strings/str_rot13_error.phpt    |   32 +
 ext/standard/tests/strings/strcspn_variation1.phpt |  544 ++--
 ext/standard/tests/strings/strcspn_variation2.phpt |  542 ++--
 ext/standard/tests/strings/strcspn_variation4.phpt |  390 ++--
 .../tests/strings/stripcslashes_variation1.phpt    |    1 -
 .../tests/strings/strnatcasecmp_basic.phpt         |   51 +
 .../tests/strings/strnatcasecmp_error.phpt         |   33 +
 .../tests/strings/strnatcasecmp_variation1.phpt    |   56 +
 ext/standard/tests/strings/strnatcmp_basic.phpt    |   80 +
 ext/standard/tests/strings/strnatcmp_error.phpt    |   34 +
 ext/standard/tests/strings/strpbrk_basic.phpt      |   41 +
 ext/standard/tests/strings/strpbrk_error.phpt      |   57 +
 ext/standard/tests/strings/strspn_variation1.phpt  |  544 ++--
 ext/standard/tests/strings/strtok_variation1.phpt  |  342 ++--
 ext/standard/tests/strings/ucwords_basic.phpt      |    1 -
 ext/standard/tests/strings/ucwords_error.phpt      |    1 -
 .../tests/strings/wordwrap_variation3.phpt         |    1 -
 ext/standard/tests/time/strptime_basic.phpt        |   99 +
 ext/standard/tests/time/strptime_error.phpt        |   55 +
 ext/standard/tests/url/get_headers_error_001.phpt  |   44 +
 ext/standard/tests/url/get_headers_error_002.phpt  |   55 +
 ext/standard/tests/zend_logo_guid.phpt             |   12 +
 ext/standard/type.c                                |    2 +-
 ext/standard/uniqid.c                              |    2 +-
 ext/standard/uniqid.h                              |    2 +-
 ext/standard/url.c                                 |    2 +-
 ext/standard/url.h                                 |    2 +-
 ext/standard/url_scanner.c                         |  373 ---
 ext/standard/url_scanner.h                         |   54 -
 ext/standard/url_scanner_ex.c                      |   12 +-
 ext/standard/url_scanner_ex.c.orig                 |   12 +-
 ext/standard/url_scanner_ex.h                      |   17 +-
 ext/standard/url_scanner_ex.re                     |   10 +-
 ext/standard/user_filters.c                        |    2 +-
 ext/standard/uuencode.c                            |    2 +-
 ext/standard/var.c                                 |   10 +-
 ext/standard/var_unserializer.c                    |    2 +-
 ext/standard/var_unserializer.c.orig               |    2 +-
 ext/standard/var_unserializer.re                   |    2 +-
 ext/standard/versioning.c                          |    2 +-
 ext/sybase/config.m4                               |    2 +-
 ext/sybase/php_sybase_db.c                         |    2 +-
 ext/sybase/php_sybase_db.h                         |    2 +-
 ext/sybase_ct/config.m4                            |    2 +-
 ext/sybase_ct/config.w32                           |    2 +-
 ext/sybase_ct/php_sybase_ct.c                      |    2 +-
 ext/sybase_ct/php_sybase_ct.h                      |    2 +-
 ext/sybase_ct/tests/bug22403.phpt                  |    2 +-
 ext/sybase_ct/tests/bug26407.phpt                  |    2 +-
 ext/sybase_ct/tests/bug27843.phpt                  |    2 +-
 ext/sybase_ct/tests/bug28354.phpt                  |    2 +-
 ext/sybase_ct/tests/bug29064.phpt                  |    2 +-
 ext/sybase_ct/tests/bug30312.phpt                  |    2 +-
 ext/sybase_ct/tests/bug6339.phpt                   |    2 +-
 ext/sybase_ct/tests/index.php                      |  216 --
 ext/sybase_ct/tests/skipif.inc                     |    2 +-
 ext/sybase_ct/tests/test.inc                       |    2 +-
 ext/sybase_ct/tests/test_appname.phpt              |    2 +-
 ext/sybase_ct/tests/test_connect.phpt              |    2 +-
 .../tests/test_connectionbased_msghandler.phpt     |    2 +-
 ext/sybase_ct/tests/test_fetch_object.phpt         |    2 +-
 ext/sybase_ct/tests/test_fields.phpt               |    2 +-
 ext/sybase_ct/tests/test_long.phpt                 |    2 +-
 ext/sybase_ct/tests/test_msghandler.phpt           |    2 +-
 ext/sybase_ct/tests/test_msghandler_handled.phpt   |    2 +-
 ext/sybase_ct/tests/test_query_nostore.phpt        |    2 +-
 ext/sybase_ct/tests/test_types.phpt                |    2 +-
 .../tests/test_unbuffered_no_full_fetch.phpt       |    2 +-
 ext/sybase_ct/tests/test_unbuffered_query.phpt     |    2 +-
 ext/sysvmsg/config.m4                              |    2 +-
 ext/sysvmsg/php_sysvmsg.h                          |    2 +-
 ext/sysvmsg/sysvmsg.c                              |    4 +-
 ext/sysvsem/config.m4                              |    2 +-
 ext/sysvsem/php_sysvsem.h                          |    2 +-
 ext/sysvsem/sysvsem.c                              |    2 +-
 ext/sysvshm/config.m4                              |    2 +-
 ext/sysvshm/php_sysvshm.h                          |    2 +-
 ext/sysvshm/sysvshm.c                              |    2 +-
 ext/tidy/config.m4                                 |    2 +-
 ext/tidy/config.w32                                |    2 +-
 ext/tidy/php_tidy.h                                |    2 +-
 ext/tidy/tests/030.phpt                            |   29 +
 ext/tidy/tests/031.phpt                            |   18 +
 ext/tidy/tests/032.phpt                            |   17 +
 ext/tidy/tests/033.phpt                            |   17 +
 ext/tidy/tests/034.phpt                            |   20 +
 ext/tidy/tests/tidy_error1.phpt                    |   19 +
 ext/tidy/tidy.c                                    |    4 +-
 ext/tokenizer/config.m4                            |    2 +-
 ext/tokenizer/config.w32                           |    2 +-
 ext/tokenizer/php_tokenizer.h                      |    2 +-
 ext/tokenizer/tokenizer.c                          |    2 +-
 ext/tokenizer/tokenizer_data.c                     |    2 +-
 ext/tokenizer/tokenizer_data_gen.sh                |    2 +-
 ext/wddx/config.m4                                 |    2 +-
 ext/wddx/config.w32                                |    2 +-
 ext/wddx/php_wddx.h                                |    2 +-
 ext/wddx/php_wddx_api.h                            |    2 +-
 ext/wddx/wddx.c                                    |    2 +-
 ext/xml/config.m4                                  |    2 +-
 ext/xml/config.w32                                 |    2 +-
 ext/xml/expat_compat.h                             |    2 +-
 ext/xml/php_xml.h                                  |    2 +-
 ext/xml/xml.c                                      |    4 +-
 ext/xmlreader/config.m4                            |    2 +-
 ext/xmlreader/config.w32                           |    2 +-
 ext/xmlreader/php_xmlreader.c                      |    2 +-
 ext/xmlreader/php_xmlreader.h                      |    2 +-
 ext/xmlreader/tests/001.phpt                       |    2 +-
 ext/xmlreader/tests/002.phpt                       |    2 +-
 ext/xmlreader/tests/003.phpt                       |    2 +-
 ext/xmlreader/tests/004.phpt                       |    2 +-
 ext/xmlreader/tests/005.phpt                       |    2 +-
 ext/xmlreader/tests/006.phpt                       |    2 +-
 ext/xmlreader/tests/007.phpt                       |    2 +-
 ext/xmlreader/tests/008.phpt                       |    2 +-
 ext/xmlreader/tests/009.phpt                       |    2 +-
 ext/xmlreader/tests/010.phpt                       |    2 +-
 ext/xmlreader/tests/011.phpt                       |    2 +-
 ext/xmlreader/tests/012.phpt                       |    2 +-
 ext/xmlreader/tests/013.phpt                       |    2 +-
 ext/xmlrpc/config.m4                               |    2 +-
 ext/xmlrpc/config.w32                              |    2 +-
 ext/xmlrpc/libxmlrpc/base64.c                      |    2 +-
 ext/xmlrpc/libxmlrpc/encodings.c                   |    2 +-
 ext/xmlrpc/libxmlrpc/queue.c                       |    2 +-
 ext/xmlrpc/libxmlrpc/simplestring.c                |    7 +-
 ext/xmlrpc/libxmlrpc/system_methods.c              |    5 +-
 ext/xmlrpc/libxmlrpc/xml_element.c                 |    7 +-
 ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c               |    2 +-
 ext/xmlrpc/libxmlrpc/xmlrpc.c                      |    7 +-
 ext/xmlrpc/libxmlrpc/xmlrpc_introspection.c        |    5 +-
 ext/xmlrpc/php_xmlrpc.h                            |    2 +-
 ext/xmlrpc/tests/bug42189.phpt                     |    2 +-
 ext/xmlrpc/xmlrpc-epi-php.c                        |    2 +-
 ext/xmlwriter/config.m4                            |    2 +-
 ext/xmlwriter/config.w32                           |    2 +-
 ext/xmlwriter/php_xmlwriter.c                      |    2 +-
 ext/xmlwriter/php_xmlwriter.h                      |    2 +-
 ext/xmlwriter/tests/001.phpt                       |    2 +-
 ext/xmlwriter/tests/002.phpt                       |    2 +-
 ext/xmlwriter/tests/003.phpt                       |    2 +-
 ext/xmlwriter/tests/004.phpt                       |    2 +-
 ext/xmlwriter/tests/005.phpt                       |    2 +-
 ext/xmlwriter/tests/006.phpt                       |    2 +-
 ext/xmlwriter/tests/007.phpt                       |    2 +-
 ext/xmlwriter/tests/008.phpt                       |    2 +-
 ext/xmlwriter/tests/009.phpt                       |    2 +-
 ext/xmlwriter/tests/OO_001.phpt                    |    2 +-
 ext/xmlwriter/tests/OO_002.phpt                    |    2 +-
 ext/xmlwriter/tests/OO_003.phpt                    |    2 +-
 ext/xmlwriter/tests/OO_004.phpt                    |    2 +-
 ext/xmlwriter/tests/OO_005.phpt                    |    2 +-
 ext/xmlwriter/tests/OO_006.phpt                    |    2 +-
 ext/xmlwriter/tests/OO_007.phpt                    |    2 +-
 ext/xmlwriter/tests/OO_008.phpt                    |    2 +-
 ext/xmlwriter/tests/OO_009.phpt                    |    2 +-
 ext/xsl/config.m4                                  |    2 +-
 ext/xsl/config.w32                                 |    2 +-
 ext/xsl/php_xsl.c                                  |    2 +-
 ext/xsl/php_xsl.h                                  |    2 +-
 ext/xsl/tests/documentxpath.xsl                    |    2 +-
 ext/xsl/tests/phpfunc-nostring.xsl                 |    2 +-
 ext/xsl/tests/phpfunc-undef.xsl                    |    2 +-
 ext/xsl/tests/phpfunc.xsl                          |    2 +-
 ext/xsl/tests/streamsinclude.xsl                   |    2 +-
 ext/xsl/tests/xslt.xsl                             |    2 +-
 ext/xsl/tests/xslt012.xsl                          |    2 +-
 ...rocessor_registerPHPFunctions-funcnostring.phpt |    4 +-
 ...ltprocessor_registerPHPFunctions-funcundef.phpt |    4 +-
 ext/xsl/xsl_fe.h                                   |    2 +-
 ext/xsl/xsltprocessor.c                            |    4 +-
 ext/zip/config.m4                                  |    2 +-
 ext/zip/config.w32                                 |    2 +-
 ext/zip/examples/im.php                            |    2 +-
 ext/zip/examples/odt.php                           |    2 +-
 ext/zip/lib/zip.h                                  |   10 +-
 ext/zip/lib/zip_add.c                              |    2 +-
 ext/zip/lib/zip_close.c                            |   32 +-
 ext/zip/lib/zip_filerange_crc.c                    |    2 +-
 ext/zip/lib/zip_fread.c                            |   17 +-
 ext/zip/lib/zip_get_archive_flag.c                 |    2 +-
 ext/zip/lib/zip_open.c                             |    7 +-
 ext/zip/lib/zip_set_archive_flag.c                 |    2 +-
 ext/zip/php_zip.c                                  |   57 +-
 ext/zip/php_zip.h                                  |    2 +-
 ext/zip/tests/bug11216.phpt                        |    2 +-
 ext/zip/tests/bug14962.phpt                        |    2 +-
 ext/zip/tests/bug38943.phpt                        |    7 +-
 ext/zip/tests/bug38943_2.phpt                      |    2 +-
 ext/zip/tests/bug47667.phpt                        |    2 +-
 ext/zip/tests/bug49072.phpt                        |   24 +
 ext/zip/tests/bug49072.zip                         |  Bin 0 -> 162657 bytes
 ext/zip/tests/bug7214.phpt                         |    2 +-
 ext/zip/tests/bug7658.phpt                         |    2 +-
 ext/zip/tests/bug8009.phpt                         |    2 +-
 ext/zip/tests/bug8700.phpt                         |    2 +-
 ext/zip/tests/oo_addemptydir.phpt                  |    2 +-
 ext/zip/tests/oo_addfile.phpt                      |    2 +-
 ext/zip/tests/oo_close.phpt                        |    2 +-
 ext/zip/tests/oo_delete.phpt                       |    2 +-
 ext/zip/tests/oo_ext_zip.phpt                      |    2 +-
 ext/zip/tests/oo_extract.phpt                      |    2 +-
 ext/zip/tests/oo_getcomment.phpt                   |    2 +-
 ext/zip/tests/oo_getnameindex.phpt                 |    2 +-
 ext/zip/tests/oo_getstatusstring.phpt              |   28 +
 ext/zip/tests/oo_namelocate.phpt                   |    2 +-
 ext/zip/tests/oo_open.phpt                         |    2 +-
 ext/zip/tests/oo_properties.phpt                   |    2 +-
 ext/zip/tests/oo_rename.phpt                       |    2 +-
 ext/zip/tests/oo_setcomment.phpt                   |    2 +-
 ext/zip/tests/oo_stream.phpt                       |    2 +-
 ext/zip/tests/utils.inc                            |    2 +-
 ext/zip/tests/zip_close.phpt                       |    2 +-
 ext/zip/tests/zip_entry_compressedsize.phpt        |    2 +-
 ext/zip/tests/zip_entry_compressionmethod.phpt     |    2 +-
 ext/zip/tests/zip_entry_filesize.phpt              |    2 +-
 ext/zip/tests/zip_entry_name.phpt                  |    2 +-
 ext/zip/tests/zip_entry_open.phpt                  |    2 +-
 ext/zip/tests/zip_entry_read.phpt                  |    2 +-
 ext/zip/tests/zip_open.phpt                        |    2 +-
 ext/zip/tests/zip_open_error.phpt                  |   28 +
 ext/zip/tests/zip_read.phpt                        |    2 +-
 ext/zip/zip_stream.c                               |   12 +-
 ext/zlib/config.w32                                |    2 +-
 ext/zlib/config0.m4                                |    2 +-
 ext/zlib/php_zlib.h                                |    4 +-
 ext/zlib/tests/001.phpt                            |    2 +-
 ext/zlib/tests/002.phpt                            |    2 +-
 ext/zlib/tests/gzfilegzreadfile.phpt               |    2 +-
 ext/zlib/tests/zlib_filter_deflate.phpt            |    2 +-
 ext/zlib/tests/zlib_filter_deflate2.phpt           |   16 +
 ext/zlib/tests/zlib_filter_inflate.phpt            |    2 +-
 ext/zlib/tests/zlib_filter_inflate2.phpt           |    2 +-
 ext/zlib/zlib.c                                    |   15 +-
 ext/zlib/zlib_filter.c                             |   31 +-
 ext/zlib/zlib_fopen_wrapper.c                      |    2 +-
 header                                             |    2 +-
 main/SAPI.c                                        |   42 +-
 main/SAPI.h                                        |    2 +-
 main/alloca.c                                      |    2 +-
 main/build-defs.h.in                               |    2 +-
 main/config.w32.h                                  |    2 +-
 main/fopen_wrappers.c                              |    2 +-
 main/fopen_wrappers.h                              |    2 +-
 main/internal_functions.c.in                       |    2 +-
 main/internal_functions_nw.c                       |    2 +-
 main/internal_functions_win32.c                    |    2 +-
 main/logos.h                                       |    2 +-
 main/main.c                                        |   39 +-
 main/mergesort.c                                   |    2 +-
 main/network.c                                     |   12 +-
 main/output.c                                      |    2 +-
 main/php.h                                         |    2 +-
 main/php3_compat.h                                 |    2 +-
 main/php_compat.h                                  |    2 +-
 main/php_config.h.in                               |    2 +-
 main/php_content_types.c                           |    2 +-
 main/php_content_types.h                           |    2 +-
 main/php_globals.h                                 |    2 +-
 main/php_ini.c                                     |    2 +-
 main/php_ini.h                                     |    2 +-
 main/php_logos.c                                   |    2 +-
 main/php_logos.h                                   |    2 +-
 main/php_main.h                                    |    2 +-
 main/php_memory_streams.h                          |    2 +-
 main/php_network.h                                 |    2 +-
 main/php_open_temporary_file.c                     |   13 +-
 main/php_open_temporary_file.h                     |    2 +-
 main/php_output.h                                  |    2 +-
 main/php_reentrancy.h                              |    2 +-
 main/php_regex.h                                   |    2 +-
 main/php_scandir.c                                 |    2 +-
 main/php_scandir.h                                 |    2 +-
 main/php_sprintf.c                                 |    2 +-
 main/php_streams.h                                 |    2 +-
 main/php_syslog.h                                  |    2 +-
 main/php_ticks.c                                   |    2 +-
 main/php_ticks.h                                   |    2 +-
 main/php_variables.c                               |    2 +-
 main/php_variables.h                               |    2 +-
 main/php_version.h                                 |    6 +-
 main/reentrancy.c                                  |    2 +-
 main/rfc1867.c                                     |    2 +-
 main/rfc1867.h                                     |    2 +-
 main/safe_mode.c                                   |    2 +-
 main/safe_mode.h                                   |    2 +-
 main/snprintf.c                                    |    2 +-
 main/snprintf.h                                    |    2 +-
 main/spprintf.c                                    |    2 +-
 main/spprintf.h                                    |    2 +-
 main/streams/cast.c                                |    2 +-
 main/streams/filter.c                              |    2 +-
 main/streams/memory.c                              |    2 +-
 main/streams/mmap.c                                |    2 +-
 main/streams/php_stream_context.h                  |    2 +-
 main/streams/php_stream_filter_api.h               |    2 +-
 main/streams/php_stream_mmap.h                     |    2 +-
 main/streams/php_stream_plain_wrapper.h            |    2 +-
 main/streams/php_stream_transport.h                |    2 +-
 main/streams/php_stream_userspace.h                |    2 +-
 main/streams/php_streams_int.h                     |    2 +-
 main/streams/plain_wrapper.c                       |    2 +-
 main/streams/streams.c                             |    2 +-
 main/streams/transports.c                          |    2 +-
 main/streams/userspace.c                           |    2 +-
 main/streams/xp_socket.c                           |   18 +-
 main/strlcat.c                                     |    2 +-
 main/strlcpy.c                                     |    2 +-
 main/win95nt.h                                     |    2 +-
 makedist                                           |   47 +-
 pear/Makefile.frag                                 |   11 +-
 pear/fetch.php                                     |   76 +
 regex/regex.dsw                                    |   58 +-
 run-tests.php                                      |  102 +-
 sapi/aolserver/README                              |    2 +-
 sapi/aolserver/aolserver.c                         |    4 +-
 sapi/aolserver/config.m4                           |    2 +-
 sapi/aolserver/config.w32                          |    2 +-
 sapi/apache/config.m4                              |    2 +-
 sapi/apache/config.w32                             |    2 +-
 sapi/apache/libpre.c                               |    2 +-
 sapi/apache/mod_php5.c                             |    2 +-
 sapi/apache/mod_php5.h                             |    2 +-
 sapi/apache/php_apache.c                           |    2 +-
 sapi/apache/php_apache_http.h                      |    2 +-
 sapi/apache/sapi_apache.c                          |    2 +-
 sapi/apache2filter/apache_config.c                 |    2 +-
 sapi/apache2filter/config.m4                       |    2 +-
 sapi/apache2filter/config.w32                      |    2 +-
 sapi/apache2filter/php_apache.h                    |    2 +-
 sapi/apache2filter/php_functions.c                 |    2 +-
 sapi/apache2filter/sapi_apache2.c                  |    2 +-
 sapi/apache2handler/apache_config.c                |    2 +-
 sapi/apache2handler/config.m4                      |    2 +-
 sapi/apache2handler/config.w32                     |    2 +-
 sapi/apache2handler/mod_php5.c                     |    2 +-
 sapi/apache2handler/php_apache.h                   |    2 +-
 sapi/apache2handler/php_functions.c                |    2 +-
 sapi/apache2handler/sapi_apache2.c                 |    2 +-
 sapi/apache_hooks/config.m4                        |    2 +-
 sapi/apache_hooks/config.w32                       |    2 +-
 sapi/apache_hooks/mod_php5.c                       |    2 +-
 sapi/apache_hooks/mod_php5.h                       |    2 +-
 sapi/apache_hooks/php_apache.c                     |    2 +-
 sapi/apache_hooks/sapi_apache.c                    |    2 +-
 sapi/caudium/caudium.c                             |    4 +-
 sapi/caudium/config.m4                             |    2 +-
 sapi/cgi/cgi_main.c                                |    2 +-
 sapi/cgi/config.w32                                |    2 +-
 sapi/cgi/config9.m4                                |    2 +-
 sapi/cgi/fastcgi.c                                 |   18 +-
 sapi/cgi/fastcgi.h                                 |    2 +-
 sapi/cgi/getopt.c                                  |    2 +-
 sapi/cgi/php_getopt.h                              |    2 +-
 sapi/cgi/tests/006.phpt                            |    2 +
 sapi/cli/config.m4                                 |    2 +-
 sapi/cli/config.w32                                |    2 +-
 sapi/cli/getopt.c                                  |    2 +-
 sapi/cli/php.1.in                                  |    2 +-
 sapi/cli/php_cli.c                                 |    4 +-
 sapi/cli/php_cli_readline.c                        |    2 +-
 sapi/cli/php_cli_readline.h                        |    2 +-
 sapi/cli/php_getopt.h                              |    2 +-
 sapi/continuity/capi.c                             |    2 +-
 sapi/continuity/config.m4                          |    2 +-
 sapi/embed/config.m4                               |    2 +-
 sapi/embed/config.w32                              |    2 +-
 sapi/embed/php_embed.c                             |    8 +-
 sapi/embed/php_embed.h                             |   14 +-
 sapi/isapi/config.m4                               |    2 +-
 sapi/isapi/config.w32                              |    2 +-
 sapi/isapi/php5isapi.c                             |    2 +-
 sapi/milter/config.m4                              |    2 +-
 sapi/milter/php_milter.c                           |    2 +-
 sapi/nsapi/config.m4                               |    2 +-
 sapi/nsapi/config.w32                              |    2 +-
 sapi/nsapi/nsapi-readme.txt                        |    2 +-
 sapi/nsapi/nsapi.c                                 |   11 +-
 sapi/phttpd/config.m4                              |    2 +-
 sapi/pi3web/config.m4                              |    2 +-
 sapi/pi3web/config.w32                             |    2 +-
 sapi/pi3web/pi3web_sapi.c                          |    4 +-
 sapi/roxen/config.m4                               |    2 +-
 sapi/roxen/roxen.c                                 |    4 +-
 sapi/thttpd/README                                 |    2 +-
 sapi/thttpd/config.m4                              |    2 +-
 sapi/thttpd/thttpd.c                               |    2 +-
 sapi/tux/README                                    |    2 +-
 sapi/tux/config.m4                                 |    2 +-
 sapi/webjames/config.m4                            |    2 +-
 scripts/apache/conffix.awk                         |    2 +-
 scripts/apache/htaccessfix.awk                     |    2 +-
 scripts/dev/check_parameters.php                   |    2 +-
 scripts/dev/conv_z_macros                          |    2 +-
 scripts/phpize.in                                  |    4 +-
 svnclean.bat                                       |    2 +
 tests/basic/002.phpt                               |    2 -
 tests/basic/003.phpt                               |    2 -
 tests/basic/004.phpt                               |    2 -
 tests/basic/005.phpt                               |    2 -
 tests/basic/011.phpt                               |    2 -
 tests/basic/013.phpt                               |    2 -
 tests/basic/014.phpt                               |    2 -
 tests/basic/015.phpt                               |    2 -
 tests/basic/016.phpt                               |    2 -
 tests/basic/017.phpt                               |    2 -
 tests/basic/018.phpt                               |    2 -
 tests/basic/019.phpt                               |    2 -
 tests/basic/020.phpt                               |    2 -
 tests/basic/021.phpt                               |    2 -
 tests/basic/024.phpt                               |    2 -
 tests/basic/025.phpt                               |    2 -
 tests/basic/026.phpt                               |    2 -
 tests/basic/027.phpt                               |    2 -
 tests/basic/bug45986.phpt                          |   13 +
 tests/basic/bug46759.phpt                          |    2 -
 tests/basic/php_egg_logo_guid.phpt                 |   13 +
 tests/basic/php_logo_guid.phpt                     |   10 +
 tests/basic/php_real_logo_guid.phpt                |   12 +
 tests/basic/zend_logo_guid.phpt                    |   13 +
 tests/classes/autoload_derived.p5c                 |   10 +-
 tests/classes/autoload_implements.p5c              |   18 +-
 tests/classes/autoload_interface.p5c               |   12 +-
 tests/classes/autoload_root.p5c                    |   18 +-
 tests/classes/destructor_and_exceptions.phpt       |  120 +-
 tests/classes/interface_optional_arg.phpt          |   54 +-
 tests/classes/iterators_006.phpt                   |  170 +-
 tests/classes/visibility_005.phpt                  |  118 +-
 tests/lang/038.phpt                                |   82 +-
 tests/lang/039.phpt                                |   90 +-
 tests/lang/040.phpt                                |   30 +-
 tests/lang/bug23524.phpt                           |   58 +-
 tests/lang/bug24054.phpt                           |    2 +-
 tests/lang/bug25145.phpt                           |    2 -
 tests/lang/bug27439.phpt                           |  152 +-
 tests/lang/bug29566.phpt                           |   32 +-
 tests/lang/bug35176.phpt                           |   28 +-
 tests/lang/bug38579.inc                            |    6 +-
 tests/lang/bug38579.phpt                           |   32 +-
 tests/lang/bug44827.phpt                           |   14 +
 tests/lang/compare_objects_basic1.phpt             |   60 +
 tests/lang/compare_objects_basic2.phpt             |   28 +
 tests/lang/engine_assignExecutionOrder_001.phpt    |  304 +-
 tests/lang/engine_assignExecutionOrder_002.phpt    |  270 +-
 tests/lang/engine_assignExecutionOrder_003.phpt    |  190 +-
 tests/lang/engine_assignExecutionOrder_004.phpt    |  104 +-
 tests/lang/engine_assignExecutionOrder_005.phpt    |  148 +-
 tests/lang/engine_assignExecutionOrder_006.phpt    |  276 +-
 tests/lang/engine_assignExecutionOrder_007.phpt    |   94 +-
 tests/lang/engine_assignExecutionOrder_008.phpt    |  148 +-
 tests/lang/engine_assignExecutionOrder_009.phpt    |   72 +-
 tests/lang/execution_order.phpt                    |  396 ++--
 tests/lang/foreachLoopIterator.001.phpt            |  135 +
 tests/lang/foreachLoopIterator.002.phpt            |   24 +
 tests/lang/foreachLoopIteratorAggregate.001.phpt   |  270 ++
 tests/lang/foreachLoopIteratorAggregate.002.phpt   |   53 +
 tests/lang/foreachLoopIteratorAggregate.003.phpt   |  134 +
 tests/lang/foreachLoopIteratorAggregate.004.phpt   |  104 +
 tests/lang/foreach_with_object_001.phpt            |   50 +-
 tests/lang/passByReference_012.phpt                |   26 +
 tests/lang/string_decimals_001.phpt                |   45 +
 tests/lang/this_assignment.phpt                    |   43 +
 tests/output/ob_011.phpt                           |   17 +
 tests/output/ob_012.phpt                           |   22 +
 tests/output/ob_013.phpt                           |  103 +
 tests/output/ob_014.phpt                           |   22 +
 tests/output/ob_015.phpt                           |   22 +
 tests/output/ob_017.phpt                           |   34 +
 tests/output/ob_018.phpt                           |   17 +
 tests/output/ob_020.phpt                           |   38 +
 tests/security/open_basedir_parse_ini_file.phpt    |   14 +-
 tests/strings/bug22592.phpt                        |   46 +-
 vcsclean                                           |   11 +
 win32/build/Makefile                               |    2 +-
 win32/build/buildconf.js                           |  515 ++--
 win32/build/config.w32                             |    2 +-
 win32/build/config.w32.h.in                        |    2 +-
 win32/build/configure.tail                         |    2 +-
 win32/build/confutils.js                           | 3146 ++++++++++----------
 win32/build/cvsclean.js                            |   58 +-
 win32/build/deplister.c                            |    2 +-
 win32/build/mkdist.php                             |    6 +-
 win32/build/registersyslog.php                     |   90 +-
 win32/build/svnclean.js                            |  120 +
 win32/build/template.rc                            |    2 +-
 win32/builddef.bat                                 |    2 +-
 win32/glob.c                                       |    2 +-
 win32/glob.h                                       |    2 +-
 win32/globals.c                                    |    2 +-
 win32/grp.h                                        |    2 +-
 win32/install.txt                                  |   22 +-
 win32/md5crypt.c                                   |    2 +-
 win32/md5crypt.h                                   |    2 +-
 win32/php5.dsw                                     |  214 +-
 win32/php5dll.dsp                                  |    8 -
 win32/php5dllts.dsp                                |    8 -
 win32/php5dllts.rc2                                |  122 +-
 win32/php5ts_cli.rc2                               |  122 +-
 win32/php_win32_globals.h                          |    2 +-
 win32/resource.h                                   |   30 +-
 win32/select.c                                     |    2 +-
 win32/select.h                                     |    2 +-
 win32/sendmail.c                                   |   41 +-
 win32/sendmail.h                                   |    1 +
 win32/syslog.h                                     |    2 +-
 win32/time.c                                       |    2 +-
 win32/winutil.c                                    |    2 +-
 2642 files changed, 56642 insertions(+), 35309 deletions(-)
 delete mode 100644 .project
 delete mode 100644 README.CVS-RULES
 create mode 100644 README.SVN-RULES
 create mode 100644 Zend/tests/bug48693.phpt
 create mode 100644 Zend/tests/bug48770.phpt
 create mode 100644 Zend/tests/bug49269.phpt
 create mode 100644 Zend/tests/get_required_files.phpt
 create mode 100755 Zend/tests/unexpected_ref_bug.phpt
 delete mode 100755 cvsclean
 delete mode 100755 cvsclean.bat
 create mode 100755 ext/bcmath/tests/bcdiv_error1.phpt
 create mode 100644 ext/bcmath/tests/bcdiv_error2.phpt
 create mode 100644 ext/bcmath/tests/bcmod_error1.phpt
 create mode 100755 ext/bcmath/tests/bcpowmod_error1.phpt
 create mode 100755 ext/bcmath/tests/bcpowmod_error2.phpt
 create mode 100644 ext/bcmath/tests/bcpowmod_error3.phpt
 create mode 100755 ext/bcmath/tests/bcsqrt_error1.phpt
 create mode 100644 ext/com_dotnet/tests/bug45280.phpt
 create mode 100644 ext/curl/tests/bug48207.phpt
 create mode 100644 ext/curl/tests/curl_CURLOPT_READDATA.phpt
 create mode 100644 ext/curl/tests/curl_close_basic.phpt
 create mode 100644 ext/curl/tests/curl_copy_handle_basic.phpt
 create mode 100644 ext/curl/tests/curl_copy_handle_basic_001.phpt
 create mode 100644 ext/curl/tests/curl_copy_handle_basic_002.phpt
 create mode 100644 ext/curl/tests/curl_copy_handle_basic_004.phpt
 create mode 100644 ext/curl/tests/curl_copy_handle_basic_005.phpt
 create mode 100644 ext/curl/tests/curl_copy_handle_basic_006.phpt
 create mode 100644 ext/curl/tests/curl_copy_handle_basic_007.phpt
 create mode 100644 ext/curl/tests/curl_copy_handle_variation1.phpt
 create mode 100644 ext/curl/tests/curl_copy_handle_variation2.phpt
 create mode 100644 ext/curl/tests/curl_error_basic.phpt
 create mode 100644 ext/curl/tests/curl_multi_close_basic.phpt
 create mode 100644 ext/curl/tests/curl_multi_getcontent_basic3.phpt
 create mode 100644 ext/curl/tests/curl_multi_getcontent_error1.phpt
 create mode 100644 ext/curl/tests/curl_multi_getcontent_error2.phpt
 create mode 100644 ext/curl/tests/curl_multi_getcontent_error3.phpt
 create mode 100644 ext/curl/tests/curl_multi_getcontent_error4.phpt
 create mode 100644 ext/curl/tests/curl_multi_init_basic.phpt
 create mode 100644 ext/curl/tests/curl_multi_select_basic1.phpt
 create mode 100644 ext/curl/tests/curl_setopt_CURLOPT_FOLLOWLOCATION_open_basedir.phpt
 create mode 100644 ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt
 create mode 100644 ext/curl/tests/curl_setopt_array_basic.phpt
 create mode 100644 ext/curl/tests/curl_setopt_basic001.phpt
 create mode 100644 ext/curl/tests/curl_setopt_basic002.phpt
 create mode 100644 ext/curl/tests/curl_setopt_basic003.phpt
 create mode 100644 ext/curl/tests/curl_setopt_basic004.phpt
 create mode 100644 ext/curl/tests/curl_setopt_error.phpt
 create mode 100644 ext/curl/tests/curl_testdata1.txt
 create mode 100644 ext/curl/tests/curl_testdata2.txt
 create mode 100644 ext/curl/tests/curl_version_error.phpt
 create mode 100644 ext/curl/tests/curl_version_variation1.phpt
 create mode 100644 ext/curl/tests/curl_write_callback.phpt
 create mode 100644 ext/curl/tests/curl_write_file.phpt
 create mode 100644 ext/curl/tests/curl_write_return.phpt
 create mode 100644 ext/curl/tests/curl_write_stdout.phpt
 create mode 100644 ext/curl/tests/curl_writeheader_callback.phpt
 create mode 100644 ext/date/tests/bug48276.phpt
 create mode 100644 ext/date/tests/cal_days_in_month_invalid_calendar.phpt
 create mode 100644 ext/date/tests/cal_days_in_month_invalid_date.phpt
 create mode 100644 ext/dba/tests/bug49125.phpt
 create mode 100755 ext/dom/tests/DOMAttr_value_basic_001.phpt
 create mode 100644 ext/dom/tests/DOMCharacterData_data_basic_002.phpt
 create mode 100755 ext/dom/tests/DOMCharacterData_length_error_001.phpt
 create mode 100644 ext/dom/tests/DOMCharacterData_substringData_basic_001.phpt
 create mode 100644 ext/dom/tests/DOMDocument_config_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_createEntityReference_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_documentURI_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_encoding_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_implementationRead_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_preserveWhiteSpace_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_preserveWhiteSpace_variations.phpt
 create mode 100644 ext/dom/tests/DOMDocument_resolveExternals_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_saveHTMLFile_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_saveHTMLFile_error1.phpt
 create mode 100644 ext/dom/tests/DOMDocument_saveHTMLFile_error2.phpt
 create mode 100644 ext/dom/tests/DOMDocument_saveHTMLFile_formatOutput.phpt
 create mode 100644 ext/dom/tests/DOMDocument_saveHTMLFile_invalid_filename.phpt
 create mode 100644 ext/dom/tests/DOMDocument_saveHTML_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_saveHTML_error1.phpt
 create mode 100644 ext/dom/tests/DOMDocument_saveHTML_error2.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidateSource_basic.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidateSource_error1.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidateSource_error2.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidateSource_error3.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidateSource_error4.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidate_basic.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidate_error1.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidate_error2.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidate_error3.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidate_error4.phpt
 create mode 100755 ext/dom/tests/DOMDocument_schemaValidate_error5.phpt
 create mode 100644 ext/dom/tests/DOMDocument_standalone_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_strictErrorChecking_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_strictErrorChecking_variation.phpt
 create mode 100644 ext/dom/tests/DOMDocument_validate_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_validate_error1.phpt
 create mode 100644 ext/dom/tests/DOMDocument_validate_error2.phpt
 create mode 100644 ext/dom/tests/DOMDocument_validate_external_dtd.phpt
 create mode 100644 ext/dom/tests/DOMDocument_validate_on_parse_basic.phpt
 create mode 100644 ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt
 create mode 100755 ext/dom/tests/book-non-conforming-schema.xsd
 create mode 100755 ext/dom/tests/book-not-a-schema.xsd
 create mode 100755 ext/dom/tests/book.xsd
 create mode 100644 ext/dom/tests/domdocument_createcomment_error_001.phpt
 create mode 100644 ext/dom/tests/domdocument_createentityreference_001.phpt
 create mode 100644 ext/dom/tests/domdocument_createentityreference_002.phpt
 create mode 100644 ext/filter/tests/bug48762.phpt
 create mode 100644 ext/filter/tests/bug49274.phpt
 create mode 100755 ext/ftp/tests/ftp_alloc_basic1.phpt
 create mode 100755 ext/ftp/tests/ftp_alloc_basic2.phpt
 create mode 100755 ext/ftp/tests/ftp_chmod_basic.phpt
 create mode 100755 ext/ftp/tests/ftp_exec_basic.phpt
 create mode 100644 ext/ftp/tests/ftp_fget_basic1.phpt
 create mode 100644 ext/ftp/tests/ftp_fget_basic2.phpt
 create mode 100644 ext/ftp/tests/ftp_fget_basic3.phpt
 create mode 100644 ext/ftp/tests/ftp_nb_fget_basic1.phpt
 create mode 100644 ext/ftp/tests/ftp_nb_fget_basic2.phpt
 create mode 100644 ext/ftp/tests/ftp_nb_fget_basic3.phpt
 create mode 100644 ext/ftp/tests/ftp_rawlist_basic2.phpt
 create mode 100755 ext/ftp/tests/ftp_rmdir_basic.phpt
 create mode 100755 ext/gd/tests/Tuffy.ttf
 create mode 100644 ext/gd/tests/bug42434.phpt
 create mode 100644 ext/gd/tests/bug43073.phpt
 create mode 100644 ext/gd/tests/bug48555.phpt
 create mode 100644 ext/gd/tests/bug48732.phpt
 create mode 100644 ext/gd/tests/bug48801.phpt
 create mode 100755 ext/gd/tests/imageantialias_error1.phpt
 create mode 100755 ext/gd/tests/imageantialias_error2.phpt
 create mode 100755 ext/gd/tests/imagearc_basic.phpt
 create mode 100755 ext/gd/tests/imagearc_error1.phpt
 create mode 100755 ext/gd/tests/imagearc_variation1.phpt
 create mode 100755 ext/gd/tests/imagearc_variation2.phpt
 create mode 100644 ext/gd/tests/imagechar_basic.phpt
 create mode 100644 ext/gd/tests/imagechar_error1.phpt
 create mode 100644 ext/gd/tests/imagechar_error2.phpt
 create mode 100644 ext/gd/tests/imagecharup_basic.phpt
 create mode 100644 ext/gd/tests/imagecharup_error1.phpt
 create mode 100644 ext/gd/tests/imagecharup_error2.phpt
 create mode 100644 ext/gd/tests/imagecolorallocatealpha_basic.phpt
 create mode 100644 ext/gd/tests/imagecolorallocatealpha_error1.phpt
 create mode 100644 ext/gd/tests/imagecolorallocatealpha_error2.phpt
 create mode 100644 ext/gd/tests/imagecolorallocatealpha_error3.phpt
 create mode 100644 ext/gd/tests/imagecolorallocatealpha_error4.phpt
 create mode 100644 ext/gd/tests/imagecolorallocatealpha_error5.phpt
 create mode 100644 ext/gd/tests/imagecolordeallocate_basic.phpt
 create mode 100644 ext/gd/tests/imagecolordeallocate_error1.phpt
 create mode 100644 ext/gd/tests/imagecolordeallocate_error2.phpt
 create mode 100644 ext/gd/tests/imagecolordeallocate_error3.phpt
 create mode 100644 ext/gd/tests/imagecolordeallocate_error4.phpt
 create mode 100755 ext/gd/tests/imagecolormatch_basic.phpt
 create mode 100755 ext/gd/tests/imagecolormatch_error1.phpt
 create mode 100755 ext/gd/tests/imagecolormatch_error2.phpt
 create mode 100755 ext/gd/tests/imagecolormatch_error3.phpt
 create mode 100755 ext/gd/tests/imagecolormatch_error4.phpt
 create mode 100755 ext/gd/tests/imagecolorset_basic.phpt
 create mode 100755 ext/gd/tests/imageconvolution_basic.phpt
 create mode 100755 ext/gd/tests/imageconvolution_error1.phpt
 create mode 100755 ext/gd/tests/imageconvolution_error2.phpt
 create mode 100755 ext/gd/tests/imageconvolution_error3.phpt
 create mode 100755 ext/gd/tests/imagecopymerge_basic.phpt
 create mode 100755 ext/gd/tests/imagecopymerge_error.phpt
 create mode 100644 ext/gd/tests/imagecreatetruecolor_basic.phpt
 create mode 100644 ext/gd/tests/imagecreatetruecolor_error1.phpt
 create mode 100644 ext/gd/tests/imagecreatetruecolor_error2.phpt
 create mode 100644 ext/gd/tests/imagecreatetruecolor_error3.phpt
 create mode 100755 ext/gd/tests/imageellipse_basic.phpt
 create mode 100755 ext/gd/tests/imageellipse_error1.phpt
 create mode 100755 ext/gd/tests/imageellipse_error7.phpt
 create mode 100755 ext/gd/tests/imageellipse_error8.phpt
 create mode 100755 ext/gd/tests/imagefilledarc_basic.phpt
 create mode 100755 ext/gd/tests/imagefilledarc_error1.phpt
 create mode 100755 ext/gd/tests/imagefilledarc_variation1.phpt
 create mode 100755 ext/gd/tests/imagefilledarc_variation2.phpt
 create mode 100755 ext/gd/tests/imagefilltoborder_basic.phpt
 create mode 100755 ext/gd/tests/imagefilltoborder_error1.phpt
 create mode 100755 ext/gd/tests/imagefilltoborder_error6.phpt
 create mode 100755 ext/gd/tests/imagefilltoborder_error7.phpt
 create mode 100755 ext/gd/tests/imagefilter_error1.phpt
 create mode 100755 ext/gd/tests/imagefilter_error10.phpt
 create mode 100755 ext/gd/tests/imagefilter_error11.phpt
 create mode 100755 ext/gd/tests/imagefilter_error12.phpt
 create mode 100755 ext/gd/tests/imagefilter_error13.phpt
 create mode 100755 ext/gd/tests/imagefilter_error14.phpt
 create mode 100755 ext/gd/tests/imagefilter_error15.phpt
 create mode 100755 ext/gd/tests/imagefilter_error16.phpt
 create mode 100755 ext/gd/tests/imagefilter_error17.phpt
 create mode 100755 ext/gd/tests/imagefilter_error18.phpt
 create mode 100755 ext/gd/tests/imagefilter_error19.phpt
 create mode 100755 ext/gd/tests/imagefilter_error2.phpt
 create mode 100755 ext/gd/tests/imagefilter_error20.phpt
 create mode 100755 ext/gd/tests/imagefilter_error5.phpt
 create mode 100755 ext/gd/tests/imagefilter_error6.phpt
 create mode 100755 ext/gd/tests/imagefilter_error7.phpt
 create mode 100755 ext/gd/tests/imagefilter_error8.phpt
 create mode 100755 ext/gd/tests/imagefilter_error9.phpt
 create mode 100644 ext/gd/tests/imagefontheight_basic.phpt
 create mode 100644 ext/gd/tests/imagefontwidth_basic.phpt
 create mode 100644 ext/gd/tests/imagegammacorrect_basic.phpt
 create mode 100644 ext/gd/tests/imagegammacorrect_error1.phpt
 create mode 100644 ext/gd/tests/imagegammacorrect_error2.phpt
 create mode 100644 ext/gd/tests/imagegammacorrect_variation1.phpt
 create mode 100755 ext/gd/tests/imageinterlace_basic.phpt
 create mode 100755 ext/gd/tests/imageinterlace_error1.phpt
 create mode 100755 ext/gd/tests/imageinterlace_error2.phpt
 create mode 100755 ext/gd/tests/imageinterlace_variation1.phpt
 create mode 100755 ext/gd/tests/imageinterlace_variation2.phpt
 create mode 100644 ext/gd/tests/imageistruecolor_basic.phpt
 create mode 100644 ext/gd/tests/imageistruecolor_error1.phpt
 create mode 100644 ext/gd/tests/imagelayereffect_basic.phpt
 create mode 100644 ext/gd/tests/imagelayereffect_error1.phpt
 create mode 100644 ext/gd/tests/imagelayereffect_error3.phpt
 create mode 100755 ext/gd/tests/imagerectangle_basic.phpt
 create mode 100755 ext/gd/tests/imagerectangle_error1.phpt
 create mode 100755 ext/gd/tests/imagerectangle_error2.phpt
 create mode 100755 ext/gd/tests/imagerectangle_error3.phpt
 create mode 100755 ext/gd/tests/imagerectangle_error8.phpt
 create mode 100755 ext/gd/tests/imagesetbrush_basic.phpt
 create mode 100644 ext/gd/tests/imagesetthickness_basic.phpt
 create mode 100644 ext/gd/tests/imagesetthickness_error1.phpt
 create mode 100644 ext/gd/tests/imagesetthickness_error2.phpt
 create mode 100644 ext/gd/tests/imagestring_basic.phpt
 create mode 100644 ext/gd/tests/imagestring_error1.phpt
 create mode 100644 ext/gd/tests/imagestring_error2.phpt
 create mode 100644 ext/gd/tests/imagestringup_basic.phpt
 create mode 100644 ext/gd/tests/imagestringup_error1.phpt
 create mode 100644 ext/gd/tests/imagestringup_error2.phpt
 create mode 100644 ext/gd/tests/imagetruecolortopalette_basic.phpt
 create mode 100644 ext/gd/tests/imagetruecolortopalette_error1.phpt
 create mode 100644 ext/gd/tests/imagetruecolortopalette_error2.phpt
 create mode 100644 ext/gd/tests/imagetruecolortopalette_error3.phpt
 create mode 100644 ext/gd/tests/imagetruecolortopalette_error4.phpt
 create mode 100755 ext/gd/tests/jpeg2wbmp_error1.phpt
 create mode 100755 ext/gd/tests/jpeg2wbmp_error2.phpt
 create mode 100755 ext/gd/tests/jpeg2wbmp_error3.phpt
 create mode 100755 ext/gd/tests/png2wbmp_error1.phpt
 create mode 100755 ext/gd/tests/png2wbmp_error2.phpt
 create mode 100755 ext/gd/tests/png2wbmp_error3.phpt
 delete mode 100644 ext/gd/tests/truecolor.phpt
 create mode 100644 ext/gettext/tests/gettext_basic-enus.phpt
 create mode 100644 ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt
 create mode 100644 ext/gettext/tests/gettext_bind_textdomain_codeset-wrongparams.phpt
 create mode 100644 ext/gettext/tests/gettext_bindtextdomain-cwd.phpt
 create mode 100644 ext/gettext/tests/gettext_bindtextdomain-emptydomain.phpt
 create mode 100644 ext/gettext/tests/gettext_bindtextdomain-path.phpt
 create mode 100644 ext/gettext/tests/gettext_bindtextdomain-wrongparams.phpt
 create mode 100644 ext/gettext/tests/gettext_dcgettext-wrongparams.phpt
 create mode 100644 ext/gettext/tests/gettext_dcgettext.phpt
 create mode 100644 ext/gettext/tests/gettext_dgettext.phpt
 create mode 100644 ext/gettext/tests/gettext_dgettext_error_wrongparams.phpt
 create mode 100644 ext/gettext/tests/gettext_dngettext-plural.phpt
 create mode 100644 ext/gettext/tests/gettext_dngettext-wrongparams.phpt
 create mode 100644 ext/gettext/tests/gettext_gettext_error_wrongparams.phpt
 create mode 100644 ext/gettext/tests/gettext_ngettext-wrongparams.phpt
 create mode 100644 ext/gettext/tests/gettext_ngettext.phpt
 create mode 100644 ext/gettext/tests/gettext_phpinfo.phpt
 create mode 100644 ext/gettext/tests/gettext_textdomain-retval.phpt
 create mode 100644 ext/gettext/tests/gettext_textdomain-wrongparams.phpt
 create mode 100644 ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.mo
 create mode 100644 ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.po
 create mode 100644 ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.mo
 create mode 100644 ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.po
 create mode 100644 ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switched.po
 create mode 100644 ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.mo
 create mode 100644 ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.po
 create mode 100644 ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.mo
 create mode 100644 ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.po
 create mode 100644 ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.mo
 create mode 100644 ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.po
 create mode 100644 ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.mo
 create mode 100644 ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.po
 create mode 100644 ext/gettext/tests/locale/en/LC_MESSAGES/messages.mo
 create mode 100644 ext/gettext/tests/locale/en/LC_MESSAGES/messages.po
 delete mode 100644 ext/iconv/tests/bug16069.phpt
 create mode 100644 ext/iconv/tests/iconv_get_encoding_basic.phpt
 create mode 100644 ext/ldap/tests/README
 create mode 100644 ext/ldap/tests/bug48696.phpt
 create mode 100644 ext/ldap/tests/ldap_add_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_add_error.phpt
 create mode 100644 ext/ldap/tests/ldap_bind_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_bind_error.phpt
 create mode 100644 ext/ldap/tests/ldap_bind_variation.phpt
 create mode 100644 ext/ldap/tests/ldap_compare_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_compare_error.phpt
 create mode 100644 ext/ldap/tests/ldap_connect_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_connect_error.phpt
 create mode 100644 ext/ldap/tests/ldap_connect_variation.phpt
 create mode 100644 ext/ldap/tests/ldap_count_entries_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_count_entries_error.phpt
 create mode 100644 ext/ldap/tests/ldap_delete_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_delete_error.phpt
 create mode 100644 ext/ldap/tests/ldap_err2str_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_err2str_error.phpt
 create mode 100644 ext/ldap/tests/ldap_errno_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_errno_error.phpt
 create mode 100644 ext/ldap/tests/ldap_error_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_error_error.phpt
 create mode 100644 ext/ldap/tests/ldap_first_attribute_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_first_attribute_error.phpt
 create mode 100644 ext/ldap/tests/ldap_first_entry_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_first_entry_error.phpt
 create mode 100644 ext/ldap/tests/ldap_first_reference_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_first_reference_error.phpt
 create mode 100644 ext/ldap/tests/ldap_free_result_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_free_result_error.phpt
 create mode 100644 ext/ldap/tests/ldap_get_attributes_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_get_attributes_error.phpt
 create mode 100644 ext/ldap/tests/ldap_get_dn_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_get_dn_error.phpt
 create mode 100644 ext/ldap/tests/ldap_get_entries_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_get_entries_error.phpt
 create mode 100644 ext/ldap/tests/ldap_get_entries_variation.phpt
 create mode 100644 ext/ldap/tests/ldap_get_option_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_get_option_error.phpt
 create mode 100644 ext/ldap/tests/ldap_get_option_variation.phpt
 create mode 100644 ext/ldap/tests/ldap_get_values_len_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_get_values_len_error.phpt
 create mode 100644 ext/ldap/tests/ldap_list_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_list_error.phpt
 create mode 100644 ext/ldap/tests/ldap_mod_add_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_mod_add_error.phpt
 create mode 100644 ext/ldap/tests/ldap_mod_del_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_mod_del_error.phpt
 create mode 100644 ext/ldap/tests/ldap_mod_replace_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_mod_replace_error.phpt
 create mode 100644 ext/ldap/tests/ldap_modify_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_modify_error.phpt
 create mode 100644 ext/ldap/tests/ldap_next_attribute_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_next_attribute_error.phpt
 create mode 100644 ext/ldap/tests/ldap_next_entry_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_next_entry_error.phpt
 create mode 100644 ext/ldap/tests/ldap_next_reference_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_next_reference_error.phpt
 create mode 100644 ext/ldap/tests/ldap_parse_reference_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_parse_reference_error.phpt
 create mode 100644 ext/ldap/tests/ldap_parse_result_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_parse_result_error.phpt
 create mode 100644 ext/ldap/tests/ldap_read_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_read_error.phpt
 create mode 100644 ext/ldap/tests/ldap_rename_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_rename_error.phpt
 create mode 100644 ext/ldap/tests/ldap_sasl_bind_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_sasl_bind_error.phpt
 create mode 100644 ext/ldap/tests/ldap_search_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_search_error.phpt
 create mode 100644 ext/ldap/tests/ldap_search_variation1.phpt
 create mode 100644 ext/ldap/tests/ldap_search_variation2.phpt
 create mode 100644 ext/ldap/tests/ldap_search_variation3.phpt
 create mode 100644 ext/ldap/tests/ldap_search_variation4.phpt
 create mode 100644 ext/ldap/tests/ldap_search_variation5.phpt
 create mode 100644 ext/ldap/tests/ldap_search_variation6.phpt
 create mode 100644 ext/ldap/tests/ldap_set_option_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_set_option_error.phpt
 create mode 100644 ext/ldap/tests/ldap_set_option_variation.phpt
 create mode 100644 ext/ldap/tests/ldap_set_rebind_proc_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_set_rebind_proc_error.phpt
 create mode 100644 ext/ldap/tests/ldap_sort_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_sort_error.phpt
 create mode 100644 ext/ldap/tests/ldap_sort_variation.phpt
 create mode 100644 ext/ldap/tests/ldap_start_tls_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_start_tls_error.phpt
 create mode 100644 ext/ldap/tests/ldap_unbind_basic.phpt
 create mode 100644 ext/ldap/tests/ldap_unbind_error.phpt
 create mode 100644 ext/ldap/tests/ldap_unbind_variation.phpt
 create mode 100644 ext/mbstring/tests/bug46806.phpt
 create mode 100644 ext/mbstring/tests/bug48645.phpt
 create mode 100644 ext/mbstring/tests/bug48697.phpt
 create mode 100644 ext/openssl/tests/bug48182.phpt
 create mode 100644 ext/pcntl/tests/pcntl_fork_basic.phpt
 create mode 100644 ext/pcntl/tests/pcntl_fork_variation.phpt
 create mode 100644 ext/pdo_sqlite/tests/bug48773.phpt
 create mode 100644 ext/posix/tests/posix_ctermid_basic.phpt
 create mode 100644 ext/posix/tests/posix_ctermid_error.phpt
 create mode 100644 ext/posix/tests/posix_errno_basic.phpt
 create mode 100644 ext/posix/tests/posix_errno_error.phpt
 create mode 100644 ext/posix/tests/posix_errno_variation1.phpt
 create mode 100644 ext/posix/tests/posix_errno_variation2.phpt
 create mode 100644 ext/posix/tests/posix_geteuid_basic.phpt
 create mode 100644 ext/posix/tests/posix_geteuid_error1.phpt
 create mode 100644 ext/posix/tests/posix_seteuid_basic.phpt
 create mode 100644 ext/posix/tests/posix_seteuid_error.phpt
 create mode 100644 ext/posix/tests/posix_seteuid_error2.phpt
 create mode 100644 ext/posix/tests/posix_seteuid_variation1.phpt
 create mode 100644 ext/posix/tests/posix_seteuid_variation2.phpt
 create mode 100644 ext/posix/tests/posix_seteuid_variation3.phpt
 create mode 100644 ext/posix/tests/posix_seteuid_variation4.phpt
 create mode 100644 ext/posix/tests/posix_seteuid_variation5.phpt
 create mode 100644 ext/posix/tests/posix_seteuid_variation6.phpt
 create mode 100644 ext/posix/tests/posix_setgid_basic.phpt
 create mode 100644 ext/posix/tests/posix_setgid_error.phpt
 create mode 100644 ext/posix/tests/posix_setgid_variation1.phpt
 create mode 100644 ext/posix/tests/posix_setgid_variation2.phpt
 create mode 100644 ext/posix/tests/posix_setgid_variation3.phpt
 create mode 100644 ext/posix/tests/posix_setgid_variation4.phpt
 create mode 100644 ext/posix/tests/posix_setgid_variation5.phpt
 create mode 100644 ext/posix/tests/posix_setgid_variation6.phpt
 create mode 100644 ext/posix/tests/posix_setgid_variation7.phpt
 create mode 100644 ext/posix/tests/posix_setuid_basic.phpt
 create mode 100644 ext/posix/tests/posix_setuid_error.phpt
 create mode 100644 ext/posix/tests/posix_setuid_error2.phpt
 create mode 100644 ext/posix/tests/posix_setuid_variation1.phpt
 create mode 100644 ext/posix/tests/posix_setuid_variation2.phpt
 create mode 100644 ext/posix/tests/posix_setuid_variation3.phpt
 create mode 100644 ext/posix/tests/posix_setuid_variation4.phpt
 create mode 100644 ext/posix/tests/posix_setuid_variation5.phpt
 create mode 100644 ext/posix/tests/posix_setuid_variation6.phpt
 create mode 100644 ext/posix/tests/posix_ttyname_error.phpt
 create mode 100644 ext/posix/tests/posix_ttyname_variation1.phpt
 create mode 100644 ext/posix/tests/posix_ttyname_variation2.phpt
 create mode 100644 ext/posix/tests/posix_ttyname_variation3.phpt
 create mode 100644 ext/posix/tests/posix_ttyname_variation4.phpt
 create mode 100644 ext/posix/tests/posix_ttyname_variation5.phpt
 create mode 100644 ext/posix/tests/posix_ttyname_variation6.phpt
 create mode 100644 ext/posix/tests/posix_ttyname_variation7.phpt
 create mode 100644 ext/reflection/tests/ReflectionClass_CannotClone_basic.phpt
 create mode 100644 ext/reflection/tests/ReflectionFunction_isDeprecated_basic.phpt
 create mode 100644 ext/reflection/tests/ReflectionFunction_isDisabled_basic.phpt
 create mode 100644 ext/reflection/tests/bug47254.phpt
 create mode 100644 ext/reflection/tests/bug49074.phpt
 create mode 100644 ext/session/tests/022.phpt
 create mode 100644 ext/simplexml/tests/SimpleXMLElement_addAttribute_required_attribute_name.phpt
 create mode 100644 ext/soap/tests/bugs/bug47273.phpt
 create mode 100644 ext/sockets/tests/bug46360.phpt
 create mode 100644 ext/sockets/tests/socket_bind.phpt
 create mode 100644 ext/sockets/tests/socket_bind_params.phpt
 create mode 100644 ext/sockets/tests/socket_close_params.phpt
 create mode 100644 ext/sockets/tests/socket_connect_error.phpt
 create mode 100644 ext/sockets/tests/socket_connect_params.phpt
 create mode 100644 ext/sockets/tests/socket_create_listen_params.phpt
 create mode 100644 ext/sockets/tests/socket_create_listen_used.phpt
 create mode 100644 ext/sockets/tests/socket_create_params.phpt
 create mode 100644 ext/sockets/tests/socket_getpeername.phpt
 create mode 100644 ext/sockets/tests/socket_getpeername_ipv4loop.phpt
 create mode 100644 ext/sockets/tests/socket_getpeername_ipv6loop.phpt
 create mode 100644 ext/sockets/tests/socket_getsockname.phpt
 create mode 100644 ext/sockets/tests/socket_listen_params.phpt
 create mode 100644 ext/sockets/tests/socket_read_params.phpt
 create mode 100644 ext/sockets/tests/socket_set_nonblock.phpt
 create mode 100644 ext/sockets/tests/socket_strerror.phpt
 create mode 100644 ext/sockets/tests/socket_write_params.phpt
 create mode 100644 ext/spl/tests/DirectoryIterator_by_reference.phpt
 create mode 100644 ext/spl/tests/DirectoryIterator_empty_constructor.phpt
 create mode 100644 ext/spl/tests/DirectoryIterator_getGroup_basic.phpt
 create mode 100644 ext/spl/tests/DirectoryIterator_getInode_basic.phpt
 create mode 100644 ext/spl/tests/DirectoryIterator_getInode_error.phpt
 create mode 100644 ext/spl/tests/DirectoryIterator_getOwner_basic.phpt
 create mode 100644 ext/spl/tests/SplFileInfo_getGroup_basic.phpt
 create mode 100644 ext/spl/tests/SplFileInfo_getGroup_error.phpt
 create mode 100644 ext/spl/tests/SplFileInfo_getInode_basic.phpt
 create mode 100644 ext/spl/tests/SplFileInfo_getInode_error.phpt
 create mode 100644 ext/spl/tests/SplFileInfo_getOwner_basic.phpt
 create mode 100644 ext/spl/tests/SplFileInfo_getOwner_error.phpt
 create mode 100644 ext/spl/tests/SplFileInfo_getPerms_basic.phpt
 create mode 100644 ext/spl/tests/SplFileInfo_getPerms_error.phpt
 create mode 100644 ext/spl/tests/bug44144.phpt
 delete mode 100755 ext/spl/tests/iterator_044.phpt.orig
 create mode 100644 ext/sqlite/tests/bug48679.phpt
 delete mode 100644 ext/standard/dns.h
 create mode 100644 ext/standard/php_dns.h
 create mode 100644 ext/standard/tests/array/key_exists_basic.phpt
 create mode 100644 ext/standard/tests/array/key_exists_error.phpt
 create mode 100644 ext/standard/tests/array/key_exists_variation1.phpt
 create mode 100644 ext/standard/tests/array/key_exists_variation2.phpt
 create mode 100644 ext/standard/tests/array/max_basiclong_64bit.phpt
 create mode 100644 ext/standard/tests/array/min_basiclong_64bit.phpt
 create mode 100755 ext/standard/tests/array/unexpected_array_mod_bug.phpt
 create mode 100644 ext/standard/tests/file/file_get_contents_basic001.phpt
 create mode 100644 ext/standard/tests/file/file_get_contents_error001.phpt
 create mode 100644 ext/standard/tests/file/file_get_contents_error002.phpt
 create mode 100644 ext/standard/tests/file/lchgrp_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/bug48660.phpt
 create mode 100644 ext/standard/tests/general_functions/bug49056.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_error.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_variation1.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_variation2.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_variation3.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_variation4.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_variation5.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_variation6.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_variation7.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_variation8.phpt
 create mode 100644 ext/standard/tests/general_functions/get_cfg_var_variation9.phpt
 create mode 100644 ext/standard/tests/general_functions/get_defined_constants_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/get_defined_constants_error.phpt
 create mode 100644 ext/standard/tests/general_functions/get_loaded_extensions_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/get_loaded_extensions_error.phpt
 create mode 100644 ext/standard/tests/general_functions/get_resource_type_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/get_resource_type_error.phpt
 create mode 100644 ext/standard/tests/general_functions/get_resource_type_variation1.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_basic.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_error.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation1.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation10.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation11.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation12.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation13.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation14.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation2.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation3.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation4.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation5.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation6.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation7.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation8.phpt
 create mode 100755 ext/standard/tests/general_functions/getservbyname_variation9.phpt
 create mode 100644 ext/standard/tests/general_functions/getservbyport_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/getservbyport_error.phpt
 create mode 100644 ext/standard/tests/general_functions/is_resource_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/is_resource_error.phpt
 create mode 100644 ext/standard/tests/general_functions/isset_basic1.phpt
 create mode 100644 ext/standard/tests/general_functions/isset_basic2.phpt
 create mode 100644 ext/standard/tests/general_functions/proc_nice_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/proc_nice_error.phpt
 create mode 100644 ext/standard/tests/general_functions/proc_nice_variation1.phpt
 create mode 100644 ext/standard/tests/general_functions/proc_nice_variation2.phpt
 create mode 100644 ext/standard/tests/general_functions/proc_nice_variation3.phpt
 create mode 100644 ext/standard/tests/general_functions/proc_nice_variation5.phpt
 create mode 100644 ext/standard/tests/general_functions/proc_nice_variation6.phpt
 create mode 100644 ext/standard/tests/general_functions/proc_nice_variation7.phpt
 create mode 100644 ext/standard/tests/general_functions/sleep_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/sleep_error.phpt
 create mode 100644 ext/standard/tests/general_functions/uniqid_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/uniqid_error.phpt
 create mode 100644 ext/standard/tests/general_functions/usleep_basic.phpt
 create mode 100644 ext/standard/tests/general_functions/usleep_error.phpt
 create mode 100644 ext/standard/tests/http/bug43510.phpt
 create mode 100644 ext/standard/tests/http/bug48929.phpt
 create mode 100644 ext/standard/tests/misc/time_sleep_until_basic.phpt
 create mode 100644 ext/standard/tests/misc/time_sleep_until_error1.phpt
 create mode 100644 ext/standard/tests/misc/time_sleep_until_error2.phpt
 create mode 100644 ext/standard/tests/misc/time_sleep_until_error3.phpt
 create mode 100644 ext/standard/tests/network/gethostbyaddr_basic1.phpt
 create mode 100644 ext/standard/tests/network/gethostbyname_basic003.phpt
 create mode 100644 ext/standard/tests/network/gethostbynamel_basic1.phpt
 create mode 100644 ext/standard/tests/php_ini_loaded_file.phpt
 create mode 100644 ext/standard/tests/php_logo_guid.phpt
 create mode 100644 ext/standard/tests/php_real_logo_guid.phpt
 create mode 100644 ext/standard/tests/streams/stream_is_local.phpt
 create mode 100644 ext/standard/tests/strings/bug47481.phpt
 create mode 100644 ext/standard/tests/strings/bug48709.phpt
 create mode 100644 ext/standard/tests/strings/htmlspecialchars_basic.phpt
 create mode 100644 ext/standard/tests/strings/md5_basic1.phpt
 create mode 100644 ext/standard/tests/strings/md5_basic2.phpt
 create mode 100644 ext/standard/tests/strings/md5_error.phpt
 delete mode 100644 ext/standard/tests/strings/money_format_basic2.phpt
 delete mode 100644 ext/standard/tests/strings/money_format_basic3.phpt
 create mode 100644 ext/standard/tests/strings/parse_str_basic1.phpt
 create mode 100644 ext/standard/tests/strings/parse_str_basic2.phpt
 create mode 100644 ext/standard/tests/strings/parse_str_basic3.phpt
 create mode 100644 ext/standard/tests/strings/parse_str_basic4.phpt
 create mode 100644 ext/standard/tests/strings/parse_str_error1.phpt
 create mode 100644 ext/standard/tests/strings/show_source_basic.phpt
 create mode 100644 ext/standard/tests/strings/show_source_variation1.phpt
 create mode 100644 ext/standard/tests/strings/show_source_variation2.phpt
 create mode 100644 ext/standard/tests/strings/soundex_basic.phpt
 create mode 100644 ext/standard/tests/strings/soundex_error.phpt
 create mode 100644 ext/standard/tests/strings/str_replace_basic.phpt
 create mode 100644 ext/standard/tests/strings/str_replace_error.phpt
 create mode 100644 ext/standard/tests/strings/str_replace_variation1.phpt
 create mode 100644 ext/standard/tests/strings/str_replace_variation2.phpt
 create mode 100644 ext/standard/tests/strings/str_replace_variation3.phpt
 create mode 100644 ext/standard/tests/strings/str_rot13_basic.phpt
 create mode 100644 ext/standard/tests/strings/str_rot13_error.phpt
 create mode 100644 ext/standard/tests/strings/strnatcasecmp_basic.phpt
 create mode 100644 ext/standard/tests/strings/strnatcasecmp_error.phpt
 create mode 100644 ext/standard/tests/strings/strnatcasecmp_variation1.phpt
 create mode 100644 ext/standard/tests/strings/strnatcmp_basic.phpt
 create mode 100644 ext/standard/tests/strings/strnatcmp_error.phpt
 create mode 100644 ext/standard/tests/strings/strpbrk_basic.phpt
 create mode 100644 ext/standard/tests/strings/strpbrk_error.phpt
 create mode 100644 ext/standard/tests/time/strptime_basic.phpt
 create mode 100644 ext/standard/tests/time/strptime_error.phpt
 create mode 100644 ext/standard/tests/url/get_headers_error_001.phpt
 create mode 100644 ext/standard/tests/url/get_headers_error_002.phpt
 create mode 100644 ext/standard/tests/zend_logo_guid.phpt
 delete mode 100644 ext/standard/url_scanner.c
 delete mode 100644 ext/standard/url_scanner.h
 delete mode 100644 ext/sybase_ct/tests/index.php
 create mode 100644 ext/tidy/tests/030.phpt
 create mode 100644 ext/tidy/tests/031.phpt
 create mode 100644 ext/tidy/tests/032.phpt
 create mode 100644 ext/tidy/tests/033.phpt
 create mode 100644 ext/tidy/tests/034.phpt
 create mode 100644 ext/tidy/tests/tidy_error1.phpt
 create mode 100644 ext/zip/tests/bug49072.phpt
 create mode 100644 ext/zip/tests/bug49072.zip
 create mode 100644 ext/zip/tests/oo_getstatusstring.phpt
 create mode 100644 ext/zip/tests/zip_open_error.phpt
 create mode 100644 ext/zlib/tests/zlib_filter_deflate2.phpt
 create mode 100644 pear/fetch.php
 create mode 100755 svnclean.bat
 create mode 100644 tests/basic/bug45986.phpt
 create mode 100644 tests/basic/php_egg_logo_guid.phpt
 create mode 100644 tests/basic/php_logo_guid.phpt
 create mode 100644 tests/basic/php_real_logo_guid.phpt
 create mode 100644 tests/basic/zend_logo_guid.phpt
 create mode 100644 tests/lang/bug44827.phpt
 create mode 100644 tests/lang/compare_objects_basic1.phpt
 create mode 100644 tests/lang/compare_objects_basic2.phpt
 create mode 100644 tests/lang/foreachLoopIterator.001.phpt
 create mode 100644 tests/lang/foreachLoopIterator.002.phpt
 create mode 100644 tests/lang/foreachLoopIteratorAggregate.001.phpt
 create mode 100644 tests/lang/foreachLoopIteratorAggregate.002.phpt
 create mode 100644 tests/lang/foreachLoopIteratorAggregate.003.phpt
 create mode 100644 tests/lang/foreachLoopIteratorAggregate.004.phpt
 create mode 100644 tests/lang/passByReference_012.phpt
 create mode 100644 tests/lang/string_decimals_001.phpt
 create mode 100644 tests/lang/this_assignment.phpt
 create mode 100644 tests/output/ob_011.phpt
 create mode 100644 tests/output/ob_012.phpt
 create mode 100644 tests/output/ob_013.phpt
 create mode 100644 tests/output/ob_014.phpt
 create mode 100644 tests/output/ob_015.phpt
 create mode 100644 tests/output/ob_017.phpt
 create mode 100644 tests/output/ob_018.phpt
 create mode 100644 tests/output/ob_020.phpt
 create mode 100755 vcsclean
 create mode 100644 win32/build/svnclean.js

diff --git a/.gdbinit b/.gdbinit
index 596f32e..797e41d 100644
--- a/.gdbinit
+++ b/.gdbinit
@@ -12,6 +12,25 @@ document ____executor_globals
 	ZTS detection is automatically based on ext/standard module struct
 end
 
+define print_cvs
+	____executor_globals
+	set $p = $eg.current_execute_data.CVs
+	set $c = $eg.current_execute_data.op_array.last_var
+	set $v = $eg.current_execute_data.op_array.vars
+	set $i = 0
+
+	printf "Compiled variables count: %d\n", $c
+	while $i < $c
+		printf "%d = %s\n", $i, $v[$i].name
+		if $p[$i] != 0
+			printzv *$p[$i]
+		else
+			printf "*uninitialized*\n"
+		end
+		set $i = $i + 1
+	end
+end
+
 define dump_bt
 	set $t = $arg0
 	while $t
diff --git a/.project b/.project
deleted file mode 100644
index a14a881..0000000
--- a/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>php-5.2</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/CODING_STANDARDS b/CODING_STANDARDS
index 044f352..88b8482 100644
--- a/CODING_STANDARDS
+++ b/CODING_STANDARDS
@@ -58,8 +58,8 @@ Exceptions:
     calling.
 
 [7] When commenting out code using a #if statement, do NOT use 0 only. Instead
-    use "<cvs username here>_0". For example, #if FOO_0, where FOO is your
-    cvs user foo.  This allows easier tracking of why code was commented out, 
+    use "<svn username here>_0". For example, #if FOO_0, where FOO is your
+    svn user foo.  This allows easier tracking of why code was commented out, 
     especially in bundled libraries.  
 
 [8] Do not define functions that are not available.  For instance, if a
diff --git a/INSTALL b/INSTALL
index 7435e00..fc1ca74 100644
--- a/INSTALL
+++ b/INSTALL
@@ -386,7 +386,7 @@ Apache 2.0 on Unix systems
        http://snaps.php.net/php5-latest.tar.gz or download binaries for
        Windows http://snaps.php.net/win32/php5-win32-latest.zip.
      * a prerelease version downloadable from http://qa.php.net/.
-     * you have always the option to obtain PHP through anonymous CVS.
+     * you have always the option to obtain PHP through SVN.
 
      These versions of PHP are compatible to Apache 2.0.40 and later.
 
@@ -1303,8 +1303,8 @@ Introduction to PECL Installations
 
    When building PHP modules, it's important to have known-good versions
    of the required tools (autoconf, automake, libtool, etc.) See the
-   Anonymous CVS Instructions for details on the required tools, and
-   required versions.
+   SVN Instructions for details on the required tools, and required
+   versions.
      __________________________________________________________________
 
 Downloading PECL extensions
@@ -1320,14 +1320,11 @@ Downloading PECL extensions
        PECL extensions that have releases listed on the PECL web site are
        available for download and installation using the pecl command.
        Specific revisions may also be specified.
-     * CVS
-       Most PECL extensions also reside in CVS. A web-based view may be
-       seen at http://cvs.php.net/pecl/. To download straight from CVS,
-       the following sequence of commands may be used. Note that phpfi is
-       the password for user cvsread:
-
-$ cvs -d:pserver:cvsread at cvs.php.net:/repository login
-$ cvs -d:pserver:cvsread at cvs.php.net:/repository co pecl/extname
+     * SVN
+       All PECL files reside in SVN. A web-based view may be seen at
+       http://svn.php.net/pecl/. To download straight from SVN, use:
+
+$ svn co http://svn.php.net/repository/pecl/<extname>/trunk <extname>
 
      * Windows downloads
        Windows users may find compiled PECL binaries by downloading the
diff --git a/Makefile.global b/Makefile.global
index 6a62d72..d87f84c 100644
--- a/Makefile.global
+++ b/Makefile.global
@@ -115,9 +115,8 @@ clean:
 	rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
 
 distclean: clean
-	rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp
+	rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp
 	$(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f
-	find . -name Makefile | xargs rm -f
 
 .PHONY: all clean install distclean test
 .NOEXPORT:
diff --git a/NEWS b/NEWS
index d119215..909ade6 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,142 @@
 PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+17 Sep 2009, PHP 5.2.11
+- Fixed certificate validation inside php_openssl_apply_verification_policy.
+  (Ryan Sleevi, Ilia)
+
+
+10 Sep 2009, PHP 5.2.11RC3
+- Updated timezone database to version 2009.13 (2009m) (Derick)
+
+- Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters). (Ilia)
+- Fixed bug #49447 (php engine needs to correctly check for socket API return
+  status on windows). (Sriram Natarajan)
+- Fixed bug #48060 (pdo_pgsql - large objects are returned as empty). (Matteo)
+
+
+03 Sep 2009, PHP 5.2.11RC2
+- Added missing sanity checks around exif processing. (Ilia)
+
+- Fixed sanity check for the color index in imagecolortransparent. (Pierre)
+- Fixed zlib.deflate compress filter to actually accept level parameter. (Jani)
+- Fixed leak on error in popen/exec (and related functions) on Windows.
+  (Pierre)
+
+- Fixed bug #49361 (wordwrap() wraps incorrectly on end of line boundaries). 
+  (Ilia, code-it at mail dot ru)
+- Fixed bug #49289 (bcmath module doesn't compile with phpize configure).
+  (Jani)
+- Fixed bug #49286 (php://input (php_stream_input_read) is broken). (Jani)
+- Fixed bug #49269 (Ternary operator fails on Iterator object when used inside
+  foreach declaration). (Etienne, Dmitry)
+- Fixed bug #49236 (Missing PHP_SUBST(PDO_MYSQL_SHARED_LIBADD)). (Jani)
+- Fixed bug #49144 (Import of schema from different host transmits original
+  authentication details). (Dmitry)
+- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes when including
+  files from function). (Stas)
+- Fixed bug #48696 (ldap_read() segfaults with invalid parameters). (Felipe)
+- Fixed bug #47273 (Encoding bug in SoapServer->fault). (Dmitry)
+- Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett)
+
+
+13 Aug 2009, PHP 5.2.11RC1
+- Fixed regression in cURL extension that prevented flush of data to output
+  defined as a file handle. (Ilia)
+- Fixed memory leak in stream_is_local(). (Felipe, Tony)
+
+- Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre)
+- Fixed bug #49132 (posix_times returns false without error).
+  (phpbugs at gunnu dot us)
+- Fixed bug #49125 (Error in dba_exists C code). (jdornan at stanford dot edu)
+- Fixed bug #49095 (proc_get_status['exitcode'] fails on win32). (Felipe)
+- Fixed bug #49074 (private class static fields can be modified by using
+  reflection). (Jani)
+- Fixed bug #49072 (feof never returns true for damaged file in zip). (Pierre)
+- Fixed bug #49052 (context option headers freed too early when using
+  --with-curlwrappers). (Jani)
+- Fixed bug #49032 (SplFileObject::fscanf() variables passed by reference).
+  (Jani)
+- Fixed bug #49026 (proc_open() can bypass safe_mode_protected_env_vars
+  restrictions). (Ilia)
+- Fixed bug #48994 (zlib.output_compression does not output HTTP headers when
+  set to a string value). (Jani)
+- Fixed bug #48980 (Crash when compiling with pdo_firebird). (Felipe)
+- Fixed bug #48962 (cURL does not upload files with specified filename).
+  (Ilia)
+- Fixed bug #48929 (Double \r\n after HTTP headers when "header" context
+  option is an array). (David Zülke)
+- Fixed bug #48913 (Too long error code strings in pdo_odbc driver).
+  (naf at altlinux dot ru, Felipe)
+- Fixed bug #48802 (printf() returns incorrect outputted length). (Jani)
+- Fixed bug #48801 (Problem with imagettfbbox). (Takeshi Abe)
+- Fixed bug #48788 (RecursiveDirectoryIterator doesn't descend into symlinked
+  directories). (Ilia)
+- Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()).
+  (Sriram Natarajan)
+- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at 
+  gmail dot com, Pierre)
+- Fixed bug #48762 (IPv6 address filter still rejects valid address). (Felipe)
+- Fixed bug #48733 (CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR warns on
+  files that have been opened with r+). (Ilia)
+- Fixed bug #48732 (TTF Bounding box wrong for letters below baseline).
+  (Takeshi Abe)
+- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain
+  components). (Ilia)
+- Fixed bug #48709 (metaphone and 'wh'). (brettz9 at yahoo dot com, Felipe)
+- Fixed bug #48697 (mb_internal_encoding() value gets reset by parse_str()).
+  (Moriyoshi)
+- Fixed bug #48693 (Double declaration of __lambda_func when lambda wrongly
+  formatted). (peter at lvp-media dot com, Felipe)
+- Fixed bug #48661 (phpize is broken with non-bash shells). (Jani)
+- Fixed bug #48645 (mb_convert_encoding() doesn't understand hexadecimal
+  html-entities). (Moriyoshi)
+- Fixed bug #48637 ("file" fopen wrapper is overwritten when using
+  --with-curlwrappers). (Jani)
+- Fixed bug #48636 (Error compiling of ext/date on netware). (guenter at
+  php.net, Ilia)
+- Fixed bug #48629 (get_defined_constants() ignores categorize parameter).
+  (Felipe)
+- Fixed bug #48619 (imap_search ALL segfaults). (Pierre)
+- Fixed bug #48608 (Invalid libreadline version not detected during configure).
+  (Jani)
+- Fixed bug #48555 (ImageFTBBox() differs from previous versions for texts
+  with new lines) (Takeshi Abe)
+- Fixed bug #48539 (pdo_dblib fails to connect, throws empty PDOException
+  "SQLSTATE[] (null)"). (Felipe)
+- Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using
+  TMPDIR). (Ilia)
+- Fixed bug #48450 (Compile failure under IRIX 6.5.30 building gd.c). (Kalle)
+- Fixed bug #48400 (imap crashes when closing stream opened with
+  OP_PROTOTYPE flag). (Jani)
+- Fixed bug #48284 (hash "adler32" byte order is reversed). (Scott)
+- Fixed bug #48276 (date("Y") on big endian machines produces the
+  wrong result). (Scott)
+- Fixed bug #48247 (Infinite loop and possible crash during startup with
+  errors when errors are logged). (Jani)
+- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre, 
+  Al dot Smith at aeschi dot ch dot eu dot org)
+- Fixed bug #48182 (ssl handshake fails during asynchronous socket connection).
+  (Sriram Natarajan)
+- Fixed bug #48057 (Only the date fields of the first row are fetched,
+  others are empty). (info at programmiernutte dot net)
+- Fixed bug #47481 (natcasesort() does not sort extended ASCII characters
+  correctly). (Herman Radtke)
+- Fixed bug #47351 (Memory leak in DateTime). (Derick, Tobias John)
+- Fixed bug #46020 (with Sun Java System Web Server 7.0 on HPUX, #define HPUX).
+  (Uwe Schindler)
+- Fixed bug #45905 (imagefilledrectangle() clipping error).
+  (markril at hotmail dot com, Pierre)
+- Fixed bug #45280 (Reflection of instantiated COM classes causes PHP to crash) 
+  (Paul Richards, Kalle)
+- Fixed bug #45141 (setcookie will output expires years of >4 digits). (Ilia)
+- Fixed bug #44683 (popen crashes when an invalid mode is passed). (Pierre)
+- Fixed bug #44144 (spl_autoload_functions() should return object instance
+  when appropriate). (Hannes, Etienne)
+- Fixed bug #43510 (stream_get_meta_data() does not return same mode as used
+  in fopen). (Jani)
+- Fixed bug #42434 (ImageLine w/ antialias = 1px shorter). (wojjie at gmail dot 
+  com, Kalle)
+
 17 Jun 2009, PHP 5.2.10
 - Updated timezone database to version 2009.9 (2009i) (Derick)
 
@@ -293,6 +430,9 @@ PHP                                                                        NEWS
   either disable or change the compile time ini scan directory (FR #45114).
   (Jani)
 
+- Reverted fix for bug #44197 due to behaviour change in minor version.
+  (Felipe)
+
 - Fixed missing initialization of BG(page_uid) and BG(page_gid), 
   reported by Maksymilian Arciemowicz. (Stas)
 - Fixed memory leak inside sqlite_create_aggregate(). (Felipe)
@@ -338,8 +478,6 @@ PHP                                                                        NEWS
   attribute.(Scott)
 - Fixed a crash on invalid method in ReflectionParameter constructor.
   (Christian Seiler)
-- Reverted fix for bug #44197 due to behaviour change in minor version.
-  (Felipe)
 
 - Fixed bug #46732 (mktime.year description is wrong). (Derick)
 - Fixed bug #46696 (cURL fails in upload files with specified content-type).
@@ -587,6 +725,8 @@ PHP                                                                        NEWS
 
 
 01 May 2008, PHP 5.2.6
+- Upgraded PCRE to version 7.6 (Nuno)
+
 - Fixed two possible crashes inside posix extension (Tony)
 - Fixed incorrect heredoc handling when label is used within the block. 
   (Matt)
@@ -606,7 +746,6 @@ PHP                                                                        NEWS
 - Fixed segfault in filter extension when using callbacks. (Arnar Mar Sig,
   Felipe)
 - Fixed faulty fix for bug #40189 (endless loop in zlib.inflate stream filter). (Greg)
-- Upgraded PCRE to version 7.6 (Nuno)
 
 - Fixed bug #44742 (timezone_offset_get() causes segmentation faults). (Derick)
 - Fixed bug #44720 (Prevent crash within session_register()). (Scott)
diff --git a/README.CVS-RULES b/README.CVS-RULES
deleted file mode 100644
index e0837b3..0000000
--- a/README.CVS-RULES
+++ /dev/null
@@ -1,125 +0,0 @@
-This is the first file you should be reading after you get your CVS account.
-We'll assume you're basically familiar with CVS, but feel free to post
-your questions on the mailing list. Please have a look at 
-http://cvsbook.red-bean.com/ for more detailed information on CVS.
-
-PHP is developed through the efforts of a large number of people.
-Collaboration is a Good Thing(tm), and CVS lets us do this. Thus, following
-some basic rules with regards to CVS usage will:
-
-   a. Make everybody happier, especially those responsible for maintaining
-      the CVS itself.
-   b. Keep the changes consistently well documented and easily trackable.
-   c. Prevent some of those 'Oops' moments.
-   d. Increase the general level of good will on planet Earth.
-
-
-Having said that, here are the organizational rules:
-
-   1. Respect other people working on the project.
-
-   2. Discuss any significant changes on the list before committing. 
-
-   3. Look at EXTENSIONS file to see who is the primary maintainer of
-      the code you want to contribute to.
-
-   4. If you "strongly disagree" about something another person did, don't
-      start fighting publicly - take it up in private email.
-
-   5. If you don't know how to do something, ask first!
-
-   6. Test your changes before committing them. We mean it. Really.
-      To do so use "make test".
-   
-   7. For development use the --enable-maintainer-zts switch to ensure your
-      code handles TSRM correctly and doesn't break for thos who need that.
-
-Currently we have the following branches in use:
-HEAD     Will become PHP 6.0. This CVS branch is for active development.
-PHP_5_2  Is used to release the PHP 5.2.x series. Only minor feature
-         enhancements may go in here, but please keep that as infrequent as
-         possible.
-PHP_5_1  This branch is closed.
-PHP_4_4  Is used to release the PHP 4.4.x series. Only bugfixes are permitted
-         on this branch (Consult the releasemaster prior to commit).
-PHP_4_3  This branch is closed.
-
-The next few rules are more of a technical nature.
-
-   1. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
-      messages every day. Woe be to those who attempt to mess with it.
-
-   2. All news updates intended for public viewing, such as new features,
-      bug fixes, improvements, etc., should go into the NEWS file. 
-	  
-      NB! Lines, starting with @ will go automagically into NEWS file, but
-      this is NOT recommended, though. Please, add news entries directly to 
-      NEWS file and don't forget to keep them adjusted and sorted.
-
-   3. Do not commit multiple file and dump all messages in one commit. If you
-      modified several unrelated files, commit each group separately and
-      provide a nice commit message for each one. See example below.
-
-   4. Do write your commit message in such a way that it makes sense even
-      without the corresponding diff. One should be able to look at it, and
-      immediately know what was modified. Definitely include the function name
-      in the message as shown below.
-
-   5. In your commit messages, keep each line shorter than 80 characters. And
-      try to align your lines vertically, if they wrap. It looks bad otherwise.
-
-   6. If you modified a function that is callable from PHP, prepend PHP to
-      the function name as shown below.
-
-
-The format of the commit messages is pretty simple.
-
-Use a - to start a new item in your commit message.
-
-If a line begins with #, it is taken to be a comment and will not appear
-in the ChangeLog. Everything else goes into the ChangeLog.
-
-It is important to note that if your comment or news logline spans multiple
-lines, you have to put # at the beginning of _every_ such line. 
-
-Example. Say you modified two files, datetime.c and string.c. In datetime.c you
-added a new format option for the date() function, and in string.c you fixed a
-memory leak in php_trim(). Don't commit both of these at once. Commit them
-separately and try to make sure your commit messages look something like the
-following.
-
-For datetime.c:
-- Added new 'K' format modifier to date() for printing out number of days until
-  New Year's Eve.
-
-For string.c:
-- Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
-#- Man, that thing was leaking all over the place!
-
-The # lines will be omitted from the ChangeLog automagically.
-
-Use the [DOC] tag in your log message whenever you feel that your changes
-imply a documentation modification. The php-doc team will automatically
-get notified about your commit through the php-doc mailing list.
-
-If you fix some bugs, you should note the bug ID numbers in your
-commit message. Bug ID should be prefixed by "#" for easier access to
-bug report when developers are browsing CVS via LXR or Bonsai.
-
-Example:
-
-Fixed bug #14016 (pgsql notice handler double free crash bug.)
-
-If you don't see your messages in ChangeLog right away, don't worry!
-These files are updated once a day, so your stuff will not show up until
-somewhat later. 
-
-You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
-to look at PHP CVS repository in various ways.
-
-To receive daily updates to ChangeLog and NEWS, send an empty message to
-php-cvs-daily-subscribe at lists.php.net.
-
-Happy hacking,
-
-PHP Team
diff --git a/README.SELF-CONTAINED-EXTENSIONS b/README.SELF-CONTAINED-EXTENSIONS
index 02d27ad..daa5706 100644
--- a/README.SELF-CONTAINED-EXTENSIONS
+++ b/README.SELF-CONTAINED-EXTENSIONS
@@ -1,4 +1,4 @@
-$Id: README.SELF-CONTAINED-EXTENSIONS,v 1.12 2002/10/23 21:35:17 jon Exp $
+$Id: README.SELF-CONTAINED-EXTENSIONS 100881 2002-10-23 21:35:17Z jon $
 =============================================================================
 
 HOW TO CREATE A SELF-CONTAINED PHP EXTENSION
diff --git a/README.STREAMS b/README.STREAMS
index bf96f3b..21d6364 100644
--- a/README.STREAMS
+++ b/README.STREAMS
@@ -1,6 +1,6 @@
 An Overview of the PHP Streams abstraction
 ==========================================
-$Id: README.STREAMS,v 1.11 2003/03/04 21:46:33 iliaa Exp $
+$Id: README.STREAMS 118966 2003-03-04 21:46:33Z iliaa $
 
 WARNING: some prototypes in this file are out of date.
 The information contained here is being integrated into
diff --git a/README.SUBMITTING_PATCH b/README.SUBMITTING_PATCH
index 04847d7..1489b54 100644
--- a/README.SUBMITTING_PATCH
+++ b/README.SUBMITTING_PATCH
@@ -8,11 +8,11 @@ part is making it acceptable for inclusion into our repository. :-)
 
 How to create patch?  
 -------------------- 
-We are working with CVS. You need to get CVS source to create a patch
-that we accept.  Visit http://www.php.net/anoncvs.php to get CVS
-source. You can check out older versions, but make sure you get
-the default branch (i.e. Do not use -r option when you check out the 
-CVS source)
+We use Subversion (SVN) for revision control.  You need to get the
+source from SVN in order to create a patch.  Read
+http://www.php.net/svn.php for help on using SVN.  You can check out
+older branches, but make sure you get trunk as well and make your
+patch work there.
 
 Read CODING_STANDARDS file before you start working.
 
@@ -21,7 +21,7 @@ add a new feature to PHP. After you finished editing, please test your
 patch. Read README.TESTING for testing.
 
 After you finish testing your patch, take diff file using 
-"cvs diff > your.patch" command.
+"svn diff > your.patch" command.
 
 Read README.TESTING for submitting a test script for your patch. This is
 not strictly required, but it is preferred to submit a test script along
@@ -41,25 +41,8 @@ maintainer and/or internals at lists.php.net, or pear-dev at lists.php.net if
 you are patching PEAR. Official module maintainers can be found in
 EXTENSIONS file in PHP source.
 
-If you are new to CVS (Concurrent Versions System), visit 
-http://cvshome.org/ for details.
-
-
-Recommended CVS client settings for creating patch file
-------------------------------------------------------
-Recommended ~/.cvsrc file setting is:
-------
-cvs -z3
-update -d -P
-checkout -P
-diff -u
-
-------
-diff -u means:
- -u     Use the unified output format.
-
-With this CVS setting, you don't have to worry about adding/deleting
-newlines and spaces.
+If you are new to SVN (Subversion), visit
+http://svnbook.red-bean.com/ for details.
 
 
 Check list for submitting patch
@@ -70,10 +53,7 @@ Check list for submitting patch
    web server error logs when you test your patch?
  - Did you build PHP for multi-threaded web servers. (Optional)
  - Did you create test script for "make test"? (Recommended)
- - Did you check your patch is unified format and it does not 
-   contain white space changes? (If you are not using recommended 
-   cvs setting)
- - Did you update CVS source before you take final patch?
+ - Did you update SVN source before you take final patch?
  - Did you read the patch again?
 
 
@@ -118,7 +98,7 @@ these questions:
 
 What happens when your patch is applied?
 ---------------------------------------- 
-Your name will be included together with your email address in the CVS 
+Your name will be included together with your email address in the SVN 
 commit log. If your patch affects end-users, a brief description
 and your name might be added to the NEWS file.
 
diff --git a/README.SVN-RULES b/README.SVN-RULES
new file mode 100644
index 0000000..2b3cb80
--- /dev/null
+++ b/README.SVN-RULES
@@ -0,0 +1,146 @@
+====================
+  SVN Commit Rules
+====================
+
+This is the first file you should be reading after you get your SVN account.
+We'll assume you're basically familiar with SVN, but feel free to post
+your questions on the mailing list. Please have a look at
+http://svnbook.red-bean.com/ for more detailed information on SVN.
+
+PHP is developed through the efforts of a large number of people.
+Collaboration is a Good Thing(tm), and SVN lets us do this. Thus, following
+some basic rules with regards to SVN usage will::
+
+   a. Make everybody happier, especially those responsible for maintaining
+      the SVN itself.
+
+   b. Keep the changes consistently well documented and easily trackable.
+
+   c. Prevent some of those 'Oops' moments.
+
+   d. Increase the general level of good will on planet Earth.
+
+Having said that, here are the organizational rules::
+
+   1. Respect other people working on the project.
+
+   2. Discuss any significant changes on the list before committing and get
+      confirmation from the release manager for the given branch.
+
+   3. Look at EXTENSIONS file to see who is the primary maintainer of
+      the code you want to contribute to.
+
+   4. If you "strongly disagree" about something another person did, don't
+      start fighting publicly - take it up in private email.
+
+   5. If you don't know how to do something, ask first!
+
+   6. Test your changes before committing them. We mean it. Really.
+      To do so use "make test".
+
+   7. For development use the --enable-maintainer-zts switch to ensure your
+      code handles TSRM correctly and doesn't break for thos who need that.
+
+Currently we have the following branches in use::
+
+  trunk             Will become PHP 6.0. This CVS branch is for active development.
+
+  branches/PHP_5_3  Is used to release the PHP 5.3.x series. It still allows for
+                    larger enhancements.
+
+  branches/PHP_5_2  Is used to release the PHP 5.2.x series. Only bugfixes are permitted
+                    on this branch (Consult the releasemaster prior to commit).
+
+  branches/PHP_5_1  This branch is closed.
+
+  branches/PHP_4_4  This branch is closed.
+
+The next few rules are more of a technical nature::
+
+   1. All changes should first go to trunk and then get merged from trunk
+      (aka MFH'ed) to all other relevant branches.
+
+   2. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
+      messages every day. Woe be to those who attempt to mess with it.
+
+   3. All news updates intended for public viewing, such as new features,
+      bug fixes, improvements, etc., should go into the NEWS file of the
+      *first* to be released version with the given change. In other words
+      any NEWS file change only needs to done in one branch.
+
+      NB! Lines, starting with @ will go automagically into NEWS file, but
+      this is NOT recommended, though. Please, add news entries directly to
+      NEWS file and don't forget to keep them adjusted and sorted.
+
+   4. Do not commit multiple file and dump all messages in one commit. If you
+      modified several unrelated files, commit each group separately and
+      provide a nice commit message for each one. See example below.
+
+   5. Do write your commit message in such a way that it makes sense even
+      without the corresponding diff. One should be able to look at it, and
+      immediately know what was modified. Definitely include the function name
+      in the message as shown below.
+
+   6. In your commit messages, keep each line shorter than 80 characters. And
+      try to align your lines vertically, if they wrap. It looks bad otherwise.
+
+   7. If you modified a function that is callable from PHP, prepend PHP to
+      the function name as shown below.
+
+
+The format of the commit messages is pretty simple.
+
+Use a - to start a new item in your commit message.
+
+If a line begins with #, it is taken to be a comment and will not appear
+in the ChangeLog. Everything else goes into the ChangeLog.
+
+It is important to note that if your comment or news logline spans multiple
+lines, you have to put # at the beginning of **every** such line.
+
+Example. Say you modified two files, datetime.c and string.c. In datetime.c you
+added a new format option for the date() function, and in string.c you fixed a
+memory leak in php_trim(). Don't commit both of these at once. Commit them
+separately and try to make sure your commit messages look something like the
+following.
+
+For datetime.c::
+
+  - Added new 'K' format modifier to date() for printing out number of days
+    until New Year's Eve.
+
+For string.c::
+
+  - Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
+  #- Man, that thing was leaking all over the place!
+
+The # lines will be omitted from the ChangeLog automagically.
+
+Use the [DOC] tag in your log message whenever you feel that your changes
+imply a documentation modification. The php-doc team will automatically
+get notified about your commit through the php-doc mailing list.
+
+If you fix some bugs, you should note the bug ID numbers in your
+commit message. Bug ID should be prefixed by "#" for easier access to
+bug report when developers are browsing CVS via LXR or Bonsai.
+
+Example::
+
+  Fixed bug #14016 (pgsql notice handler double free crash bug.)
+
+If you don't see your messages in ChangeLog right away, don't worry!
+These files are updated once a day, so your stuff will not show up until
+somewhat later.
+
+When you change the NEWS file for a bug fix, then please keep the bugs
+sorted in decreasing order under the fixed version.
+
+You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
+to look at PHP SVN repository in various ways.
+
+To receive daily updates to ChangeLog and NEWS, send an empty message to
+php-cvs-daily-subscribe at lists.php.net.
+
+Happy hacking,
+
+PHP Team
diff --git a/README.WIN32-BUILD-SYSTEM b/README.WIN32-BUILD-SYSTEM
index a123a81..ada0ac5 100644
--- a/README.WIN32-BUILD-SYSTEM
+++ b/README.WIN32-BUILD-SYSTEM
@@ -1,5 +1,5 @@
 The Win32 Build System.
-$Id: README.WIN32-BUILD-SYSTEM,v 1.4 2003/12/23 02:51:18 wez Exp $
+$Id: README.WIN32-BUILD-SYSTEM 147232 2003-12-23 02:51:18Z wez $
 Wez Furlong <wez at thebrainroom.com>
 
 If you need help with the build system, send mail to
diff --git a/README.input_filter b/README.input_filter
index 1d42695..f3ca2ee 100644
--- a/README.input_filter
+++ b/README.input_filter
@@ -88,7 +88,7 @@ PHP_MINFO_FUNCTION(my_input_filter)
 {
     php_info_print_table_start();
     php_info_print_table_row( 2, "My Input Filter Support", "enabled" );
-    php_info_print_table_row( 2, "Revision", "$Revision: 1.7.4.1.2.1 $");
+    php_info_print_table_row( 2, "Revision", "$Revision: 222526 $");
     php_info_print_table_end();
 }
 
diff --git a/TSRM/TSRM.dsp b/TSRM/TSRM.dsp
index 53bce25..1a5693f 100644
--- a/TSRM/TSRM.dsp
+++ b/TSRM/TSRM.dsp
@@ -1,186 +1,186 @@
-# Microsoft Developer Studio Project File - Name="TSRM" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=TSRM - Win32 Debug_TS
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "TSRM.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "TSRM.mak" CFG="TSRM - Win32 Debug_TS"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "TSRM - Win32 Debug_TS" (based on "Win32 (x86) Static Library")
-!MESSAGE "TSRM - Win32 Release_TS" (based on "Win32 (x86) Static Library")
-!MESSAGE "TSRM - Win32 Release_TS_inline" (based on "Win32 (x86) Static Library")
-!MESSAGE "TSRM - Win32 Release_TSDbg" (based on "Win32 (x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "TSRM - Win32 Debug_TS"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "TSRM___Win32_Debug_TS"
-# PROP BASE Intermediate_Dir "TSRM___Win32_Debug_TS"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug_TS"
-# PROP Intermediate_Dir "Debug_TS"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "C:\Projects\TSRM" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /D "_DEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=1 /YX /FD /GZ /c
-# ADD BASE RSC /l 0x40d /d "_DEBUG"
-# ADD RSC /l 0x40d /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF  "$(CFG)" == "TSRM - Win32 Release_TS"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "TSRM___Win32_Release_TS"
-# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TS"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release_TS"
-# PROP Intermediate_Dir "Release_TS"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
-# ADD BASE RSC /l 0x40d /d "NDEBUG"
-# ADD RSC /l 0x40d /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF  "$(CFG)" == "TSRM - Win32 Release_TS_inline"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "TSRM___Win32_Release_TS_inline"
-# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TS_inline"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release_TS_inline"
-# PROP Intermediate_Dir "Release_TS_inline"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "TSRM_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
-# ADD BASE RSC /l 0x40d /d "NDEBUG"
-# ADD RSC /l 0x40d /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF  "$(CFG)" == "TSRM - Win32 Release_TSDbg"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "TSRM___Win32_Release_TSDbg"
-# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TSDbg"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release_TSDbg"
-# PROP Intermediate_Dir "Release_TSDbg"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /Zi /Od /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
-# ADD BASE RSC /l 0x40d /d "NDEBUG"
-# ADD RSC /l 0x40d /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF 
-
-# Begin Target
-
-# Name "TSRM - Win32 Debug_TS"
-# Name "TSRM - Win32 Release_TS"
-# Name "TSRM - Win32 Release_TS_inline"
-# Name "TSRM - Win32 Release_TSDbg"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\TSRM.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\tsrm_strtok_r.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\tsrm_virtual_cwd.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\tsrm_win32.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\readdir.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\TSRM.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tsrm_config.w32.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tsrm_config_common.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tsrm_strtok_r.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tsrm_virtual_cwd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tsrm_win32.h
-# End Source File
-# End Group
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="TSRM" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=TSRM - Win32 Debug_TS
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "TSRM.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "TSRM.mak" CFG="TSRM - Win32 Debug_TS"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "TSRM - Win32 Debug_TS" (based on "Win32 (x86) Static Library")
+!MESSAGE "TSRM - Win32 Release_TS" (based on "Win32 (x86) Static Library")
+!MESSAGE "TSRM - Win32 Release_TS_inline" (based on "Win32 (x86) Static Library")
+!MESSAGE "TSRM - Win32 Release_TSDbg" (based on "Win32 (x86) Static Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "TSRM - Win32 Debug_TS"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "TSRM___Win32_Debug_TS"
+# PROP BASE Intermediate_Dir "TSRM___Win32_Debug_TS"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug_TS"
+# PROP Intermediate_Dir "Debug_TS"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "C:\Projects\TSRM" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /D "_DEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=1 /YX /FD /GZ /c
+# ADD BASE RSC /l 0x40d /d "_DEBUG"
+# ADD RSC /l 0x40d /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF  "$(CFG)" == "TSRM - Win32 Release_TS"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "TSRM___Win32_Release_TS"
+# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TS"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release_TS"
+# PROP Intermediate_Dir "Release_TS"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
+# ADD BASE RSC /l 0x40d /d "NDEBUG"
+# ADD RSC /l 0x40d /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF  "$(CFG)" == "TSRM - Win32 Release_TS_inline"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "TSRM___Win32_Release_TS_inline"
+# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TS_inline"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release_TS_inline"
+# PROP Intermediate_Dir "Release_TS_inline"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "TSRM_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
+# ADD BASE RSC /l 0x40d /d "NDEBUG"
+# ADD RSC /l 0x40d /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF  "$(CFG)" == "TSRM - Win32 Release_TSDbg"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "TSRM___Win32_Release_TSDbg"
+# PROP BASE Intermediate_Dir "TSRM___Win32_Release_TSDbg"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release_TSDbg"
+# PROP Intermediate_Dir "Release_TSDbg"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /Zi /Od /I "." /D "NDEBUG" /D "ZTS" /D "_LIB" /D "TSRM_EXPORTS" /D "WIN32" /D "_MBCS" /D TSRM_DEBUG=0 /YX /FD /c
+# ADD BASE RSC /l 0x40d /d "NDEBUG"
+# ADD RSC /l 0x40d /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ENDIF 
+
+# Begin Target
+
+# Name "TSRM - Win32 Debug_TS"
+# Name "TSRM - Win32 Release_TS"
+# Name "TSRM - Win32 Release_TS_inline"
+# Name "TSRM - Win32 Release_TSDbg"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\TSRM.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\tsrm_strtok_r.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\tsrm_virtual_cwd.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\tsrm_win32.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\readdir.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TSRM.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\tsrm_config.w32.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\tsrm_config_common.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\tsrm_strtok_r.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\tsrm_virtual_cwd.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\tsrm_win32.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TSRM/build.mk b/TSRM/build.mk
index d62326a..5cd3aa9 100644
--- a/TSRM/build.mk
+++ b/TSRM/build.mk
@@ -5,7 +5,7 @@
 #
 # Written by Sascha Schumann
 #
-# $Id: build.mk,v 1.2 1999/10/10 02:01:20 sascha Exp $ 
+# $Id: build.mk 14329 1999-10-10 02:02:13Z sascha $ 
 
 
 LT_TARGETS = ltmain.sh ltconfig
diff --git a/TSRM/config.w32 b/TSRM/config.w32
index 2f70ced..0098b0e 100644
--- a/TSRM/config.w32
+++ b/TSRM/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.1 2003/12/22 15:01:05 wez Exp $
+// $Id: config.w32 147168 2003-12-22 15:01:05Z wez $
 
 if (CHECK_HEADER_ADD_INCLUDE("NewAPIs.h", "CFLAGS_PHP", php_usual_include_suspects)) {
 	// Need to add the flag directly, since TSRM doesn't include the config
diff --git a/TSRM/configure.in b/TSRM/configure.in
index fb1a5a6..6705f58 100644
--- a/TSRM/configure.in
+++ b/TSRM/configure.in
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 1.17 2001/08/08 10:26:21 zeev Exp $
+dnl $Id: configure.in 53832 2001-08-08 10:26:21Z zeev $
 dnl
 dnl Minimalistic configure.in for TSRM.
 dnl
diff --git a/TSRM/tsrm_nw.c b/TSRM/tsrm_nw.c
index f832dae..596e3a0 100644
--- a/TSRM/tsrm_nw.c
+++ b/TSRM/tsrm_nw.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tsrm_nw.c,v 1.8.2.1.2.3 2008/12/31 11:17:31 sebastian Exp $ */
+/* $Id: tsrm_nw.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdlib.h>
 #include <stdio.h>
diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c
index 9ef6ef4..7d2f7db 100644
--- a/TSRM/tsrm_virtual_cwd.c
+++ b/TSRM/tsrm_virtual_cwd.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tsrm_virtual_cwd.c,v 1.74.2.9.2.41 2008/12/31 11:17:31 sebastian Exp $ */
+/* $Id: tsrm_virtual_cwd.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <sys/types.h>
 #include <sys/stat.h>
diff --git a/TSRM/tsrm_virtual_cwd.h b/TSRM/tsrm_virtual_cwd.h
index 4d99f16..10f7378 100644
--- a/TSRM/tsrm_virtual_cwd.h
+++ b/TSRM/tsrm_virtual_cwd.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tsrm_virtual_cwd.h,v 1.48.2.5.2.10 2008/12/31 11:17:32 sebastian Exp $ */
+/* $Id: tsrm_virtual_cwd.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef VIRTUAL_CWD_H
 #define VIRTUAL_CWD_H
diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c
index 6d9eed4..0fcbabe 100644
--- a/TSRM/tsrm_win32.c
+++ b/TSRM/tsrm_win32.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tsrm_win32.c,v 1.27.2.1.2.11 2008/12/31 11:17:32 sebastian Exp $ */
+/* $Id: tsrm_win32.c 287900 2009-08-30 17:13:45Z pajoye $ */
 
 #include <stdio.h>
 #include <fcntl.h>
@@ -179,20 +179,39 @@ TSRM_API FILE *popen(const char *command, const char *type)
 TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env)
 {
 	FILE *stream = NULL;
-	int fno, str_len = strlen(type), read, mode;
+	int fno, type_len = strlen(type), read, mode;
 	STARTUPINFO startup;
 	PROCESS_INFORMATION process;
 	SECURITY_ATTRIBUTES security;
 	HANDLE in, out;
-	char *cmd;
 	process_pair *proc;
+	char *cmd;
+	int i;
+	char *ptype = (char *)type;
 	TSRMLS_FETCH();
 
+	if (!type) {
+		return NULL;
+	}
+
+	/*The following two checks can be removed once we drop XP support */
+	type_len = strlen(type);
+	if (type_len <1 || type_len > 2) {
+		return NULL;
+	}
+
+	for (i=0; i < type_len; i++) {
+		if (!(*ptype == 'r' || *ptype == 'w' || *ptype == 'b' || *ptype == 't')) {
+			return NULL;
+		}
+		ptype++;
+	}
+
 	security.nLength				= sizeof(SECURITY_ATTRIBUTES);
 	security.bInheritHandle			= TRUE;
 	security.lpSecurityDescriptor	= NULL;
 
-	if (!str_len || !CreatePipe(&in, &out, &security, 2048L)) {
+	if (!type_len || !CreatePipe(&in, &out, &security, 2048L)) {
 		return NULL;
 	}
 
@@ -204,7 +223,7 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
 	startup.hStdError	= GetStdHandle(STD_ERROR_HANDLE);
 
 	read = (type[0] == 'r') ? TRUE : FALSE;
-	mode = ((str_len == 2) && (type[1] == 'b')) ? O_BINARY : O_TEXT;
+	mode = ((type_len == 2) && (type[1] == 'b')) ? O_BINARY : O_TEXT;
 
 
 	if (read) {
@@ -220,6 +239,7 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
 	cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c "));
 	sprintf(cmd, "%s /c %s", TWG(comspec), command);
 	if (!CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, NORMAL_PRIORITY_CLASS|CREATE_NO_WINDOW, env, cwd, &startup, &process)) {
+		free(cmd);
 		return NULL;
 	}
 	free(cmd);
diff --git a/TSRM/tsrm_win32.h b/TSRM/tsrm_win32.h
index 7e1ca67..9079cde 100644
--- a/TSRM/tsrm_win32.h
+++ b/TSRM/tsrm_win32.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tsrm_win32.h,v 1.19.2.1.2.3 2008/12/31 11:17:32 sebastian Exp $ */
+/* $Id: tsrm_win32.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef TSRM_WIN32_H
 #define TSRM_WIN32_H
diff --git a/UPGRADING b/UPGRADING
index 2533cc0..8cc4221 100755
--- a/UPGRADING
+++ b/UPGRADING
@@ -1,4 +1,4 @@
-$Id: UPGRADING,v 1.1.2.3.2.1 2006/08/28 17:18:03 tony2001 Exp $
+$Id: UPGRADING 284232 2009-07-17 04:26:33Z rasmus $
 
 UPGRADE NOTES - PHP 5.1
 
@@ -381,12 +381,12 @@ ext/pfpro           not actively maintained
 ext/w32api          pecl/ffi
 ext/yp              not actively maintained
 sapi/activescript   http://pecl4win.php.net/ext.php/php5activescript.dll (PECL package)
-                    or pecl/activescript (CVS)
+                    or pecl/activescript (SVN)
 
 Modules in PECL that are not actively maintained (i.e. have not been supported
 for some time, have no active maintainer working on them currently, and do not
-have any PECL package releases), are still available in CVS at
-http://cvs.php.net/pecl/. However, unreleased PHP modules are by their nature
+have any PECL package releases), are still available in SVN at
+http://svn.php.net/pecl/. However, unreleased PHP modules are by their nature
 unsupported, and your mileage may vary when attempting to install or use them.
 
 9b. Class constants in new PHP 5.1 extensions
diff --git a/Zend/ChangeLog b/Zend/ChangeLog
index c9ab06e..b8118e1 100644
--- a/Zend/ChangeLog
+++ b/Zend/ChangeLog
@@ -9403,7 +9403,7 @@
 2003-06-10  Jani Taskinen  <sniper at iki.fi>
 
     * zend_multiply.h:
-      - Missing $Id: ChangeLog,v 1.745 2005/08/06 05:37:51 changelog Exp $ tag
+      - Missing $Id: ChangeLog 192570 2005-08-06 05:37:51Z changelog $ tag
 
 2003-06-10  James Cox  <james at imajes.info>
 
@@ -11127,7 +11127,7 @@
       zend_types.h
       zend_variables.c
       zend_variables.h:
-      - Added some missing CVS $Id: ChangeLog,v 1.745 2005/08/06 05:37:51 changelog Exp $ tags, headers and footers.
+      - Added some missing CVS $Id: ChangeLog 192570 2005-08-06 05:37:51Z changelog $ tags, headers and footers.
 
 2003-01-30  Ilia Alshanetsky  <ilia at prohost.org>
 
diff --git a/Zend/FlexLexer.h b/Zend/FlexLexer.h
index 08fce37..fd65258 100644
--- a/Zend/FlexLexer.h
+++ b/Zend/FlexLexer.h
@@ -1,4 +1,4 @@
-// $Header: /repository/ZendEngine2/Attic/FlexLexer.h,v 1.4.18.1 2009/04/27 19:54:34 felipe Exp $
+// $Header$
 
 // FlexLexer.h -- define interfaces for lexical analyzer classes generated
 //		  by flex
diff --git a/Zend/RFCs/002.txt b/Zend/RFCs/002.txt
index 6b6e0ba..a013b91 100644
--- a/Zend/RFCs/002.txt
+++ b/Zend/RFCs/002.txt
@@ -1,5 +1,5 @@
 Title:           Zend 2.0 Namespaces
-Version:         $Revision: 1.4 $
+Version:         $Revision: 148341 $
 Status:          declined
 Maintainer:      Stig S. Bakken <ssb at php.net>
 Created:         2001-09-08
diff --git a/Zend/RFCs/003.txt b/Zend/RFCs/003.txt
index be0b1fa..ceda72b 100644
--- a/Zend/RFCs/003.txt
+++ b/Zend/RFCs/003.txt
@@ -1,5 +1,5 @@
 Title:           Loose type requirements for functions
-Version:         $Revision: 1.1 $
+Version:         $Revision: 57685 $
 Status:          draft
 Maintainer:      Brian Moon <brianm at dealnews.com>
 Created:         2001-09-17
diff --git a/Zend/Zend.m4 b/Zend/Zend.m4
index 3802ef0..9ef7982 100644
--- a/Zend/Zend.m4
+++ b/Zend/Zend.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: Zend.m4,v 1.58.4.4 2006/12/20 10:49:32 dmitry Exp $
+dnl $Id: Zend.m4 225360 2006-12-20 10:49:33Z dmitry $
 dnl
 dnl This file contains Zend specific autoconf functions.
 dnl
diff --git a/Zend/acconfig.h b/Zend/acconfig.h
index 13f2841..5d02024 100644
--- a/Zend/acconfig.h
+++ b/Zend/acconfig.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: acconfig.h,v 1.40.2.1.2.3 2008/12/31 11:17:32 sebastian Exp $ */
+/* $Id: acconfig.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_API
 #define ZEND_DLEXPORT
diff --git a/Zend/acinclude.m4 b/Zend/acinclude.m4
index 51a8aef..bb8a9d5 100644
--- a/Zend/acinclude.m4
+++ b/Zend/acinclude.m4
@@ -1,4 +1,4 @@
-dnl $Id: acinclude.m4,v 1.15.2.2.2.4 2009/02/14 21:04:07 rasmus Exp $
+dnl $Id: acinclude.m4 275827 2009-02-14 21:04:07Z rasmus $
 dnl
 dnl This file contains local autoconf functions.
 
diff --git a/Zend/build.mk b/Zend/build.mk
index 79d1c52..3a8daad 100644
--- a/Zend/build.mk
+++ b/Zend/build.mk
@@ -5,7 +5,7 @@
 #
 # Written by Sascha Schumann
 #
-# $Id: build.mk,v 1.2 1999/10/10 02:02:13 sascha Exp $ 
+# $Id: build.mk 14329 1999-10-10 02:02:13Z sascha $ 
 
 
 LT_TARGETS = ltmain.sh ltconfig
diff --git a/Zend/configure.in b/Zend/configure.in
index e08441f..1c16102 100644
--- a/Zend/configure.in
+++ b/Zend/configure.in
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 1.36 2005/01/22 20:28:17 sniper Exp $
+dnl $Id: configure.in 177968 2005-01-22 20:28:17Z sniper $
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT(zend.c)
diff --git a/Zend/flex.skl b/Zend/flex.skl
index 40170fa..9a7c5cf 100644
--- a/Zend/flex.skl
+++ b/Zend/flex.skl
@@ -1,7 +1,7 @@
 /* A Lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /repository/ZendEngine2/Attic/flex.skl,v 1.31.6.1 2009/04/27 19:54:34 felipe Exp $
+ * $Header$
  * vim:ft=lex:
  */
 
diff --git a/Zend/header b/Zend/header
index 4dd603f..8c204f8 100644
--- a/Zend/header
+++ b/Zend/header
@@ -16,4 +16,4 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: header,v 1.1.2.1 2006/01/04 23:53:03 andi Exp $ */
+/* $Id: header 204578 2006-01-04 23:53:05Z andi $ */
diff --git a/Zend/tests/017.phpt b/Zend/tests/017.phpt
index 9ed7732..f504235 100644
--- a/Zend/tests/017.phpt
+++ b/Zend/tests/017.phpt
@@ -60,7 +60,7 @@ int(%d)
 Warning: get_loaded_extensions() expects at most 1 parameter, 2 given in %s on line %d
 NULL
 
-Warning: Wrong parameter count for get_defined_constants() in %s on line %d
+Warning: get_defined_constants() expects at most 1 parameter, 2 given in %s on line %d
 NULL
 string(5) "array"
 string(5) "array"
diff --git a/Zend/tests/019.phpt b/Zend/tests/019.phpt
index 4715877..70093cd 100644
--- a/Zend/tests/019.phpt
+++ b/Zend/tests/019.phpt
@@ -359,7 +359,8 @@ var_dump($global_var);
 
 //Note: No error conditions relating to passing arugments can be tested
 // because these are not functions but statements, it will result in syntax error.
-echo "Done\n";
+?>
+===DONE===
 --EXPECTF--
 *** Testing unset(), empty() & isset() with scalar variables ***
 -- Iteration 1 --
@@ -1185,11 +1186,11 @@ bool(true)
 
 *** Testing unset(), emtpy() & isset() with resource variables ***
 -- Iteration 1 --
-resource(5) of type (stream)
+resource(%d) of type (stream)
 bool(true)
 bool(false)
 bool(true)
-resource(5) of type (stream)
+resource(%d) of type (stream)
 bool(false)
 bool(true)
 bool(false)
@@ -1198,11 +1199,11 @@ bool(false)
 Notice: Undefined variable: resource in %s on line %d
 NULL
 -- Iteration 2 --
-resource(6) of type (stream)
+resource(%d) of type (stream)
 bool(true)
 bool(false)
 bool(true)
-resource(6) of type (stream)
+resource(%d) of type (stream)
 bool(false)
 bool(true)
 bool(false)
@@ -1217,7 +1218,7 @@ bool(false)
 bool(true)
 
 *** Testing unset(), empty() & isset() with objects ***
-object(Point)#1 (3) {
+object(Point)#%d (3) {
   ["x"]=>
   int(30)
   ["y"]=>
@@ -1239,7 +1240,7 @@ bool(false)
 
 Notice: Undefined variable: lable in %s on line %d
 bool(true)
-object(Point)#1 (3) {
+object(Point)#%d (3) {
   ["x"]=>
   int(30)
   ["y"]=>
@@ -1247,7 +1248,7 @@ object(Point)#1 (3) {
   ["lable"]=>
   string(6) "Point1"
 }
-object(Point)#1 (2) {
+object(Point)#%d (2) {
   ["y"]=>
   int(40)
   ["lable"]=>
@@ -1255,7 +1256,7 @@ object(Point)#1 (2) {
 }
 bool(false)
 bool(true)
-object(Point)#1 (0) {
+object(Point)#%d (0) {
 }
 bool(true)
 bool(false)
@@ -1276,7 +1277,7 @@ array(3) {
   [2]=>
   string(9) "testPoint"
 }
-object(Point)#1 (3) {
+object(Point)#%d (3) {
   ["x"]=>
   int(5)
   ["y"]=>
@@ -1329,4 +1330,4 @@ bool(false)
 bool(false)
 bool(true)
 int(10)
-Done
+===DONE===
diff --git a/Zend/tests/bug26077.phpt b/Zend/tests/bug26077.phpt
index ea2a802..dc7686e 100755
--- a/Zend/tests/bug26077.phpt
+++ b/Zend/tests/bug26077.phpt
@@ -1,9 +1,9 @@
---TEST--
-Bug #26077 (Memory leaks when creating an instance of an object)
---FILE--
-<?php
-class foo {} new foo();
-?>
-===DONE===
---EXPECT--
-===DONE===
+--TEST--
+Bug #26077 (Memory leaks when creating an instance of an object)
+--FILE--
+<?php
+class foo {} new foo();
+?>
+===DONE===
+--EXPECT--
+===DONE===
diff --git a/Zend/tests/bug26229.phpt b/Zend/tests/bug26229.phpt
index f22aa2f..347eb55 100755
--- a/Zend/tests/bug26229.phpt
+++ b/Zend/tests/bug26229.phpt
@@ -1,29 +1,29 @@
---TEST--
-Bug #26229 (getIterator() segfaults when it returns arrays or scalars)
---FILE--
-<?php
-
-class array_iterator implements IteratorAggregate {
-        public function getIterator() {
-                return array('foo', 'bar');     
-        }
-}
-
-$obj = new array_iterator;
-
-try
-{
-	foreach ($obj as $property => $value)
-	{
-		var_dump($value);
-	}
-}
-catch(Exception $e)
-{
-	echo $e->getMessage() . "\n";
-}
-?>
-===DONE===
---EXPECTF--
-Objects returned by array_iterator::getIterator() must be traversable or implement interface Iterator
-===DONE===
+--TEST--
+Bug #26229 (getIterator() segfaults when it returns arrays or scalars)
+--FILE--
+<?php
+
+class array_iterator implements IteratorAggregate {
+        public function getIterator() {
+                return array('foo', 'bar');     
+        }
+}
+
+$obj = new array_iterator;
+
+try
+{
+	foreach ($obj as $property => $value)
+	{
+		var_dump($value);
+	}
+}
+catch(Exception $e)
+{
+	echo $e->getMessage() . "\n";
+}
+?>
+===DONE===
+--EXPECTF--
+Objects returned by array_iterator::getIterator() must be traversable or implement interface Iterator
+===DONE===
diff --git a/Zend/tests/bug26698.phpt b/Zend/tests/bug26698.phpt
index 56cfec6..aecc708 100755
--- a/Zend/tests/bug26698.phpt
+++ b/Zend/tests/bug26698.phpt
@@ -1,73 +1,73 @@
---TEST--
-Bug #26698 (Thrown exceptions while evaluting argument to pass as parameter crash PHP)
---FILE--
-<?php
-
-ini_set("report_memleaks", 0);  // the exception thrown in this test results in a memory leak, which is fine
-
-class Object
-{
-	function getNone()
-	{
-		throw new Exception('NONE');
-	}
-}
-
-class Proxy
-{
-	function three($a, $b, $c)
-	{
-	}
-
-	function callOne()
-	{
-		try
-		{
-			$res = new Object();
-			$this->three($res->getNone());
-		}
-		catch(Exception $e)
-		{
-			echo 'Caught: '.$e->getMessage()."\n";
-		}
-	}
-
-	function callTwo()
-	{
-		try
-		{
-			$res = new Object();
-			$this->three(1, $res->getNone());
-		}
-		catch(Exception $e)
-		{
-			echo 'Caught: '.$e->getMessage()."\n";
-		}
-	}
-
-	function callThree()
-	{
-		try
-		{
-			$res = new Object();
-			$this->three(1, 2, $res->getNone());
-		}
-		catch(Exception $e)
-		{
-			echo 'Caught: '.$e->getMessage()."\n";
-		}
-	}
-}
-
-$p = new Proxy();
-
-$p->callOne();
-$p->callTwo();
-$p->callThree();
-?>
-===DONE===
---EXPECT--
-Caught: NONE
-Caught: NONE
-Caught: NONE
-===DONE===
+--TEST--
+Bug #26698 (Thrown exceptions while evaluting argument to pass as parameter crash PHP)
+--FILE--
+<?php
+
+ini_set("report_memleaks", 0);  // the exception thrown in this test results in a memory leak, which is fine
+
+class Object
+{
+	function getNone()
+	{
+		throw new Exception('NONE');
+	}
+}
+
+class Proxy
+{
+	function three($a, $b, $c)
+	{
+	}
+
+	function callOne()
+	{
+		try
+		{
+			$res = new Object();
+			$this->three($res->getNone());
+		}
+		catch(Exception $e)
+		{
+			echo 'Caught: '.$e->getMessage()."\n";
+		}
+	}
+
+	function callTwo()
+	{
+		try
+		{
+			$res = new Object();
+			$this->three(1, $res->getNone());
+		}
+		catch(Exception $e)
+		{
+			echo 'Caught: '.$e->getMessage()."\n";
+		}
+	}
+
+	function callThree()
+	{
+		try
+		{
+			$res = new Object();
+			$this->three(1, 2, $res->getNone());
+		}
+		catch(Exception $e)
+		{
+			echo 'Caught: '.$e->getMessage()."\n";
+		}
+	}
+}
+
+$p = new Proxy();
+
+$p->callOne();
+$p->callTwo();
+$p->callThree();
+?>
+===DONE===
+--EXPECT--
+Caught: NONE
+Caught: NONE
+Caught: NONE
+===DONE===
diff --git a/Zend/tests/bug27268.phpt b/Zend/tests/bug27268.phpt
index 3c34c90..a86e8d0 100755
--- a/Zend/tests/bug27268.phpt
+++ b/Zend/tests/bug27268.phpt
@@ -1,28 +1,28 @@
---TEST--
-Bug #27268 (Bad references accentuated by clone)
---FILE--
-<?php
-class A
-{
-    public function &getA()
-    {
-        return $this->a;
-    }
-}
-
-$A = new A;
-$A->a = array(1);
-$x = $A->getA();
-$clone = clone $A;
-$clone->a = array();
-print_r($A);
-?>
---EXPECT--
-A Object
-(
-    [a] => Array
-        (
-            [0] => 1
-        )
-
-)
+--TEST--
+Bug #27268 (Bad references accentuated by clone)
+--FILE--
+<?php
+class A
+{
+    public function &getA()
+    {
+        return $this->a;
+    }
+}
+
+$A = new A;
+$A->a = array(1);
+$x = $A->getA();
+$clone = clone $A;
+$clone->a = array();
+print_r($A);
+?>
+--EXPECT--
+A Object
+(
+    [a] => Array
+        (
+            [0] => 1
+        )
+
+)
diff --git a/Zend/tests/bug27598.phpt b/Zend/tests/bug27598.phpt
index 6ec229b..534e8cf 100755
--- a/Zend/tests/bug27598.phpt
+++ b/Zend/tests/bug27598.phpt
@@ -1,12 +1,12 @@
---TEST--
-Bug #27598 (list() array key assignment causes HUGE memory leak)
---FILE--
-<?php
-list($out[0]) = array(1);
-var_dump($out);
-?>
---EXPECT--
-array(1) {
-  [0]=>
-  int(1)
-}
+--TEST--
+Bug #27598 (list() array key assignment causes HUGE memory leak)
+--FILE--
+<?php
+list($out[0]) = array(1);
+var_dump($out);
+?>
+--EXPECT--
+array(1) {
+  [0]=>
+  int(1)
+}
diff --git a/Zend/tests/bug28377.phpt b/Zend/tests/bug28377.phpt
index 69c8b3d..9d1b434 100755
--- a/Zend/tests/bug28377.phpt
+++ b/Zend/tests/bug28377.phpt
@@ -1,23 +1,23 @@
---TEST--
-Bug #28377 (debug_backtrace is intermittently passing args)
---FILE--
-<?php
-function doit($a, $b)
-{
-  $trace = debug_backtrace();
-  custom_callback('dereferenced', $trace);
-  custom_callback('direct', debug_backtrace());
-}
-  
-function custom_callback($traceName, $btInfo)
-{
-  echo $traceName ." -- args: ";
-  echo isset($btInfo[0]['args']) ? count($btInfo[0]['args']) : 'does not exist';
-  echo "\n";
-}
-  
-doit('a','b');
-?>
---EXPECT--
-dereferenced -- args: 2
-direct -- args: 2
+--TEST--
+Bug #28377 (debug_backtrace is intermittently passing args)
+--FILE--
+<?php
+function doit($a, $b)
+{
+  $trace = debug_backtrace();
+  custom_callback('dereferenced', $trace);
+  custom_callback('direct', debug_backtrace());
+}
+  
+function custom_callback($traceName, $btInfo)
+{
+  echo $traceName ." -- args: ";
+  echo isset($btInfo[0]['args']) ? count($btInfo[0]['args']) : 'does not exist';
+  echo "\n";
+}
+  
+doit('a','b');
+?>
+--EXPECT--
+dereferenced -- args: 2
+direct -- args: 2
diff --git a/Zend/tests/bug29104.phpt b/Zend/tests/bug29104.phpt
index e1de58e..788b219 100644
--- a/Zend/tests/bug29104.phpt
+++ b/Zend/tests/bug29104.phpt
@@ -1,27 +1,27 @@
---TEST--
-Bug #29104 (Function declaration in method doesn't work)
---FILE--
-<?php
-class A
-{ 
-  function g() 
-  { 
-    echo "function g - begin\n";
-    
-    function f() 
-    { 
-      echo "function f\n";
-    } 
-
-    echo "function g - end\n";
-  }
-}
-
-$a = new A;
-$a->g();
-f();
-?>
---EXPECT--
-function g - begin
-function g - end
-function f
+--TEST--
+Bug #29104 (Function declaration in method doesn't work)
+--FILE--
+<?php
+class A
+{ 
+  function g() 
+  { 
+    echo "function g - begin\n";
+    
+    function f() 
+    { 
+      echo "function f\n";
+    } 
+
+    echo "function g - end\n";
+  }
+}
+
+$a = new A;
+$a->g();
+f();
+?>
+--EXPECT--
+function g - begin
+function g - end
+function f
diff --git a/Zend/tests/bug29210.phpt b/Zend/tests/bug29210.phpt
index d0de543..3bae806 100644
--- a/Zend/tests/bug29210.phpt
+++ b/Zend/tests/bug29210.phpt
@@ -1,104 +1,104 @@
---TEST--
-Bug #29210 (Function is_callable does not support private and protected methods)
---FILE--
-<?php
-class test_class {
-   private function test_func1() {
-   	 echo "test_func1\n";
-   }
-   protected function test_func2() {
-   	 echo "test_func2\n";
-   }
-   static private function test_func3() {
-   	 echo "test_func3\n";
-   }
-   static protected function test_func4() {
-   	 echo "test_func4\n";
-   }
-   function test() {
-     if (is_callable(array($this,'test_func1'))) {
-	     $this->test_func1();
-     } else {
-       echo "test_func1 isn't callable from inside\n";
-     }
-     if (is_callable(array($this,'test_func2'))) {
-	     $this->test_func2();
-     } else {
-       echo "test_func2 isn't callable from inside\n";
-     }
-     if (is_callable(array('test_class','test_func3'))) {
-	     test_class::test_func3();
-     } else {
-       echo "test_func3 isn't callable from inside\n";
-     }
-     if (is_callable(array('test_class','test_func4'))) {
-	     test_class::test_func4();
-     } else {
-       echo "test_func4 isn't callable from inside\n";
-     }
-   }
-}
-
-class foo extends test_class {
-   function test() {
-     if (is_callable(array($this,'test_func1'))) {
-	     $this->test_func1();
-     } else {
-       echo "test_func1 isn't callable from child\n";
-     }
-     if (is_callable(array($this,'test_func2'))) {
-	     $this->test_func2();
-     } else {
-       echo "test_func2 isn't callable from child\n";
-     }
-     if (is_callable(array('test_class','test_func3'))) {
-	     test_class::test_func3();
-     } else {
-       echo "test_func3 isn't callable from child\n";
-     }
-     if (is_callable(array('test_class','test_func4'))) {
-	     test_class::test_func4();
-     } else {
-       echo "test_func4 isn't callable from child\n";
-     }
-   }
-}
-
-$object = new test_class;
-$object->test();
-if (is_callable(array($object,'test_func1'))) {
-	$object->test_func1();
-} else {
-  echo "test_func1 isn't callable from outside\n";
-}
-if (is_callable(array($object,'test_func2'))) {
-	$object->test_func2();
-} else {
-  echo "test_func2 isn't callable from outside\n";
-}
-if (is_callable(array('test_class','test_func3'))) {
-  test_class::test_func3();
-} else {
-  echo "test_func3 isn't callable from outside\n";
-}
-if (is_callable(array('test_class','test_func4'))) {
-  test_class::test_func4();
-} else {
-  echo "test_func4 isn't callable from outside\n";
-}
-$object = new foo();
-$object->test();
-?>
---EXPECTF--
-test_func1
-test_func2
-test_func3
-test_func4
-test_func1 isn't callable from outside
-test_func2 isn't callable from outside
-test_func3 isn't callable from outside
-test_func4 isn't callable from outside
-test_func1 isn't callable from child
-test_func2
-test_func3 isn't callable from child
-test_func4
+--TEST--
+Bug #29210 (Function is_callable does not support private and protected methods)
+--FILE--
+<?php
+class test_class {
+   private function test_func1() {
+   	 echo "test_func1\n";
+   }
+   protected function test_func2() {
+   	 echo "test_func2\n";
+   }
+   static private function test_func3() {
+   	 echo "test_func3\n";
+   }
+   static protected function test_func4() {
+   	 echo "test_func4\n";
+   }
+   function test() {
+     if (is_callable(array($this,'test_func1'))) {
+	     $this->test_func1();
+     } else {
+       echo "test_func1 isn't callable from inside\n";
+     }
+     if (is_callable(array($this,'test_func2'))) {
+	     $this->test_func2();
+     } else {
+       echo "test_func2 isn't callable from inside\n";
+     }
+     if (is_callable(array('test_class','test_func3'))) {
+	     test_class::test_func3();
+     } else {
+       echo "test_func3 isn't callable from inside\n";
+     }
+     if (is_callable(array('test_class','test_func4'))) {
+	     test_class::test_func4();
+     } else {
+       echo "test_func4 isn't callable from inside\n";
+     }
+   }
+}
+
+class foo extends test_class {
+   function test() {
+     if (is_callable(array($this,'test_func1'))) {
+	     $this->test_func1();
+     } else {
+       echo "test_func1 isn't callable from child\n";
+     }
+     if (is_callable(array($this,'test_func2'))) {
+	     $this->test_func2();
+     } else {
+       echo "test_func2 isn't callable from child\n";
+     }
+     if (is_callable(array('test_class','test_func3'))) {
+	     test_class::test_func3();
+     } else {
+       echo "test_func3 isn't callable from child\n";
+     }
+     if (is_callable(array('test_class','test_func4'))) {
+	     test_class::test_func4();
+     } else {
+       echo "test_func4 isn't callable from child\n";
+     }
+   }
+}
+
+$object = new test_class;
+$object->test();
+if (is_callable(array($object,'test_func1'))) {
+	$object->test_func1();
+} else {
+  echo "test_func1 isn't callable from outside\n";
+}
+if (is_callable(array($object,'test_func2'))) {
+	$object->test_func2();
+} else {
+  echo "test_func2 isn't callable from outside\n";
+}
+if (is_callable(array('test_class','test_func3'))) {
+  test_class::test_func3();
+} else {
+  echo "test_func3 isn't callable from outside\n";
+}
+if (is_callable(array('test_class','test_func4'))) {
+  test_class::test_func4();
+} else {
+  echo "test_func4 isn't callable from outside\n";
+}
+$object = new foo();
+$object->test();
+?>
+--EXPECTF--
+test_func1
+test_func2
+test_func3
+test_func4
+test_func1 isn't callable from outside
+test_func2 isn't callable from outside
+test_func3 isn't callable from outside
+test_func4 isn't callable from outside
+test_func1 isn't callable from child
+test_func2
+test_func3 isn't callable from child
+test_func4
diff --git a/Zend/tests/bug29505.phpt b/Zend/tests/bug29505.phpt
index 36fc6fd..4d7c053 100755
--- a/Zend/tests/bug29505.phpt
+++ b/Zend/tests/bug29505.phpt
@@ -1,31 +1,31 @@
---TEST--
-Bug #29505 (get_class_vars() severely broken when used with arrays)
---FILE--
-<?php
-
-class Test {
-    public $empty = array();
-    public $three = array(1, "b"=>"c", 3=>array());
-}
-
-var_dump(get_class_vars('Test'));
-
-?>
-===DONE===
---EXPECT--
-array(2) {
-  ["empty"]=>
-  array(0) {
-  }
-  ["three"]=>
-  array(3) {
-    [0]=>
-    int(1)
-    ["b"]=>
-    string(1) "c"
-    [3]=>
-    array(0) {
-    }
-  }
-}
-===DONE===
+--TEST--
+Bug #29505 (get_class_vars() severely broken when used with arrays)
+--FILE--
+<?php
+
+class Test {
+    public $empty = array();
+    public $three = array(1, "b"=>"c", 3=>array());
+}
+
+var_dump(get_class_vars('Test'));
+
+?>
+===DONE===
+--EXPECT--
+array(2) {
+  ["empty"]=>
+  array(0) {
+  }
+  ["three"]=>
+  array(3) {
+    [0]=>
+    int(1)
+    ["b"]=>
+    string(1) "c"
+    [3]=>
+    array(0) {
+    }
+  }
+}
+===DONE===
diff --git a/Zend/tests/bug29890.phpt b/Zend/tests/bug29890.phpt
index 17ed5af..32e8e1b 100644
--- a/Zend/tests/bug29890.phpt
+++ b/Zend/tests/bug29890.phpt
@@ -1,23 +1,23 @@
---TEST--
-Bug #29890 (crash if error handler fails)
---FILE--
-<?php
-function customErrorHandler($fErrNo,$fErrStr,$fErrFile,$fErrLine,&$fClass) {
-echo "error :".$fErrStr."\n";
-}
-
-set_time_limit(5);
-
-error_reporting(E_ALL);
-
-set_error_handler("customErrorHandler");
-
-define("TEST",2);
-
-//should return a notice that the constant is already defined
-
-define("TEST",3);
-
-?>
---EXPECT--
-error :Constant TEST already defined
+--TEST--
+Bug #29890 (crash if error handler fails)
+--FILE--
+<?php
+function customErrorHandler($fErrNo,$fErrStr,$fErrFile,$fErrLine,&$fClass) {
+echo "error :".$fErrStr."\n";
+}
+
+set_time_limit(5);
+
+error_reporting(E_ALL);
+
+set_error_handler("customErrorHandler");
+
+define("TEST",2);
+
+//should return a notice that the constant is already defined
+
+define("TEST",3);
+
+?>
+--EXPECT--
+error :Constant TEST already defined
diff --git a/Zend/tests/bug29896.phpt b/Zend/tests/bug29896.phpt
index 34d4352..1e2eb0b 100755
--- a/Zend/tests/bug29896.phpt
+++ b/Zend/tests/bug29896.phpt
@@ -1,28 +1,28 @@
---TEST--
-Bug #29896 (Backtrace argument list out of sync)
---FILE--
-<?php
-function userErrorHandler($num, $msg, $file, $line, $vars)
-{
-    debug_print_backtrace();
-}
-
-$OldErrorHandler = set_error_handler("userErrorHandler");
-
-function GenerateError1($A1)
-{
-    $a = $b;
-}
-
-function GenerateError2($A1)
-{
-    GenerateError1("Test1");
-}
-
-GenerateError2("Test2");
-?>
---EXPECTF--
-#0  userErrorHandler(8, Undefined variable: b, %sbug29896.php, 11, Array ([A1] => Test1)) called at [%sbug29896.php:11]
-#1  GenerateError1(Test1) called at [%sbug29896.php:16]
-#2  GenerateError2(Test2) called at [%sbug29896.php:19]
-
+--TEST--
+Bug #29896 (Backtrace argument list out of sync)
+--FILE--
+<?php
+function userErrorHandler($num, $msg, $file, $line, $vars)
+{
+    debug_print_backtrace();
+}
+
+$OldErrorHandler = set_error_handler("userErrorHandler");
+
+function GenerateError1($A1)
+{
+    $a = $b;
+}
+
+function GenerateError2($A1)
+{
+    GenerateError1("Test1");
+}
+
+GenerateError2("Test2");
+?>
+--EXPECTF--
+#0  userErrorHandler(8, Undefined variable: b, %sbug29896.php, 11, Array ([A1] => Test1)) called at [%sbug29896.php:11]
+#1  GenerateError1(Test1) called at [%sbug29896.php:16]
+#2  GenerateError2(Test2) called at [%sbug29896.php:19]
+
diff --git a/Zend/tests/bug29944.phpt b/Zend/tests/bug29944.phpt
index 2cb42eb..6c0cf1e 100644
--- a/Zend/tests/bug29944.phpt
+++ b/Zend/tests/bug29944.phpt
@@ -1,16 +1,16 @@
---TEST--
-Bug #29944 (Function defined in switch, crashes)
---FILE--
-<?php
-$a = 1;
-switch ($a) {
-  case 1:
-    function foo($a) {
-      return "ok\n";
-    }
-    echo foo($a);
-}
-?>
---EXPECT--
-ok
-
+--TEST--
+Bug #29944 (Function defined in switch, crashes)
+--FILE--
+<?php
+$a = 1;
+switch ($a) {
+  case 1:
+    function foo($a) {
+      return "ok\n";
+    }
+    echo foo($a);
+}
+?>
+--EXPECT--
+ok
+
diff --git a/Zend/tests/bug30080.phpt b/Zend/tests/bug30080.phpt
index 80a7014..bd8401e 100755
--- a/Zend/tests/bug30080.phpt
+++ b/Zend/tests/bug30080.phpt
@@ -1,18 +1,18 @@
---TEST--
-Bug #30080 (Passing array or non array of objects)
---FILE--
-<?php
-class foo { 	
-  function foo($arrayobj) { 
-    var_dump($arrayobj);
-  } 
-} 
-
-new foo(array(new stdClass)); 
-?>
---EXPECT--
-array(1) {
-  [0]=>
-  object(stdClass)#2 (0) {
-  }
-}
+--TEST--
+Bug #30080 (Passing array or non array of objects)
+--FILE--
+<?php
+class foo { 	
+  function foo($arrayobj) { 
+    var_dump($arrayobj);
+  } 
+} 
+
+new foo(array(new stdClass)); 
+?>
+--EXPECT--
+array(1) {
+  [0]=>
+  object(stdClass)#2 (0) {
+  }
+}
diff --git a/Zend/tests/bug30140.phpt b/Zend/tests/bug30140.phpt
index eb7f9cb..1dfb835 100755
--- a/Zend/tests/bug30140.phpt
+++ b/Zend/tests/bug30140.phpt
@@ -1,30 +1,30 @@
---TEST--
-Bug #30140 (Problem with array in static properties)
---FILE--
-<?php
-class A {
-	public static $test1 = true;
-	public static $test2 = array();
-	public static $test3 = "str";
-}
-
-class B extends A {
-}
-
-A::$test1 = "x";
-A::$test2 = "y";
-A::$test3 = "z";
-var_dump(A::$test1);
-var_dump(A::$test2);
-var_dump(A::$test3);
-var_dump(B::$test1);
-var_dump(B::$test2);
-var_dump(B::$test3);
-?>
---EXPECT--
-string(1) "x"
-string(1) "y"
-string(1) "z"
-string(1) "x"
-string(1) "y"
-string(1) "z"
+--TEST--
+Bug #30140 (Problem with array in static properties)
+--FILE--
+<?php
+class A {
+	public static $test1 = true;
+	public static $test2 = array();
+	public static $test3 = "str";
+}
+
+class B extends A {
+}
+
+A::$test1 = "x";
+A::$test2 = "y";
+A::$test3 = "z";
+var_dump(A::$test1);
+var_dump(A::$test2);
+var_dump(A::$test3);
+var_dump(B::$test1);
+var_dump(B::$test2);
+var_dump(B::$test3);
+?>
+--EXPECT--
+string(1) "x"
+string(1) "y"
+string(1) "z"
+string(1) "x"
+string(1) "y"
+string(1) "z"
diff --git a/Zend/tests/bug30161.phpt b/Zend/tests/bug30161.phpt
index e0c7060..22f8fb5 100755
--- a/Zend/tests/bug30161.phpt
+++ b/Zend/tests/bug30161.phpt
@@ -1,34 +1,34 @@
---TEST--
-Bug #30161 (Segmentation fault with exceptions)
---FILE--
-<?php
-class FIIFO {
-
-        public function __construct() {
-                throw new Exception;
-        }
-
-}
-
-class hariCow extends FIIFO {
-
-        public function __construct() {
-                try {
-                        parent::__construct();
-                } catch(Exception $e) {
-                }
-        }
-        
-        public function __toString() {
-                return "ok\n";
-        }
-
-}
-
-
-$db = new hariCow;
-
-echo $db;
-?>
---EXPECT--
-ok
+--TEST--
+Bug #30161 (Segmentation fault with exceptions)
+--FILE--
+<?php
+class FIIFO {
+
+        public function __construct() {
+                throw new Exception;
+        }
+
+}
+
+class hariCow extends FIIFO {
+
+        public function __construct() {
+                try {
+                        parent::__construct();
+                } catch(Exception $e) {
+                }
+        }
+        
+        public function __toString() {
+                return "ok\n";
+        }
+
+}
+
+
+$db = new hariCow;
+
+echo $db;
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug30162.phpt b/Zend/tests/bug30162.phpt
index ae11f8f..a011292 100755
--- a/Zend/tests/bug30162.phpt
+++ b/Zend/tests/bug30162.phpt
@@ -41,12 +41,14 @@ $db = new hariCow;
 
 var_dump($db);
 ?>
+===DONE===
 --EXPECTF--
 Notice: Undefined variable: db in %sbug30162.php on line 35
 NULL
-object(hariCow)#1 (2) {
+object(hariCow)#%d (2) {
   ["x"]=>
   string(1) "x"
   ["y"]=>
   string(1) "y"
 }
+===DONE===
\ No newline at end of file
diff --git a/Zend/tests/bug30332.phpt b/Zend/tests/bug30332.phpt
index 873cd7d..e247849 100644
--- a/Zend/tests/bug30332.phpt
+++ b/Zend/tests/bug30332.phpt
@@ -1,40 +1,40 @@
---TEST--
-Bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with array_push())
---INI--
-zend.ze1_compatibility_mode=on
-error_reporting=4095
---FILE--
-<?php
-class x { };
-
-$first = new x;
-$second = $first;
-$container = array();
-array_push($container, $first);
-
-$first->first = " im in the first";
-
-print_r($first);
-print_r($second);
-print_r($container);
-?>
---EXPECTF--
-Strict Standards: Implicit cloning object of class 'x' because of 'zend.ze1_compatibility_mode' in %sbug30332.php on line 4
-
-Strict Standards: Implicit cloning object of class 'x' because of 'zend.ze1_compatibility_mode' in %sbug30332.php on line 5
-
-Strict Standards: Implicit cloning object of class 'x' because of 'zend.ze1_compatibility_mode' in %sbug30332.php on line 7
-x Object
-(
-    [first] =>  im in the first
-)
-x Object
-(
-)
-Array
-(
-    [0] => x Object
-        (
-        )
-
-)
+--TEST--
+Bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with array_push())
+--INI--
+zend.ze1_compatibility_mode=on
+error_reporting=4095
+--FILE--
+<?php
+class x { };
+
+$first = new x;
+$second = $first;
+$container = array();
+array_push($container, $first);
+
+$first->first = " im in the first";
+
+print_r($first);
+print_r($second);
+print_r($container);
+?>
+--EXPECTF--
+Strict Standards: Implicit cloning object of class 'x' because of 'zend.ze1_compatibility_mode' in %sbug30332.php on line 4
+
+Strict Standards: Implicit cloning object of class 'x' because of 'zend.ze1_compatibility_mode' in %sbug30332.php on line 5
+
+Strict Standards: Implicit cloning object of class 'x' because of 'zend.ze1_compatibility_mode' in %sbug30332.php on line 7
+x Object
+(
+    [first] =>  im in the first
+)
+x Object
+(
+)
+Array
+(
+    [0] => x Object
+        (
+        )
+
+)
diff --git a/Zend/tests/bug30394.phpt b/Zend/tests/bug30394.phpt
index a979e07..b69eda4 100755
--- a/Zend/tests/bug30394.phpt
+++ b/Zend/tests/bug30394.phpt
@@ -1,30 +1,30 @@
---TEST--
-Bug #30394 (Assignment operators yield wrong result with __get/__set)
---FILE--
-<?php
-class Container
-{
-	public function __get( $what )
-	{
-		return $this->_p[ $what ];
-	}
-	
-	public function __set( $what, $value )
-	{
-		$this->_p[ $what ] = $value;
-	}
-	
-	private $_p = array();
-}
-
-$c = new Container();
-$c->a = 1;
-$c->a += 1;
-print $c->a;	// --> 2
-
-print " - ";
-$c->a += max( 0, 1 );
-print $c->a;	// --> 4 (!)
-?>
---EXPECT--
-2 - 3
+--TEST--
+Bug #30394 (Assignment operators yield wrong result with __get/__set)
+--FILE--
+<?php
+class Container
+{
+	public function __get( $what )
+	{
+		return $this->_p[ $what ];
+	}
+	
+	public function __set( $what, $value )
+	{
+		$this->_p[ $what ] = $value;
+	}
+	
+	private $_p = array();
+}
+
+$c = new Container();
+$c->a = 1;
+$c->a += 1;
+print $c->a;	// --> 2
+
+print " - ";
+$c->a += max( 0, 1 );
+print $c->a;	// --> 4 (!)
+?>
+--EXPECT--
+2 - 3
diff --git a/Zend/tests/bug30451.phpt b/Zend/tests/bug30451.phpt
index 91d51a6..210f087 100644
--- a/Zend/tests/bug30451.phpt
+++ b/Zend/tests/bug30451.phpt
@@ -1,36 +1,36 @@
---TEST--
-Bug #30451 (static properties permissions broken)
---FILE--
-<?php
-
-class A {
-
-	protected static $property = TRUE;
-	
-	protected static function method() {
-		return TRUE;
-	}
-
-}
-
-class B extends A {
-
-	public function __construct() {
-		
-		var_dump(self::method());
-		var_dump(parent::method());
-		
-		var_dump(self::$property);
-		var_dump(parent::$property);
-	
-	}
-	
-}
-
-new B;
-?>
---EXPECT--
-bool(true)
-bool(true)
-bool(true)
-bool(true)
+--TEST--
+Bug #30451 (static properties permissions broken)
+--FILE--
+<?php
+
+class A {
+
+	protected static $property = TRUE;
+	
+	protected static function method() {
+		return TRUE;
+	}
+
+}
+
+class B extends A {
+
+	public function __construct() {
+		
+		var_dump(self::method());
+		var_dump(parent::method());
+		
+		var_dump(self::$property);
+		var_dump(parent::$property);
+	
+	}
+	
+}
+
+new B;
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+bool(true)
diff --git a/Zend/tests/bug30519.phpt b/Zend/tests/bug30519.phpt
index 0fe7b6b..7d70cba 100755
--- a/Zend/tests/bug30519.phpt
+++ b/Zend/tests/bug30519.phpt
@@ -1,10 +1,10 @@
---TEST--
-Bug #30519 (Interface not existing says Class not found)
---FILE--
-<?php
-class test implements a {
-}
-?>
---EXPECTF--
-Fatal error: Interface 'a' not found in %sbug30519.php on line 2
-
+--TEST--
+Bug #30519 (Interface not existing says Class not found)
+--FILE--
+<?php
+class test implements a {
+}
+?>
+--EXPECTF--
+Fatal error: Interface 'a' not found in %sbug30519.php on line 2
+
diff --git a/Zend/tests/bug30702.phpt b/Zend/tests/bug30702.phpt
index 90a1ee8..f23b1ec 100644
--- a/Zend/tests/bug30702.phpt
+++ b/Zend/tests/bug30702.phpt
@@ -1,39 +1,39 @@
---TEST--
-Bug #30702 (cannot initialize class variable from class constant)
---FILE--
-<?php
-class foo {
-	const C1=1;
-}
-
-class bar extends foo {
-  const C2=2;
-
-  public $c1=bar::C1;
-  public $c2=bar::C2;
-
-  public $c3=self::C1;
-  public $c4=self::C2;
-
-  public $c5=foo::C1;
-  public $c6=parent::C1;
-}
-
-$x= new bar();
-var_dump($x);
-?>
---EXPECT--
-object(bar)#1 (6) {
-  ["c1"]=>
-  int(1)
-  ["c2"]=>
-  int(2)
-  ["c3"]=>
-  int(1)
-  ["c4"]=>
-  int(2)
-  ["c5"]=>
-  int(1)
-  ["c6"]=>
-  int(1)
-}
+--TEST--
+Bug #30702 (cannot initialize class variable from class constant)
+--FILE--
+<?php
+class foo {
+	const C1=1;
+}
+
+class bar extends foo {
+  const C2=2;
+
+  public $c1=bar::C1;
+  public $c2=bar::C2;
+
+  public $c3=self::C1;
+  public $c4=self::C2;
+
+  public $c5=foo::C1;
+  public $c6=parent::C1;
+}
+
+$x= new bar();
+var_dump($x);
+?>
+--EXPECT--
+object(bar)#1 (6) {
+  ["c1"]=>
+  int(1)
+  ["c2"]=>
+  int(2)
+  ["c3"]=>
+  int(1)
+  ["c4"]=>
+  int(2)
+  ["c5"]=>
+  int(1)
+  ["c6"]=>
+  int(1)
+}
diff --git a/Zend/tests/bug30791.phpt b/Zend/tests/bug30791.phpt
index ce270c0..e9991f3 100755
--- a/Zend/tests/bug30791.phpt
+++ b/Zend/tests/bug30791.phpt
@@ -1,35 +1,35 @@
---TEST--
-Bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded)
---FILE--
-<?php
-
-function my_error_handler($errno, $errstr, $errfile, $errline) {
-	var_dump($errstr);
-}
-
-set_error_handler('my_error_handler');
-
-class a
-{
-   public $a = 4;
-   function __call($a,$b) {
-       return "unknown method";
-   }
-}
-
-$b = new a;
-echo $b,"\n";
-$c = unserialize(serialize($b));
-echo $c,"\n";
-var_dump($c);
-
-?>
---EXPECT--
-string(50) "Object of class a could not be converted to string"
-
-string(50) "Object of class a could not be converted to string"
-
-object(a)#2 (1) {
-  ["a"]=>
-  int(4)
-}
+--TEST--
+Bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded)
+--FILE--
+<?php
+
+function my_error_handler($errno, $errstr, $errfile, $errline) {
+	var_dump($errstr);
+}
+
+set_error_handler('my_error_handler');
+
+class a
+{
+   public $a = 4;
+   function __call($a,$b) {
+       return "unknown method";
+   }
+}
+
+$b = new a;
+echo $b,"\n";
+$c = unserialize(serialize($b));
+echo $c,"\n";
+var_dump($c);
+
+?>
+--EXPECT--
+string(50) "Object of class a could not be converted to string"
+
+string(50) "Object of class a could not be converted to string"
+
+object(a)#2 (1) {
+  ["a"]=>
+  int(4)
+}
diff --git a/Zend/tests/bug30820.phpt b/Zend/tests/bug30820.phpt
index 6c136a5..97e46e9 100755
--- a/Zend/tests/bug30820.phpt
+++ b/Zend/tests/bug30820.phpt
@@ -1,27 +1,27 @@
---TEST--
-Bug #30820 (static member conflict with $this->member silently ignored)
---INI--
-error_reporting=4095
---FILE--
-<?php
-class Blah {
-    private static $x;
-
-    public function show() {
-        Blah::$x = 1;
-        $this->x = 5; // no warning, but refers to different variable
-
-        echo 'Blah::$x = '. Blah::$x ."\n";
-        echo '$this->x = '. $this->x ."\n";
-    }
-}
-
-$b = new Blah();
-$b->show();
-?>
---EXPECTF--
-Strict Standards: Accessing static property Blah::$x as non static in %sbug30820.php on line 7
-Blah::$x = 1
-
-Strict Standards: Accessing static property Blah::$x as non static in %sbug30820.php on line 10
-$this->x = 5
+--TEST--
+Bug #30820 (static member conflict with $this->member silently ignored)
+--INI--
+error_reporting=4095
+--FILE--
+<?php
+class Blah {
+    private static $x;
+
+    public function show() {
+        Blah::$x = 1;
+        $this->x = 5; // no warning, but refers to different variable
+
+        echo 'Blah::$x = '. Blah::$x ."\n";
+        echo '$this->x = '. $this->x ."\n";
+    }
+}
+
+$b = new Blah();
+$b->show();
+?>
+--EXPECTF--
+Strict Standards: Accessing static property Blah::$x as non static in %sbug30820.php on line 7
+Blah::$x = 1
+
+Strict Standards: Accessing static property Blah::$x as non static in %sbug30820.php on line 10
+$this->x = 5
diff --git a/Zend/tests/bug30828.phpt b/Zend/tests/bug30828.phpt
index eb003f1..d05dbb6 100755
--- a/Zend/tests/bug30828.phpt
+++ b/Zend/tests/bug30828.phpt
@@ -1,61 +1,61 @@
---TEST--
-Bug #30828 (debug_backtrace() reports incorrect class in overridden methods)
---FILE--
-<?php
-class A {
-	function __construct() {
-		debug_print_backtrace();
-		$bt = debug_backtrace();
-		foreach ($bt as $t) {
-			print $t['class'].$t['type'].$t['function']."\n";
-		}
-	}
-
-	function foo() {
-		debug_print_backtrace();
-		$bt = debug_backtrace();
-		foreach ($bt as $t) {
-                        print $t['class'].$t['type'].$t['function']."\n";
-		}
-	}
-
-	static function bar() {
-		debug_print_backtrace();
-		$bt = debug_backtrace();
-		foreach ($bt as $t) {
-			print $t['class'].$t['type'].$t['function']."\n";
-		}
-	}
-}
-
-class B extends A {
-	function __construct() {
-		parent::__construct();
-	}
-
-	function foo() {
-		parent::foo();
-	}
-
-	static function bar() {
-		parent::bar();
-	}
-}
-
-$b = new B();
-$b->foo();
-B::bar();
-?>
---EXPECTF--
-#0  A->__construct() called at [%sbug30828.php:30]
-#1  B->__construct() called at [%sbug30828.php:42]
-A->__construct
-B->__construct
-#0  A->foo() called at [%sbug30828.php:34]
-#1  B->foo() called at [%sbug30828.php:43]
-A->foo
-B->foo
-#0  A::bar() called at [%sbug30828.php:38]
-#1  B::bar() called at [%sbug30828.php:44]
-A::bar
-B::bar
+--TEST--
+Bug #30828 (debug_backtrace() reports incorrect class in overridden methods)
+--FILE--
+<?php
+class A {
+	function __construct() {
+		debug_print_backtrace();
+		$bt = debug_backtrace();
+		foreach ($bt as $t) {
+			print $t['class'].$t['type'].$t['function']."\n";
+		}
+	}
+
+	function foo() {
+		debug_print_backtrace();
+		$bt = debug_backtrace();
+		foreach ($bt as $t) {
+                        print $t['class'].$t['type'].$t['function']."\n";
+		}
+	}
+
+	static function bar() {
+		debug_print_backtrace();
+		$bt = debug_backtrace();
+		foreach ($bt as $t) {
+			print $t['class'].$t['type'].$t['function']."\n";
+		}
+	}
+}
+
+class B extends A {
+	function __construct() {
+		parent::__construct();
+	}
+
+	function foo() {
+		parent::foo();
+	}
+
+	static function bar() {
+		parent::bar();
+	}
+}
+
+$b = new B();
+$b->foo();
+B::bar();
+?>
+--EXPECTF--
+#0  A->__construct() called at [%sbug30828.php:30]
+#1  B->__construct() called at [%sbug30828.php:42]
+A->__construct
+B->__construct
+#0  A->foo() called at [%sbug30828.php:34]
+#1  B->foo() called at [%sbug30828.php:43]
+A->foo
+B->foo
+#0  A::bar() called at [%sbug30828.php:38]
+#1  B::bar() called at [%sbug30828.php:44]
+A::bar
+B::bar
diff --git a/Zend/tests/bug30889.phpt b/Zend/tests/bug30889.phpt
index c80dbde..fb92edf 100644
--- a/Zend/tests/bug30889.phpt
+++ b/Zend/tests/bug30889.phpt
@@ -1,31 +1,31 @@
---TEST--
-Bug #30889 (Conflict between __get/__set and ++ operator)
---FILE--
-<?php
-class overloaded
-{
-  private $values;
-  function __construct()
-  {
-    $this->values = array('a' => 0);
-  }
-  function __set($name, $value)
-  {
-    print "set $name = $value ($name was ".$this->values[$name].")\n";
-    $this->values[$name] = $value;
-  }
-  function __get($name)
-  {
-    print "get $name (returns ".$this->values[$name].")\n";
-    return $this->values[$name];
-  }
-}
-$test = new overloaded();
-$test->a++;     // __get(), then __set()
-++$test->a;
-?>
---EXPECT--
-get a (returns 0)
-set a = 1 (a was 0)
-get a (returns 1)
-set a = 2 (a was 1)
+--TEST--
+Bug #30889 (Conflict between __get/__set and ++ operator)
+--FILE--
+<?php
+class overloaded
+{
+  private $values;
+  function __construct()
+  {
+    $this->values = array('a' => 0);
+  }
+  function __set($name, $value)
+  {
+    print "set $name = $value ($name was ".$this->values[$name].")\n";
+    $this->values[$name] = $value;
+  }
+  function __get($name)
+  {
+    print "get $name (returns ".$this->values[$name].")\n";
+    return $this->values[$name];
+  }
+}
+$test = new overloaded();
+$test->a++;     // __get(), then __set()
+++$test->a;
+?>
+--EXPECT--
+get a (returns 0)
+set a = 1 (a was 0)
+get a (returns 1)
+set a = 2 (a was 1)
diff --git a/Zend/tests/bug30922.phpt b/Zend/tests/bug30922.phpt
index f4e437e..8da0f21 100644
--- a/Zend/tests/bug30922.phpt
+++ b/Zend/tests/bug30922.phpt
@@ -1,13 +1,13 @@
---TEST--
-Bug #30922 (reflective functions crash PHP when interfaces extend themselves)
---FILE--
-<?php
-interface RecurisiveFooFar extends RecurisiveFooFar {}
-class A implements RecurisiveFooFar {}
-
-$a = new A();
-var_dump($a instanceOf A);
-echo "ok\n";
-?>
---EXPECTF--
-Fatal error: Interface RecurisiveFooFar cannot implement itself in %sbug30922.php on line %d
+--TEST--
+Bug #30922 (reflective functions crash PHP when interfaces extend themselves)
+--FILE--
+<?php
+interface RecurisiveFooFar extends RecurisiveFooFar {}
+class A implements RecurisiveFooFar {}
+
+$a = new A();
+var_dump($a instanceOf A);
+echo "ok\n";
+?>
+--EXPECTF--
+Fatal error: Interface RecurisiveFooFar cannot implement itself in %sbug30922.php on line %d
diff --git a/Zend/tests/bug31177-2.phpt b/Zend/tests/bug31177-2.phpt
index a2d922c..10083c5 100755
--- a/Zend/tests/bug31177-2.phpt
+++ b/Zend/tests/bug31177-2.phpt
@@ -1,18 +1,18 @@
---TEST--
-Bug #31177 (memory corruption because of incorrect refcounting)
---FILE--
-<?php
-class foo {
-  function foo($n=0) {
-    if($n) throw new Exception("new");
-  }
-}
-$x = new foo();
-try {
-  $y=$x->foo(1);
-} catch (Exception $e) {
-  var_dump($x);
-}
---EXPECT--
-object(foo)#1 (0) {
-}
+--TEST--
+Bug #31177 (memory corruption because of incorrect refcounting)
+--FILE--
+<?php
+class foo {
+  function foo($n=0) {
+    if($n) throw new Exception("new");
+  }
+}
+$x = new foo();
+try {
+  $y=$x->foo(1);
+} catch (Exception $e) {
+  var_dump($x);
+}
+--EXPECT--
+object(foo)#1 (0) {
+}
diff --git a/Zend/tests/bug31177.phpt b/Zend/tests/bug31177.phpt
index ac0fd72..5e84573 100755
--- a/Zend/tests/bug31177.phpt
+++ b/Zend/tests/bug31177.phpt
@@ -1,44 +1,44 @@
---TEST--
-Bug #31177 (Memory leak)
---FILE--
-<?php
-class DbGow {
-
-	public function query() {
-		throw new Exception;
-	}
-	
-	public function select() {
-		return new DbGowRecordSet($this->query());
-	}
-
-	public function select2() {
-		new DbGowRecordSet($this->query());
-	}
-
-}
-
-class DbGowRecordSet {
-
-	public function __construct($resource) {
-	}
-
-}
-
-$db = new DbGow;
-
-try {
-	$rs = $db->select();
-} catch(Exception $e) {
-	echo "ok\n";
-}
-	
-try {
-	$db->select2();
-} catch(Exception $e) {
-	echo "ok\n";
-}
-?>
---EXPECT--
-ok
-ok
+--TEST--
+Bug #31177 (Memory leak)
+--FILE--
+<?php
+class DbGow {
+
+	public function query() {
+		throw new Exception;
+	}
+	
+	public function select() {
+		return new DbGowRecordSet($this->query());
+	}
+
+	public function select2() {
+		new DbGowRecordSet($this->query());
+	}
+
+}
+
+class DbGowRecordSet {
+
+	public function __construct($resource) {
+	}
+
+}
+
+$db = new DbGow;
+
+try {
+	$rs = $db->select();
+} catch(Exception $e) {
+	echo "ok\n";
+}
+	
+try {
+	$db->select2();
+} catch(Exception $e) {
+	echo "ok\n";
+}
+?>
+--EXPECT--
+ok
+ok
diff --git a/Zend/tests/bug31525.phpt b/Zend/tests/bug31525.phpt
index 9c1c846..b1a01b6 100755
--- a/Zend/tests/bug31525.phpt
+++ b/Zend/tests/bug31525.phpt
@@ -1,22 +1,22 @@
---TEST--
-Bug #31525 (object reference being dropped. $this getting lost)
---INI--
-error_reporting=4095
---FILE--
-<?php
-class Foo {
-  function getThis() {
-    return $this;
-  }
-  function destroyThis() {
-    $baz =& $this->getThis();
-  }
-}
-$bar = new Foo();
-$bar->destroyThis();
-var_dump($bar);
-?>
---EXPECTF--
-Strict Standards: Only variables should be assigned by reference in %sbug31525.php on line 7
-object(Foo)#1 (0) {
-}
+--TEST--
+Bug #31525 (object reference being dropped. $this getting lost)
+--INI--
+error_reporting=4095
+--FILE--
+<?php
+class Foo {
+  function getThis() {
+    return $this;
+  }
+  function destroyThis() {
+    $baz =& $this->getThis();
+  }
+}
+$bar = new Foo();
+$bar->destroyThis();
+var_dump($bar);
+?>
+--EXPECTF--
+Strict Standards: Only variables should be assigned by reference in %sbug31525.php on line 7
+object(Foo)#1 (0) {
+}
diff --git a/Zend/tests/bug31828.phpt b/Zend/tests/bug31828.phpt
index e5c004f..a3cc454 100644
--- a/Zend/tests/bug31828.phpt
+++ b/Zend/tests/bug31828.phpt
@@ -1,25 +1,25 @@
---TEST--
-Bug #31828 (Crash with zend.ze1_compatibility_mode=On)
---INI--
-zend.ze1_compatibility_mode=on
-error_reporting=4095
---FILE--
-<?php
-$o = new stdClass();
-$o->id = 77;
-$o->name = "Aerospace";
-$a[] = $o;
-$a = $a[0];
-print_r($a);
-?>
---EXPECTF--
-Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug31828.php on line 2
-
-Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug31828.php on line 5
-
-Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug31828.php on line 6
-stdClass Object
-(
-    [id] => 77
-    [name] => Aerospace
-)
+--TEST--
+Bug #31828 (Crash with zend.ze1_compatibility_mode=On)
+--INI--
+zend.ze1_compatibility_mode=on
+error_reporting=4095
+--FILE--
+<?php
+$o = new stdClass();
+$o->id = 77;
+$o->name = "Aerospace";
+$a[] = $o;
+$a = $a[0];
+print_r($a);
+?>
+--EXPECTF--
+Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug31828.php on line 2
+
+Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug31828.php on line 5
+
+Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug31828.php on line 6
+stdClass Object
+(
+    [id] => 77
+    [name] => Aerospace
+)
diff --git a/Zend/tests/bug32080.phpt b/Zend/tests/bug32080.phpt
index c7227b4..a96c8bf 100644
--- a/Zend/tests/bug32080.phpt
+++ b/Zend/tests/bug32080.phpt
@@ -1,18 +1,18 @@
---TEST--
-Bug #32080 (segfault when assigning object to itself with zend.ze1_compatibility_mode=On)
---INI--
-zend.ze1_compatibility_mode=on
-error_reporting=4095
---FILE--
-<?php
-class test { }
-$t = new test;
-$t = $t; // gives segfault
-var_dump($t);
-?>
---EXPECTF--
-Strict Standards: Implicit cloning object of class 'test' because of 'zend.ze1_compatibility_mode' in %sbug32080.php on line 3
-
-Strict Standards: Implicit cloning object of class 'test' because of 'zend.ze1_compatibility_mode' in %sbug32080.php on line 5
-object(test)#%d (0) {
-}
+--TEST--
+Bug #32080 (segfault when assigning object to itself with zend.ze1_compatibility_mode=On)
+--INI--
+zend.ze1_compatibility_mode=on
+error_reporting=4095
+--FILE--
+<?php
+class test { }
+$t = new test;
+$t = $t; // gives segfault
+var_dump($t);
+?>
+--EXPECTF--
+Strict Standards: Implicit cloning object of class 'test' because of 'zend.ze1_compatibility_mode' in %sbug32080.php on line 3
+
+Strict Standards: Implicit cloning object of class 'test' because of 'zend.ze1_compatibility_mode' in %sbug32080.php on line 5
+object(test)#%d (0) {
+}
diff --git a/Zend/tests/bug32296.phpt b/Zend/tests/bug32296.phpt
index d2e6d0c..b3e705e 100755
--- a/Zend/tests/bug32296.phpt
+++ b/Zend/tests/bug32296.phpt
@@ -1,60 +1,60 @@
---TEST--
-Bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)
---FILE--
-<?php
-abstract class space{
-	function __construct(){}
-	abstract protected function unfold();
-}
-
-abstract class shape extends space{
-	private function x1() {}
-	protected final function unfold(){}
-}
-
-abstract class quad extends shape{
-	private function x2() {}
-	function buggy(){
-		$c = get_class($this);
-		$a = get_class_methods(get_class($this));
-		$b = get_class_methods($this);
-		print($c."\n".'a:');
-		print_r($a);
-		print('b:');
-		print_r($b);
-	}
-}
-
-class square extends quad{}
-
-$a = new square();
-$a->buggy();
-print_r(get_class_methods("square"));
-print_r(get_class_methods($a));
-?>
---EXPECT--
-square
-a:Array
-(
-    [0] => x2
-    [1] => buggy
-    [2] => unfold
-    [3] => __construct
-)
-b:Array
-(
-    [0] => x2
-    [1] => buggy
-    [2] => unfold
-    [3] => __construct
-)
-Array
-(
-    [0] => buggy
-    [1] => __construct
-)
-Array
-(
-    [0] => buggy
-    [1] => __construct
-)
+--TEST--
+Bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)
+--FILE--
+<?php
+abstract class space{
+	function __construct(){}
+	abstract protected function unfold();
+}
+
+abstract class shape extends space{
+	private function x1() {}
+	protected final function unfold(){}
+}
+
+abstract class quad extends shape{
+	private function x2() {}
+	function buggy(){
+		$c = get_class($this);
+		$a = get_class_methods(get_class($this));
+		$b = get_class_methods($this);
+		print($c."\n".'a:');
+		print_r($a);
+		print('b:');
+		print_r($b);
+	}
+}
+
+class square extends quad{}
+
+$a = new square();
+$a->buggy();
+print_r(get_class_methods("square"));
+print_r(get_class_methods($a));
+?>
+--EXPECT--
+square
+a:Array
+(
+    [0] => x2
+    [1] => buggy
+    [2] => unfold
+    [3] => __construct
+)
+b:Array
+(
+    [0] => x2
+    [1] => buggy
+    [2] => unfold
+    [3] => __construct
+)
+Array
+(
+    [0] => buggy
+    [1] => __construct
+)
+Array
+(
+    [0] => buggy
+    [1] => __construct
+)
diff --git a/Zend/tests/bug32322.phpt b/Zend/tests/bug32322.phpt
index fd79a04..f69c525 100755
--- a/Zend/tests/bug32322.phpt
+++ b/Zend/tests/bug32322.phpt
@@ -1,80 +1,80 @@
---TEST--
-Bug #32322 (Return values by reference broken( using self::),example singleton instance)
---INI--
-error_reporting=4095
---FILE--
-<?php
-class test
-{
-    private static $instance = null;
-    private $myname = '';
-    
-    private function __construct( $value = '' ) 
-    {
-        echo "New class $value created \n";
-        $this -> myname = $value;
-    }
-    private function __clone() {}
-    static public function getInstance()
-    {
-        if ( self::$instance == null )
-        {
-            self::$instance = new test('Singleton1');
-        }
-        else {
-            echo "Using old class " . self::$instance -> myname . "\n";
-        }
-        return self::$instance;
-    }
-    static public function getInstance2()
-    {
-        static $instance2 = null;
-        if ( $instance2 == null )
-        {
-            $instance2 = new test('Singleton2');
-        }
-        else {
-            echo "Using old class " . $instance2 -> myname . "\n";
-        }
-        return $instance2;
-    }
-    public function __destruct() 
-    {
-        if ( defined('SCRIPT_END') )
-        {
-            echo "Class " . $this -> myname . " destroyed at script end\n";
-        } else {
-            echo "Class " . $this -> myname . " destroyed beforce script end\n";
-        }
-    }
-}    
-echo "Try static instance inside class :\n";
-$getCopyofSingleton    = test::getInstance();
-$getCopyofSingleton    = null;
-$getCopyofSingleton    = &test::getInstance();
-$getCopyofSingleton    = null;
-$getCopyofSingleton    = test::getInstance();
-echo "Try static instance inside function :\n";
-$getCopyofSingleton2   = test::getInstance2();
-$getCopyofSingleton2   = null;
-$getCopyofSingleton2   = &test::getInstance2();
-$getCopyofSingleton2   = null;
-$getCopyofSingleton2   = test::getInstance2();
-
-define('SCRIPT_END',1);
-?>
---EXPECTF--
-Try static instance inside class :
-New class Singleton1 created 
-Using old class Singleton1
-
-Strict Standards: Only variables should be assigned by reference in %sbug32322.php on line 49
-Using old class Singleton1
-Try static instance inside function :
-New class Singleton2 created 
-Using old class Singleton2
-
-Strict Standards: Only variables should be assigned by reference in %sbug32322.php on line 55
-Using old class Singleton2
-Class Singleton1 destroyed at script end
-Class Singleton2 destroyed at script end
+--TEST--
+Bug #32322 (Return values by reference broken( using self::),example singleton instance)
+--INI--
+error_reporting=4095
+--FILE--
+<?php
+class test
+{
+    private static $instance = null;
+    private $myname = '';
+    
+    private function __construct( $value = '' ) 
+    {
+        echo "New class $value created \n";
+        $this -> myname = $value;
+    }
+    private function __clone() {}
+    static public function getInstance()
+    {
+        if ( self::$instance == null )
+        {
+            self::$instance = new test('Singleton1');
+        }
+        else {
+            echo "Using old class " . self::$instance -> myname . "\n";
+        }
+        return self::$instance;
+    }
+    static public function getInstance2()
+    {
+        static $instance2 = null;
+        if ( $instance2 == null )
+        {
+            $instance2 = new test('Singleton2');
+        }
+        else {
+            echo "Using old class " . $instance2 -> myname . "\n";
+        }
+        return $instance2;
+    }
+    public function __destruct() 
+    {
+        if ( defined('SCRIPT_END') )
+        {
+            echo "Class " . $this -> myname . " destroyed at script end\n";
+        } else {
+            echo "Class " . $this -> myname . " destroyed beforce script end\n";
+        }
+    }
+}    
+echo "Try static instance inside class :\n";
+$getCopyofSingleton    = test::getInstance();
+$getCopyofSingleton    = null;
+$getCopyofSingleton    = &test::getInstance();
+$getCopyofSingleton    = null;
+$getCopyofSingleton    = test::getInstance();
+echo "Try static instance inside function :\n";
+$getCopyofSingleton2   = test::getInstance2();
+$getCopyofSingleton2   = null;
+$getCopyofSingleton2   = &test::getInstance2();
+$getCopyofSingleton2   = null;
+$getCopyofSingleton2   = test::getInstance2();
+
+define('SCRIPT_END',1);
+?>
+--EXPECTF--
+Try static instance inside class :
+New class Singleton1 created 
+Using old class Singleton1
+
+Strict Standards: Only variables should be assigned by reference in %sbug32322.php on line 49
+Using old class Singleton1
+Try static instance inside function :
+New class Singleton2 created 
+Using old class Singleton2
+
+Strict Standards: Only variables should be assigned by reference in %sbug32322.php on line 55
+Using old class Singleton2
+Class Singleton1 destroyed at script end
+Class Singleton2 destroyed at script end
diff --git a/Zend/tests/bug32427.phpt b/Zend/tests/bug32427.phpt
index b7b478d..9b2d818 100644
--- a/Zend/tests/bug32427.phpt
+++ b/Zend/tests/bug32427.phpt
@@ -1,19 +1,19 @@
---TEST--
-Bug #32427 (Interfaces are not allowed 'static' access modifier)
---FILE--
-<?php
-
-interface Example {
-	public static function sillyError();
-}
-
-class ExampleImpl implements Example {
-	public static function sillyError() {
-		echo "I am a silly error\n";
-	}
-}
-
-ExampleImpl::sillyError();
-?>
---EXPECT--
-I am a silly error
+--TEST--
+Bug #32427 (Interfaces are not allowed 'static' access modifier)
+--FILE--
+<?php
+
+interface Example {
+	public static function sillyError();
+}
+
+class ExampleImpl implements Example {
+	public static function sillyError() {
+		echo "I am a silly error\n";
+	}
+}
+
+ExampleImpl::sillyError();
+?>
+--EXPECT--
+I am a silly error
diff --git a/Zend/tests/bug32428.phpt b/Zend/tests/bug32428.phpt
index 3812d43..0b5ca6a 100755
--- a/Zend/tests/bug32428.phpt
+++ b/Zend/tests/bug32428.phpt
@@ -1,13 +1,13 @@
---TEST--
-Bug #32428 (The @ warning error supression operator is broken)
---FILE--
-<?php 
-  $data = @$not_exists; 
-  $data = @($not_exists); 
-  $data = @!$not_exists; 
-  $data = !@$not_exists; 
-  $data = @($not_exists+1); 
-  echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #32428 (The @ warning error supression operator is broken)
+--FILE--
+<?php 
+  $data = @$not_exists; 
+  $data = @($not_exists); 
+  $data = @!$not_exists; 
+  $data = !@$not_exists; 
+  $data = @($not_exists+1); 
+  echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug32596.phpt b/Zend/tests/bug32596.phpt
index 35dcda7..2dd0cfe 100755
--- a/Zend/tests/bug32596.phpt
+++ b/Zend/tests/bug32596.phpt
@@ -1,27 +1,27 @@
---TEST--
-Bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct)
---FILE--
-<?php
-class BUG {
-  public $error = "please fix this thing, it wasted a nice part of my life!\n";
-  static function instance() {return new BUG();}  
-
-  function __destruct()
-  {
-    $c=get_class($this); unset($c);
-    echo get_class($this) ."\n";
-    if(defined('DEBUG_'.__CLASS__)){}
-    $c=get_class($this); //memory leak only
-    echo $this->error;
-  }
-}
-
-
-BUG::instance()->error;
-echo "this is still executed\n";
-?>
---EXPECT--
-BUG
-please fix this thing, it wasted a nice part of my life!
-this is still executed
-
+--TEST--
+Bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct)
+--FILE--
+<?php
+class BUG {
+  public $error = "please fix this thing, it wasted a nice part of my life!\n";
+  static function instance() {return new BUG();}  
+
+  function __destruct()
+  {
+    $c=get_class($this); unset($c);
+    echo get_class($this) ."\n";
+    if(defined('DEBUG_'.__CLASS__)){}
+    $c=get_class($this); //memory leak only
+    echo $this->error;
+  }
+}
+
+
+BUG::instance()->error;
+echo "this is still executed\n";
+?>
+--EXPECT--
+BUG
+please fix this thing, it wasted a nice part of my life!
+this is still executed
+
diff --git a/Zend/tests/bug32660.phpt b/Zend/tests/bug32660.phpt
index 5e28df4..3a30718 100755
--- a/Zend/tests/bug32660.phpt
+++ b/Zend/tests/bug32660.phpt
@@ -1,39 +1,39 @@
---TEST--
-Bug #32660 (Assignment by reference causes crash when field access is overloaded (__get))
---FILE--
-<?php
-class A
-{
-	public $q;
-
-	function __construct()
-	{
-		$this->q = 3;//array();
-	}
-
-	function __get($name)
-	{
-		return $this->q;
-	}
-}
-
-$a = new A;
-
-$b = "short";
-$c =& $a->whatever;
-$c = "long";
-print_r($a);
-$a->whatever =& $b;
-$b = "much longer";
-print_r($a);
-?>
---EXPECTF--
-Notice: Indirect modification of overloaded property A::$whatever has no effect in %sbug32660.php on line 20
-A Object
-(
-    [q] => 3
-)
-
-Notice: Indirect modification of overloaded property A::$whatever has no effect in %sbug32660.php on line 23
-
-Fatal error: Cannot assign by reference to overloaded object in %sbug32660.php on line 23
+--TEST--
+Bug #32660 (Assignment by reference causes crash when field access is overloaded (__get))
+--FILE--
+<?php
+class A
+{
+	public $q;
+
+	function __construct()
+	{
+		$this->q = 3;//array();
+	}
+
+	function __get($name)
+	{
+		return $this->q;
+	}
+}
+
+$a = new A;
+
+$b = "short";
+$c =& $a->whatever;
+$c = "long";
+print_r($a);
+$a->whatever =& $b;
+$b = "much longer";
+print_r($a);
+?>
+--EXPECTF--
+Notice: Indirect modification of overloaded property A::$whatever has no effect in %sbug32660.php on line 20
+A Object
+(
+    [q] => 3
+)
+
+Notice: Indirect modification of overloaded property A::$whatever has no effect in %sbug32660.php on line 23
+
+Fatal error: Cannot assign by reference to overloaded object in %sbug32660.php on line 23
diff --git a/Zend/tests/bug32674.phpt b/Zend/tests/bug32674.phpt
index f986132..771270f 100644
--- a/Zend/tests/bug32674.phpt
+++ b/Zend/tests/bug32674.phpt
@@ -1,62 +1,62 @@
---TEST--
-Bug #32674 (exception in iterator causes crash)
---FILE--
-<?php
-class collection implements Iterator {
-
-  private $_elements = array();
-
-  public function __construct() {
-  }
-
-  public function rewind() {
-    reset($this->_elements);
-  }
-
-  public function count() {
-    return count($this->_elements);
-  }
-
-  public function current() {
-    $element = current($this->_elements);
-    return $element;
-  }
-
-  public function next() {
-    $element = next($this->_elements);
-    return $element;
-  }
-
-  public function key() {
-    $this->_fillCollection();
-    $element = key($this->_elements);
-    return $element;
-  }
-
-  public function valid() {
-    throw new Exception('shit happend');
-
-    return ($this->current() !== false);
-  }
-}
-
-class class2 {
-  public $dummy;
-}
-
-$obj = new class2();
-$col = new collection();
-
-try {
-	foreach($col as $co) {
-  	//irrelevant
-	}
-	echo 'shouldn`t get here';
-	//$dummy = 'this will not crash'; 
-	$obj->dummy = 'this will crash';
-} catch (Exception $e) {
-	echo "ok\n";
-}
-?>
---EXPECT--
-ok
+--TEST--
+Bug #32674 (exception in iterator causes crash)
+--FILE--
+<?php
+class collection implements Iterator {
+
+  private $_elements = array();
+
+  public function __construct() {
+  }
+
+  public function rewind() {
+    reset($this->_elements);
+  }
+
+  public function count() {
+    return count($this->_elements);
+  }
+
+  public function current() {
+    $element = current($this->_elements);
+    return $element;
+  }
+
+  public function next() {
+    $element = next($this->_elements);
+    return $element;
+  }
+
+  public function key() {
+    $this->_fillCollection();
+    $element = key($this->_elements);
+    return $element;
+  }
+
+  public function valid() {
+    throw new Exception('shit happend');
+
+    return ($this->current() !== false);
+  }
+}
+
+class class2 {
+  public $dummy;
+}
+
+$obj = new class2();
+$col = new collection();
+
+try {
+	foreach($col as $co) {
+  	//irrelevant
+	}
+	echo 'shouldn`t get here';
+	//$dummy = 'this will not crash'; 
+	$obj->dummy = 'this will crash';
+} catch (Exception $e) {
+	echo "ok\n";
+}
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug32799.phpt b/Zend/tests/bug32799.phpt
index 12bffd4..7b09a50 100755
--- a/Zend/tests/bug32799.phpt
+++ b/Zend/tests/bug32799.phpt
@@ -1,21 +1,21 @@
---TEST--
-Bug #32799 (crash: calling the corresponding global var during the destruct)
---FILE--
-<?php
-class test{
-  public $c=1;
-  function __destruct (){
-    $GLOBALS['p']->c++; // no warning
-    print $GLOBALS['p']->c."\n"; // segfault
-  	var_dump($GLOBALS['p']);
-  }
-}
-$p=new test;
-$p=null; //destroy the object by a new assignment (segfault)
-?>
---EXPECT--
-2
-object(test)#1 (1) {
-  ["c"]=>
-  int(2)
-}
+--TEST--
+Bug #32799 (crash: calling the corresponding global var during the destruct)
+--FILE--
+<?php
+class test{
+  public $c=1;
+  function __destruct (){
+    $GLOBALS['p']->c++; // no warning
+    print $GLOBALS['p']->c."\n"; // segfault
+  	var_dump($GLOBALS['p']);
+  }
+}
+$p=new test;
+$p=null; //destroy the object by a new assignment (segfault)
+?>
+--EXPECT--
+2
+object(test)#1 (1) {
+  ["c"]=>
+  int(2)
+}
diff --git a/Zend/tests/bug32833.phpt b/Zend/tests/bug32833.phpt
index b8a8bbe..e58c845 100644
--- a/Zend/tests/bug32833.phpt
+++ b/Zend/tests/bug32833.phpt
@@ -1,10 +1,10 @@
---TEST--
-Bug #32833 (Invalid opcode with $a[] .= '')
---FILE--
-<?php 
-$test = array();
-$test[] .= "ok\n";
-echo $test[0];
-?>
---EXPECT--
-ok
+--TEST--
+Bug #32833 (Invalid opcode with $a[] .= '')
+--FILE--
+<?php 
+$test = array();
+$test[] .= "ok\n";
+echo $test[0];
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug32852.phpt b/Zend/tests/bug32852.phpt
index 8b44bdc..38cea6f 100644
--- a/Zend/tests/bug32852.phpt
+++ b/Zend/tests/bug32852.phpt
@@ -1,38 +1,38 @@
---TEST--
-Bug #32852 (Crash with singleton and __destruct when zend.ze1_compatibility_mode = On)
---INI--
-zend.ze1_compatibility_mode=on
-error_reporting=4095
---FILE--
-<?php
-class crashme {
-    private static $instance = null;
-
-    public function __construct() {
-        self::$instance = $this;
-    }
-
-    public function __destruct() {
-        echo "i'm called\n";
-    }
-
-    public static function singleton() {
-        if (!isset(self::$instance)) {
-            self::$instance = new crashme();
-        }
-        return self::$instance;
-    }
-}
-
-crashme::singleton();
-?>
---EXPECTF--
-Strict Standards: Implicit cloning object of class 'crashme' because of 'zend.ze1_compatibility_mode' in %sbug32852.php on line 6
-i'm called
-
-Strict Standards: Implicit cloning object of class 'crashme' because of 'zend.ze1_compatibility_mode' in %sbug32852.php on line 15
-i'm called
-
-Strict Standards: Implicit cloning object of class 'crashme' because of 'zend.ze1_compatibility_mode' in %sbug32852.php on line 17
-i'm called
-i'm called
+--TEST--
+Bug #32852 (Crash with singleton and __destruct when zend.ze1_compatibility_mode = On)
+--INI--
+zend.ze1_compatibility_mode=on
+error_reporting=4095
+--FILE--
+<?php
+class crashme {
+    private static $instance = null;
+
+    public function __construct() {
+        self::$instance = $this;
+    }
+
+    public function __destruct() {
+        echo "i'm called\n";
+    }
+
+    public static function singleton() {
+        if (!isset(self::$instance)) {
+            self::$instance = new crashme();
+        }
+        return self::$instance;
+    }
+}
+
+crashme::singleton();
+?>
+--EXPECTF--
+Strict Standards: Implicit cloning object of class 'crashme' because of 'zend.ze1_compatibility_mode' in %sbug32852.php on line 6
+i'm called
+
+Strict Standards: Implicit cloning object of class 'crashme' because of 'zend.ze1_compatibility_mode' in %sbug32852.php on line 15
+i'm called
+
+Strict Standards: Implicit cloning object of class 'crashme' because of 'zend.ze1_compatibility_mode' in %sbug32852.php on line 17
+i'm called
+i'm called
diff --git a/Zend/tests/bug32993.phpt b/Zend/tests/bug32993.phpt
index 86d8e26..88fb023 100755
--- a/Zend/tests/bug32993.phpt
+++ b/Zend/tests/bug32993.phpt
@@ -1,29 +1,29 @@
---TEST--
-Bug #32993 (implemented Iterator function current() don't throw exception)
---FILE--
-<?php
-class Test implements Iterator {
-
-    public $arr = array();
-
-    public function rewind()    { return reset($this->arr); }
-    public function current()   { throw new Exception(); }
-    public function key()       { return key($this->arr); }
-    public function next()      { return next($this->arr); }
-    public function valid()     { return (current($this->arr) !== false); }
-}
-
-$t = new Test();
-$t->arr =  array(1, 2, 3);
-
-try {
-    foreach ($t as $v) {
-        echo "$v\n";
-    }
-} catch (Exception $e) {
-    ; // handle exception
-}
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #32993 (implemented Iterator function current() don't throw exception)
+--FILE--
+<?php
+class Test implements Iterator {
+
+    public $arr = array();
+
+    public function rewind()    { return reset($this->arr); }
+    public function current()   { throw new Exception(); }
+    public function key()       { return key($this->arr); }
+    public function next()      { return next($this->arr); }
+    public function valid()     { return (current($this->arr) !== false); }
+}
+
+$t = new Test();
+$t->arr =  array(1, 2, 3);
+
+try {
+    foreach ($t as $v) {
+        echo "$v\n";
+    }
+} catch (Exception $e) {
+    ; // handle exception
+}
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug33116.phpt b/Zend/tests/bug33116.phpt
index 641f4bb..aa714a1 100755
--- a/Zend/tests/bug33116.phpt
+++ b/Zend/tests/bug33116.phpt
@@ -1,22 +1,22 @@
---TEST--
-Bug #33116 (crash when assigning class name to global variable in __autoload)
---FILE--
-<?php
-function __autoload($class)
-{
-  $GLOBALS['include'][] = $class;
-  eval("class DefClass{}");
-}
-
-$a = new DefClass;
-print_r($a);
-print_r($GLOBALS['include']);
-?>
---EXPECT--
-DefClass Object
-(
-)
-Array
-(
-    [0] => DefClass
-)
+--TEST--
+Bug #33116 (crash when assigning class name to global variable in __autoload)
+--FILE--
+<?php
+function __autoload($class)
+{
+  $GLOBALS['include'][] = $class;
+  eval("class DefClass{}");
+}
+
+$a = new DefClass;
+print_r($a);
+print_r($GLOBALS['include']);
+?>
+--EXPECT--
+DefClass Object
+(
+)
+Array
+(
+    [0] => DefClass
+)
diff --git a/Zend/tests/bug33171.phpt b/Zend/tests/bug33171.phpt
index 8cc44a2..27f5264 100755
--- a/Zend/tests/bug33171.phpt
+++ b/Zend/tests/bug33171.phpt
@@ -1,27 +1,27 @@
---TEST--
-Bug #33171 (foreach enumerates private fields declared in base classes)
---FILE--
-<?php
-class A
-{
-	private $c = "A's c";
-}
-
-class B extends A
-{
-	private $c = "B's c";
-		
-	public function go()
-	{
-		foreach ($this as $key => $val)
-		{
-			echo "$key => $val\n";
-		}
-	}
-};
-
-$x = new B;
-$x->go();
-?>
---EXPECT--
-c => B's c
+--TEST--
+Bug #33171 (foreach enumerates private fields declared in base classes)
+--FILE--
+<?php
+class A
+{
+	private $c = "A's c";
+}
+
+class B extends A
+{
+	private $c = "B's c";
+		
+	public function go()
+	{
+		foreach ($this as $key => $val)
+		{
+			echo "$key => $val\n";
+		}
+	}
+};
+
+$x = new B;
+$x->go();
+?>
+--EXPECT--
+c => B's c
diff --git a/Zend/tests/bug33243.phpt b/Zend/tests/bug33243.phpt
index 9b5b39d..bb5d77c 100755
--- a/Zend/tests/bug33243.phpt
+++ b/Zend/tests/bug33243.phpt
@@ -1,25 +1,25 @@
---TEST--
-Bug #33243 (ze1_compatibility_mode does not work as expected)
---INI--
-zend.ze1_compatibility_mode=1
-error_reporting=4095
---FILE--
-<?php
-$a->y->z = 0;
-$b = $a;      // should perform deep copy of $a
-$b->y->z = 1; // hence this should have no effect on $a
-var_dump($a);
-?>
---EXPECTF--
-Strict Standards: Creating default object from empty value in %sbug33243.php on line 2
-
-Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug33243.php on line 3
-
-Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug33243.php on line 5
-object(stdClass)#%d (1) {
-  ["y"]=>
-  object(stdClass)#%d (1) {
-    ["z"]=>
-    int(0)
-  }
-}
+--TEST--
+Bug #33243 (ze1_compatibility_mode does not work as expected)
+--INI--
+zend.ze1_compatibility_mode=1
+error_reporting=4095
+--FILE--
+<?php
+$a->y->z = 0;
+$b = $a;      // should perform deep copy of $a
+$b->y->z = 1; // hence this should have no effect on $a
+var_dump($a);
+?>
+--EXPECTF--
+Strict Standards: Creating default object from empty value in %sbug33243.php on line 2
+
+Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug33243.php on line 3
+
+Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug33243.php on line 5
+object(stdClass)#%d (1) {
+  ["y"]=>
+  object(stdClass)#%d (1) {
+    ["z"]=>
+    int(0)
+  }
+}
diff --git a/Zend/tests/bug33257.phpt b/Zend/tests/bug33257.phpt
index 5c5061b..c17ddfd 100755
--- a/Zend/tests/bug33257.phpt
+++ b/Zend/tests/bug33257.phpt
@@ -1,25 +1,25 @@
---TEST--
-Bug #33257 (array_splice() inconsistent when passed function instead of variable)
---INI--
-error_reporting=4095
---FILE--
-<?php
-class X {
-  protected static $arr = array("a", "b", "c");
-  public static function getArr() {
-    return self::$arr;
-  }
-}
-
-//$arr1 = X::getArr();
-array_splice(X::getArr(), 1, 1);
-print_r(X::getArr());
-?>
---EXPECTF--
-Strict Standards: Only variables should be passed by reference in %sbug33257.php on line 10
-Array
-(
-    [0] => a
-    [1] => b
-    [2] => c
-)
+--TEST--
+Bug #33257 (array_splice() inconsistent when passed function instead of variable)
+--INI--
+error_reporting=4095
+--FILE--
+<?php
+class X {
+  protected static $arr = array("a", "b", "c");
+  public static function getArr() {
+    return self::$arr;
+  }
+}
+
+//$arr1 = X::getArr();
+array_splice(X::getArr(), 1, 1);
+print_r(X::getArr());
+?>
+--EXPECTF--
+Strict Standards: Only variables should be passed by reference in %sbug33257.php on line 10
+Array
+(
+    [0] => a
+    [1] => b
+    [2] => c
+)
diff --git a/Zend/tests/bug33277.phpt b/Zend/tests/bug33277.phpt
index b653e43..859c449 100644
--- a/Zend/tests/bug33277.phpt
+++ b/Zend/tests/bug33277.phpt
@@ -1,28 +1,28 @@
---TEST--
-Bug #33277 (private method accessed by child class)
---FILE--
-<?php
-class foo {
-        private function bar() {
-                echo "private!\n";
-        }
-}
- 
-class fooson extends foo {
-        function barson() {
-                $this->bar();
-        }
-}
- 
-class foo2son extends fooson {
- 
-        function bar() {
-                echo "public!\n";
-        }
-}
- 
-$b = new foo2son();
-$b->barson();
-?>
---EXPECT--
-public!
+--TEST--
+Bug #33277 (private method accessed by child class)
+--FILE--
+<?php
+class foo {
+        private function bar() {
+                echo "private!\n";
+        }
+}
+ 
+class fooson extends foo {
+        function barson() {
+                $this->bar();
+        }
+}
+ 
+class foo2son extends fooson {
+ 
+        function bar() {
+                echo "public!\n";
+        }
+}
+ 
+$b = new foo2son();
+$b->barson();
+?>
+--EXPECT--
+public!
diff --git a/Zend/tests/bug33318.phpt b/Zend/tests/bug33318.phpt
index 262627b..dc1afbb 100755
--- a/Zend/tests/bug33318.phpt
+++ b/Zend/tests/bug33318.phpt
@@ -1,8 +1,8 @@
---TEST--
-Bug #33318 (throw 1; results in Invalid opcode 108/1/8)
---FILE--
-<?php
-throw 1;
-?>
---EXPECTF--
+--TEST--
+Bug #33318 (throw 1; results in Invalid opcode 108/1/8)
+--FILE--
+<?php
+throw 1;
+?>
+--EXPECTF--
 Fatal error: Can only throw objects in %sbug33318.php on line 2
\ No newline at end of file
diff --git a/Zend/tests/bug33558.phpt b/Zend/tests/bug33558.phpt
index 15ac4a2..9c87fc6 100755
--- a/Zend/tests/bug33558.phpt
+++ b/Zend/tests/bug33558.phpt
@@ -1,21 +1,21 @@
---TEST--
-Bug #33558 (warning with nested calls to functions returning by reference)
---INI--
-error_reporting=4095
---FILE--
-<?php
-function & foo() {
-    $var = 'ok';
-    return $var;
-}
-
-function & bar() {
-    return foo();
-}
-
-$a =& bar();
-echo "$a\n";
-?>
---EXPECT--
-ok
-
+--TEST--
+Bug #33558 (warning with nested calls to functions returning by reference)
+--INI--
+error_reporting=4095
+--FILE--
+<?php
+function & foo() {
+    $var = 'ok';
+    return $var;
+}
+
+function & bar() {
+    return foo();
+}
+
+$a =& bar();
+echo "$a\n";
+?>
+--EXPECT--
+ok
+
diff --git a/Zend/tests/bug33732.phpt b/Zend/tests/bug33732.phpt
index e723c20..4969791 100755
--- a/Zend/tests/bug33732.phpt
+++ b/Zend/tests/bug33732.phpt
@@ -1,45 +1,45 @@
---TEST--
-Bug #33732 (Wrong behavior of constants in class and interface extending)
---FILE--
-<?php
-interface iA {
-  const cA = "const of iA\n";
-}
-
-class A implements iA {
-}
-
-class B extends A implements iA {
-}
-
-echo iA::cA;
-echo A::cA;
-echo B::cA;
-
-
-interface iA2 {
-    const cA = "const of iA2\n";
-}
-
-interface iB2 extends iA2 {
-}
-
-class A2 implements iA2 {
-}
-
-class B2 extends A2 implements iA2 {
-}
-
-echo iA2::cA;
-echo A2::cA;
-echo iB2::cA;
-echo B2::cA;
-?>
---EXPECT--
-const of iA
-const of iA
-const of iA
-const of iA2
-const of iA2
-const of iA2
-const of iA2
+--TEST--
+Bug #33732 (Wrong behavior of constants in class and interface extending)
+--FILE--
+<?php
+interface iA {
+  const cA = "const of iA\n";
+}
+
+class A implements iA {
+}
+
+class B extends A implements iA {
+}
+
+echo iA::cA;
+echo A::cA;
+echo B::cA;
+
+
+interface iA2 {
+    const cA = "const of iA2\n";
+}
+
+interface iB2 extends iA2 {
+}
+
+class A2 implements iA2 {
+}
+
+class B2 extends A2 implements iA2 {
+}
+
+echo iA2::cA;
+echo A2::cA;
+echo iB2::cA;
+echo B2::cA;
+?>
+--EXPECT--
+const of iA
+const of iA
+const of iA
+const of iA2
+const of iA2
+const of iA2
+const of iA2
diff --git a/Zend/tests/bug33996.phpt b/Zend/tests/bug33996.phpt
index e1677ce..e722ece 100755
--- a/Zend/tests/bug33996.phpt
+++ b/Zend/tests/bug33996.phpt
@@ -1,29 +1,29 @@
---TEST--
-Bug #33996 (No information given for fatal error on passing invalid value to typed argument)
---INI--
-error_reporting=8191
---FILE--
-<?php
-class Foo
-{
-    // nothing
-}
-
-function FooTest(Foo $foo)
-{
-    echo "Hello!";
-}
-
-function NormalTest($a)
-{
-    echo "Hi!";
-}
-
-NormalTest();
-FooTest();
-FooTest(new Foo());
-?>
---EXPECTF--
-Warning: Missing argument 1 for NormalTest(), called in %sbug33996.php on line %d and defined in %sbug33996.php on line %d
-Hi!
-Catchable fatal error: Argument 1 passed to FooTest() must be an instance of Foo, none given, called in %sbug33996.php on line %d and defined in %sbug33996.php on line %d
+--TEST--
+Bug #33996 (No information given for fatal error on passing invalid value to typed argument)
+--INI--
+error_reporting=8191
+--FILE--
+<?php
+class Foo
+{
+    // nothing
+}
+
+function FooTest(Foo $foo)
+{
+    echo "Hello!";
+}
+
+function NormalTest($a)
+{
+    echo "Hi!";
+}
+
+NormalTest();
+FooTest();
+FooTest(new Foo());
+?>
+--EXPECTF--
+Warning: Missing argument 1 for NormalTest(), called in %sbug33996.php on line %d and defined in %sbug33996.php on line %d
+Hi!
+Catchable fatal error: Argument 1 passed to FooTest() must be an instance of Foo, none given, called in %sbug33996.php on line %d and defined in %sbug33996.php on line %d
diff --git a/Zend/tests/bug33999.phpt b/Zend/tests/bug33999.phpt
index cbc6360..1946280 100755
--- a/Zend/tests/bug33999.phpt
+++ b/Zend/tests/bug33999.phpt
@@ -1,30 +1,30 @@
---TEST--
-Bug #33999 (object remains object when cast to int)
---INI--
-error_reporting=4095
---FILE--
-<?php
-class Foo {
-  public $bar = "bat";
-}
-
-$foo = new Foo;
-var_dump($foo);
-
-$bar = (int)$foo;
-var_dump($bar);
-
-$baz = (float)$foo;
-var_dump($baz);
-?>
---EXPECTF--
-object(Foo)#1 (1) {
-  ["bar"]=>
-  string(3) "bat"
-}
-
-Notice: Object of class Foo could not be converted to int in %sbug33999.php on line 9
-int(1)
-
-Notice: Object of class Foo could not be converted to double in %sbug33999.php on line 12
-float(1)
+--TEST--
+Bug #33999 (object remains object when cast to int)
+--INI--
+error_reporting=4095
+--FILE--
+<?php
+class Foo {
+  public $bar = "bat";
+}
+
+$foo = new Foo;
+var_dump($foo);
+
+$bar = (int)$foo;
+var_dump($bar);
+
+$baz = (float)$foo;
+var_dump($baz);
+?>
+--EXPECTF--
+object(Foo)#1 (1) {
+  ["bar"]=>
+  string(3) "bat"
+}
+
+Notice: Object of class Foo could not be converted to int in %sbug33999.php on line 9
+int(1)
+
+Notice: Object of class Foo could not be converted to double in %sbug33999.php on line 12
+float(1)
diff --git a/Zend/tests/bug34064.phpt b/Zend/tests/bug34064.phpt
index 22ddb89..84208a5 100755
--- a/Zend/tests/bug34064.phpt
+++ b/Zend/tests/bug34064.phpt
@@ -1,35 +1,35 @@
---TEST--
-Bug #34064 (arr[] as param to function in class gives invalid opcode)
---FILE--
-<?php
-class XmlTest {
-
-    function test_ref(&$test)
-    {
-    	$test = "ok";
-    }
-
-    function test($test)
-    {
-    }
-
-    function run()
-    {
-        $ar = array();
-        $this->test_ref($ar[]);
-        var_dump($ar);
-        $this->test($ar[]);
-    }
-}
-
-$o = new XmlTest();
-$o->run();
-?>
---EXPECTF--
-array(1) {
-  [0]=>
-  string(2) "ok"
-}
-
-Fatal error: Cannot use [] for reading in %sbug34064.php on line 18
-
+--TEST--
+Bug #34064 (arr[] as param to function in class gives invalid opcode)
+--FILE--
+<?php
+class XmlTest {
+
+    function test_ref(&$test)
+    {
+    	$test = "ok";
+    }
+
+    function test($test)
+    {
+    }
+
+    function run()
+    {
+        $ar = array();
+        $this->test_ref($ar[]);
+        var_dump($ar);
+        $this->test($ar[]);
+    }
+}
+
+$o = new XmlTest();
+$o->run();
+?>
+--EXPECTF--
+array(1) {
+  [0]=>
+  string(2) "ok"
+}
+
+Fatal error: Cannot use [] for reading in %sbug34064.php on line 18
+
diff --git a/Zend/tests/bug34065.phpt b/Zend/tests/bug34065.phpt
index 9f6e00e..9d76fca 100755
--- a/Zend/tests/bug34065.phpt
+++ b/Zend/tests/bug34065.phpt
@@ -1,15 +1,15 @@
---TEST--
-Bug #34065 (throw in foreach causes memory leaks)
---FILE--
-<?php
-$data = file(__FILE__);
-try {
-  foreach ($data as $line) {
-    throw new Exception("error");
-  }
-} catch (Exception $e) {
-  echo "ok\n";
-}
-?>
---EXPECT--
-ok
+--TEST--
+Bug #34065 (throw in foreach causes memory leaks)
+--FILE--
+<?php
+$data = file(__FILE__);
+try {
+  foreach ($data as $line) {
+    throw new Exception("error");
+  }
+} catch (Exception $e) {
+  echo "ok\n";
+}
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug34137.phpt b/Zend/tests/bug34137.phpt
index 4e0a09f..5856333 100755
--- a/Zend/tests/bug34137.phpt
+++ b/Zend/tests/bug34137.phpt
@@ -1,10 +1,10 @@
---TEST--
-Bug #34137 (assigning array element by reference causes binary mess)
---FILE--
-<?php
-$arr1 = array('a1' => array('alfa' => 'ok'));
-$arr1 =& $arr1['a1'];
-echo '-'.$arr1['alfa']."-\n";
-?>
---EXPECT--
--ok-
+--TEST--
+Bug #34137 (assigning array element by reference causes binary mess)
+--FILE--
+<?php
+$arr1 = array('a1' => array('alfa' => 'ok'));
+$arr1 =& $arr1['a1'];
+echo '-'.$arr1['alfa']."-\n";
+?>
+--EXPECT--
+-ok-
diff --git a/Zend/tests/bug34260.phpt b/Zend/tests/bug34260.phpt
index 4a59208..fa393d0 100755
--- a/Zend/tests/bug34260.phpt
+++ b/Zend/tests/bug34260.phpt
@@ -1,36 +1,36 @@
---TEST--
-Bug #34260 (Segfault with callbacks (array_map) + overloading)
---FILE--
-<?php
-class Faulty
-{
-    function __call($Method,$Args)
-    {
-        switch($Method)
-        {
-            case 'seg':
-              echo "I hate me\n";
-            break;
-        }
-    }
-
-    function NormalMethod($Args)
-    {
-       echo "I heart me\n"; 
-    }
-}
-
-$Faulty = new Faulty();
-$Array = array('Some junk','Some other junk');
-
-// This causes a seg fault.
-$Failure = array_map(array($Faulty,'seg'),$Array);
-
-// This does not.
-$Failure = array_map(array($Faulty,'NormalMethod'),$Array);
-?>
---EXPECT--
-I hate me
-I hate me
-I heart me
-I heart me
+--TEST--
+Bug #34260 (Segfault with callbacks (array_map) + overloading)
+--FILE--
+<?php
+class Faulty
+{
+    function __call($Method,$Args)
+    {
+        switch($Method)
+        {
+            case 'seg':
+              echo "I hate me\n";
+            break;
+        }
+    }
+
+    function NormalMethod($Args)
+    {
+       echo "I heart me\n"; 
+    }
+}
+
+$Faulty = new Faulty();
+$Array = array('Some junk','Some other junk');
+
+// This causes a seg fault.
+$Failure = array_map(array($Faulty,'seg'),$Array);
+
+// This does not.
+$Failure = array_map(array($Faulty,'NormalMethod'),$Array);
+?>
+--EXPECT--
+I hate me
+I hate me
+I heart me
+I heart me
diff --git a/Zend/tests/bug34467.phpt b/Zend/tests/bug34467.phpt
index 39862ad..5f0ccaf 100755
--- a/Zend/tests/bug34467.phpt
+++ b/Zend/tests/bug34467.phpt
@@ -1,27 +1,27 @@
---TEST--
-Bug #34467 (foreach + __get + __set incosistency)
---FILE--
-<?php
-class abc {
-	private $arr;
-
-	function __set ($key, $value) {
-    $this->arr[$key] = $value;
-  }
-	
-	function __get ($key) {
-	  return $this->arr[$key];
-	} 
-}
-$abc = new abc();
-foreach (array (1,2,3) as $abc->k => $abc->v) {
-	var_dump($abc->k,$abc->v);
-}
-?>
---EXPECT--
-int(0)
-int(1)
-int(1)
-int(2)
-int(2)
-int(3)
+--TEST--
+Bug #34467 (foreach + __get + __set incosistency)
+--FILE--
+<?php
+class abc {
+	private $arr;
+
+	function __set ($key, $value) {
+    $this->arr[$key] = $value;
+  }
+	
+	function __get ($key) {
+	  return $this->arr[$key];
+	} 
+}
+$abc = new abc();
+foreach (array (1,2,3) as $abc->k => $abc->v) {
+	var_dump($abc->k,$abc->v);
+}
+?>
+--EXPECT--
+int(0)
+int(1)
+int(1)
+int(2)
+int(2)
+int(3)
diff --git a/Zend/tests/bug34518.phpt b/Zend/tests/bug34518.phpt
index 1971fcb..b94fdf4 100755
--- a/Zend/tests/bug34518.phpt
+++ b/Zend/tests/bug34518.phpt
@@ -1,38 +1,38 @@
---TEST--
-Bug #34518 (Unset doesn't separate container in CV)
---FILE--
-<?php
-$arr = array(1,2,3);
-$arr["foo"] = array(4,5,6);
-$copy = $arr;
-
-unset($copy["foo"][0]);
-print_r($arr);
-print_r($copy);
-?>
---EXPECT--
-Array
-(
-    [0] => 1
-    [1] => 2
-    [2] => 3
-    [foo] => Array
-        (
-            [0] => 4
-            [1] => 5
-            [2] => 6
-        )
-
-)
-Array
-(
-    [0] => 1
-    [1] => 2
-    [2] => 3
-    [foo] => Array
-        (
-            [1] => 5
-            [2] => 6
-        )
-
-)
+--TEST--
+Bug #34518 (Unset doesn't separate container in CV)
+--FILE--
+<?php
+$arr = array(1,2,3);
+$arr["foo"] = array(4,5,6);
+$copy = $arr;
+
+unset($copy["foo"][0]);
+print_r($arr);
+print_r($copy);
+?>
+--EXPECT--
+Array
+(
+    [0] => 1
+    [1] => 2
+    [2] => 3
+    [foo] => Array
+        (
+            [0] => 4
+            [1] => 5
+            [2] => 6
+        )
+
+)
+Array
+(
+    [0] => 1
+    [1] => 2
+    [2] => 3
+    [foo] => Array
+        (
+            [1] => 5
+            [2] => 6
+        )
+
+)
diff --git a/Zend/tests/bug34617.phpt b/Zend/tests/bug34617.phpt
index 826ff10..25f785f 100755
--- a/Zend/tests/bug34617.phpt
+++ b/Zend/tests/bug34617.phpt
@@ -1,18 +1,18 @@
---TEST--
-Bug #34617 (zend_deactivate: objects_store used after zend_objects_store_destroy is called) 
---SKIPIF--
-<?php if (!extension_loaded("xml")) print "skip the xml extension not available"; ?>
---FILE--
-<?php
-class Thing {}
-function boom()
-{
-    $reader = xml_parser_create();
-    xml_set_object($reader, new Thing());
-    die("ok\n");
-    xml_parser_free($reader);
-}
-boom();
-?>
---EXPECT--
-ok
+--TEST--
+Bug #34617 (zend_deactivate: objects_store used after zend_objects_store_destroy is called) 
+--SKIPIF--
+<?php if (!extension_loaded("xml")) print "skip the xml extension not available"; ?>
+--FILE--
+<?php
+class Thing {}
+function boom()
+{
+    $reader = xml_parser_create();
+    xml_set_object($reader, new Thing());
+    die("ok\n");
+    xml_parser_free($reader);
+}
+boom();
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug34712.phpt b/Zend/tests/bug34712.phpt
index d280c26..8176292 100755
--- a/Zend/tests/bug34712.phpt
+++ b/Zend/tests/bug34712.phpt
@@ -1,28 +1,28 @@
---TEST--
-Bug #34712 (zend.ze1_compatibility_mode = on segfault)
---INI--
-zend.ze1_compatibility_mode=1
-error_reporting=4095
---FILE--
-<?php
-class foo {
-	function foo(&$obj_ref) {
-		$this->bar = &$obj_ref;
-	}
-}		
-
-
-class bar {
-	function bar() {
-		$this->foo = new foo($this);
-	}
-}
-
-$test = new bar;
-echo "ok\n";
-?>
---EXPECTF--
-Strict Standards: Implicit cloning object of class 'foo' because of 'zend.ze1_compatibility_mode' in %sbug34712.php on line 11
-
-Strict Standards: Implicit cloning object of class 'bar' because of 'zend.ze1_compatibility_mode' in %sbug34712.php on line 15
-ok
+--TEST--
+Bug #34712 (zend.ze1_compatibility_mode = on segfault)
+--INI--
+zend.ze1_compatibility_mode=1
+error_reporting=4095
+--FILE--
+<?php
+class foo {
+	function foo(&$obj_ref) {
+		$this->bar = &$obj_ref;
+	}
+}		
+
+
+class bar {
+	function bar() {
+		$this->foo = new foo($this);
+	}
+}
+
+$test = new bar;
+echo "ok\n";
+?>
+--EXPECTF--
+Strict Standards: Implicit cloning object of class 'foo' because of 'zend.ze1_compatibility_mode' in %sbug34712.php on line 11
+
+Strict Standards: Implicit cloning object of class 'bar' because of 'zend.ze1_compatibility_mode' in %sbug34712.php on line 15
+ok
diff --git a/Zend/tests/bug34767.phpt b/Zend/tests/bug34767.phpt
index c81b44b..45af9f9 100755
--- a/Zend/tests/bug34767.phpt
+++ b/Zend/tests/bug34767.phpt
@@ -1,33 +1,33 @@
---TEST--
-Bug #34767 (Zend Engine 1 Compatibility not copying objects correctly)
---INI--
-zend.ze1_compatibility_mode=1
-error_reporting=4095
---FILE--
-<?php
-$a->y = &new stdClass();
-print_r($a);
-$b = $a;
-$a->y->z = 1;
-print_r($b);
-?>
---EXPECTF--
-
-Strict Standards: Assigning the return value of new by reference is deprecated in %sbug34767.php on line 2
-stdClass Object
-(
-    [y] => stdClass Object
-        (
-        )
-
-)
-
-Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug34767.php on line 4
-stdClass Object
-(
-    [y] => stdClass Object
-        (
-            [z] => 1
-        )
-
-)
+--TEST--
+Bug #34767 (Zend Engine 1 Compatibility not copying objects correctly)
+--INI--
+zend.ze1_compatibility_mode=1
+error_reporting=4095
+--FILE--
+<?php
+$a->y = &new stdClass();
+print_r($a);
+$b = $a;
+$a->y->z = 1;
+print_r($b);
+?>
+--EXPECTF--
+
+Strict Standards: Assigning the return value of new by reference is deprecated in %sbug34767.php on line 2
+stdClass Object
+(
+    [y] => stdClass Object
+        (
+        )
+
+)
+
+Strict Standards: Implicit cloning object of class 'stdClass' because of 'zend.ze1_compatibility_mode' in %sbug34767.php on line 4
+stdClass Object
+(
+    [y] => stdClass Object
+        (
+            [z] => 1
+        )
+
+)
diff --git a/Zend/tests/bug34786.phpt b/Zend/tests/bug34786.phpt
index 516e18f..1864284 100755
--- a/Zend/tests/bug34786.phpt
+++ b/Zend/tests/bug34786.phpt
@@ -1,22 +1,22 @@
---TEST--
-Bug #34786 (2 @ results in change to error_reporting() to random value)
---FILE--
-<?php
-function foo($a,$b,$c) {
-echo "foo: ".error_reporting()."\n";
-}
-
-function bar() {
-echo "bar: ".error_reporting()."\n";
-}
-
-error_reporting(1);
-echo "before: ".error_reporting()."\n";
- at foo(1, at bar(),3);
-echo "after: ".error_reporting()."\n";
-?>
---EXPECT--
-before: 1
-bar: 0
-foo: 0
-after: 1
+--TEST--
+Bug #34786 (2 @ results in change to error_reporting() to random value)
+--FILE--
+<?php
+function foo($a,$b,$c) {
+echo "foo: ".error_reporting()."\n";
+}
+
+function bar() {
+echo "bar: ".error_reporting()."\n";
+}
+
+error_reporting(1);
+echo "before: ".error_reporting()."\n";
+ at foo(1, at bar(),3);
+echo "after: ".error_reporting()."\n";
+?>
+--EXPECT--
+before: 1
+bar: 0
+foo: 0
+after: 1
diff --git a/Zend/tests/bug34879.phpt b/Zend/tests/bug34879.phpt
index 6b59100..606142b 100755
--- a/Zend/tests/bug34879.phpt
+++ b/Zend/tests/bug34879.phpt
@@ -1,11 +1,11 @@
---TEST--
-Bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms)
---FILE--
-<?php
-print_r(str_replace('a', 'b', array(-1 =>-1)));
-?>
---EXPECT--
-Array
-(
-    [-1] => -1
+--TEST--
+Bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms)
+--FILE--
+<?php
+print_r(str_replace('a', 'b', array(-1 =>-1)));
+?>
+--EXPECT--
+Array
+(
+    [-1] => -1
 )
\ No newline at end of file
diff --git a/Zend/tests/bug34893.phpt b/Zend/tests/bug34893.phpt
index c117686..bbe0235 100755
--- a/Zend/tests/bug34893.phpt
+++ b/Zend/tests/bug34893.phpt
@@ -1,33 +1,33 @@
---TEST--
-Bug #34893 (PHP5.1 overloading, Cannot access private property)
---FILE--
-<?php
-class A {
-	private $p;
-	function __get($name){
-		return $this->$name;
-	}
-	function __set($name, $value) {
-		$this->$name = $value;
-	}
-}
-class B {
-	private $t;
-	function __get($name){
-		return $this->$name;
-	}
-	function __set($name, $value) {
-		$this->$name = $value;
-	}
-}
-$a = new A;
-$b = new B;
-$a->p = $b;
-$b->t = "foo";
-
-echo $a->p->t;
-$a->p->t = "bar";
-echo $a->p->t;
-?>
---EXPECT--
-foobar
+--TEST--
+Bug #34893 (PHP5.1 overloading, Cannot access private property)
+--FILE--
+<?php
+class A {
+	private $p;
+	function __get($name){
+		return $this->$name;
+	}
+	function __set($name, $value) {
+		$this->$name = $value;
+	}
+}
+class B {
+	private $t;
+	function __get($name){
+		return $this->$name;
+	}
+	function __set($name, $value) {
+		$this->$name = $value;
+	}
+}
+$a = new A;
+$b = new B;
+$a->p = $b;
+$b->t = "foo";
+
+echo $a->p->t;
+$a->p->t = "bar";
+echo $a->p->t;
+?>
+--EXPECT--
+foobar
diff --git a/Zend/tests/bug35017.phpt b/Zend/tests/bug35017.phpt
index b138b7f..0a89d23 100755
--- a/Zend/tests/bug35017.phpt
+++ b/Zend/tests/bug35017.phpt
@@ -1,21 +1,21 @@
---TEST--
-Bug #35017 (Exception thrown in error handler may cause unexpected behavior)
---FILE--
-<?php
-set_error_handler('errorHandler');
-try {
-	if ($a) {
-		echo "1\n";
-	} else {
-		echo "0\n";
-	}
-	echo "?\n";
-} catch(Exception $e) { 
-  echo "This Exception should be catched\n";
-}
-function errorHandler($errno, $errstr, $errfile, $errline, $vars) {
-	throw new Exception('Some Exception');
-}
-?>
---EXPECT--
-This Exception should be catched
+--TEST--
+Bug #35017 (Exception thrown in error handler may cause unexpected behavior)
+--FILE--
+<?php
+set_error_handler('errorHandler');
+try {
+	if ($a) {
+		echo "1\n";
+	} else {
+		echo "0\n";
+	}
+	echo "?\n";
+} catch(Exception $e) { 
+  echo "This Exception should be catched\n";
+}
+function errorHandler($errno, $errstr, $errfile, $errline, $vars) {
+	throw new Exception('Some Exception');
+}
+?>
+--EXPECT--
+This Exception should be catched
diff --git a/Zend/tests/bug35106.phpt b/Zend/tests/bug35106.phpt
index a3f166c..61a66d0 100755
--- a/Zend/tests/bug35106.phpt
+++ b/Zend/tests/bug35106.phpt
@@ -1,14 +1,14 @@
---TEST--
-Bug #35106 (nested foreach fails when array variable has a reference)
---FILE--
-<?php
-$a=array("1","2");
-$b=&$a;
-foreach($a as $i){
-    echo $i;
-    foreach($a as $p);
-}
-echo "\n";
-?>
---EXPECT--
-12
+--TEST--
+Bug #35106 (nested foreach fails when array variable has a reference)
+--FILE--
+<?php
+$a=array("1","2");
+$b=&$a;
+foreach($a as $i){
+    echo $i;
+    foreach($a as $p);
+}
+echo "\n";
+?>
+--EXPECT--
+12
diff --git a/Zend/tests/bug35239.phpt b/Zend/tests/bug35239.phpt
index ad999c4..7fc7b7d 100755
--- a/Zend/tests/bug35239.phpt
+++ b/Zend/tests/bug35239.phpt
@@ -1,41 +1,41 @@
---TEST--
-Bug #35239 (Objects can lose references)
---FILE--
-<?php
-$a = new stdClass; 
-$a->x0 = new stdClass;
-$a->x0->y0 = 'a';
-$a->x0->y1 =& $a->x0;
-$a->x0->y2 =& $a->x0;
-$a->x0->y0 = 'b';
-var_dump($a);
-$a->x0->y1 = "ok\n";
-echo $a->x0;
-?>
---EXPECT--
-object(stdClass)#1 (1) {
-  ["x0"]=>
-  &object(stdClass)#2 (3) {
-    ["y0"]=>
-    string(1) "b"
-    ["y1"]=>
-    &object(stdClass)#2 (3) {
-      ["y0"]=>
-      string(1) "b"
-      ["y1"]=>
-      *RECURSION*
-      ["y2"]=>
-      *RECURSION*
-    }
-    ["y2"]=>
-    &object(stdClass)#2 (3) {
-      ["y0"]=>
-      string(1) "b"
-      ["y1"]=>
-      *RECURSION*
-      ["y2"]=>
-      *RECURSION*
-    }
-  }
-}
-ok
+--TEST--
+Bug #35239 (Objects can lose references)
+--FILE--
+<?php
+$a = new stdClass; 
+$a->x0 = new stdClass;
+$a->x0->y0 = 'a';
+$a->x0->y1 =& $a->x0;
+$a->x0->y2 =& $a->x0;
+$a->x0->y0 = 'b';
+var_dump($a);
+$a->x0->y1 = "ok\n";
+echo $a->x0;
+?>
+--EXPECT--
+object(stdClass)#1 (1) {
+  ["x0"]=>
+  &object(stdClass)#2 (3) {
+    ["y0"]=>
+    string(1) "b"
+    ["y1"]=>
+    &object(stdClass)#2 (3) {
+      ["y0"]=>
+      string(1) "b"
+      ["y1"]=>
+      *RECURSION*
+      ["y2"]=>
+      *RECURSION*
+    }
+    ["y2"]=>
+    &object(stdClass)#2 (3) {
+      ["y0"]=>
+      string(1) "b"
+      ["y1"]=>
+      *RECURSION*
+      ["y2"]=>
+      *RECURSION*
+    }
+  }
+}
+ok
diff --git a/Zend/tests/bug35393.phpt b/Zend/tests/bug35393.phpt
index 059621c..ce3bdd0 100755
--- a/Zend/tests/bug35393.phpt
+++ b/Zend/tests/bug35393.phpt
@@ -1,30 +1,30 @@
---TEST--
-Bug #35393 (changing static protected members from outside the class)
---INI--
-error_reporting=4095
---FILE--
-<?php
-class ObjectPath
-{
-    static protected $type = array(0=>'main');
-
-    static function getType()
-    {
-        return self::$type;
-    }
-}
-print_r(ObjectPath::getType());
-$object_type = array_pop((ObjectPath::getType()));
-print_r(ObjectPath::getType());
-?>
---EXPECTF--
-Array
-(
-    [0] => main
-)
-
-Strict Standards: Only variables should be passed by reference in %sbug35393.php on line 12
-Array
-(
-    [0] => main
-)
+--TEST--
+Bug #35393 (changing static protected members from outside the class)
+--INI--
+error_reporting=4095
+--FILE--
+<?php
+class ObjectPath
+{
+    static protected $type = array(0=>'main');
+
+    static function getType()
+    {
+        return self::$type;
+    }
+}
+print_r(ObjectPath::getType());
+$object_type = array_pop((ObjectPath::getType()));
+print_r(ObjectPath::getType());
+?>
+--EXPECTF--
+Array
+(
+    [0] => main
+)
+
+Strict Standards: Only variables should be passed by reference in %sbug35393.php on line 12
+Array
+(
+    [0] => main
+)
diff --git a/Zend/tests/bug35411.phpt b/Zend/tests/bug35411.phpt
index df2aa4f..90957aa 100755
--- a/Zend/tests/bug35411.phpt
+++ b/Zend/tests/bug35411.phpt
@@ -1,19 +1,19 @@
---TEST--
-Bug #35411 (Regression with \{$ handling)
---FILE--
-<?php
-$abc = "bar";
-echo "foo\{$abc}baz\n";
-echo "foo\{ $abc}baz\n";
-echo <<<TEST
-foo{$abc}baz
-foo\{$abc}baz
-foo\{ $abc}baz
-TEST;
-?>
---EXPECT--
-foo\{bar}baz
-foo\{ bar}baz
-foobarbaz
-foo\{bar}baz
-foo\{ bar}baz
+--TEST--
+Bug #35411 (Regression with \{$ handling)
+--FILE--
+<?php
+$abc = "bar";
+echo "foo\{$abc}baz\n";
+echo "foo\{ $abc}baz\n";
+echo <<<TEST
+foo{$abc}baz
+foo\{$abc}baz
+foo\{ $abc}baz
+TEST;
+?>
+--EXPECT--
+foo\{bar}baz
+foo\{ bar}baz
+foobarbaz
+foo\{bar}baz
+foo\{ bar}baz
diff --git a/Zend/tests/bug35437.phpt b/Zend/tests/bug35437.phpt
index 965acf5..73222a9 100755
--- a/Zend/tests/bug35437.phpt
+++ b/Zend/tests/bug35437.phpt
@@ -1,27 +1,27 @@
---TEST--
-Bug #35437 (Segfault or Invalid Opcode 137/1/4)
---FILE--
-<?php
-function err2exception($errno, $errstr)
-{
-	throw new Exception("Error occuried: " . $errstr);
-}
-
-set_error_handler('err2exception');
-
-class TestClass
-{
-	function testMethod()
-	{
-		$GLOBALS['t'] = new stdClass;
-	}
-}
-
-try {
-	TestClass::testMethod();
-} catch (Exception $e) {
-	echo "Catched: ".$e->getMessage()."\n";
-}
-?>
---EXPECT--
-Catched: Error occuried: Non-static method TestClass::testMethod() should not be called statically
+--TEST--
+Bug #35437 (Segfault or Invalid Opcode 137/1/4)
+--FILE--
+<?php
+function err2exception($errno, $errstr)
+{
+	throw new Exception("Error occuried: " . $errstr);
+}
+
+set_error_handler('err2exception');
+
+class TestClass
+{
+	function testMethod()
+	{
+		$GLOBALS['t'] = new stdClass;
+	}
+}
+
+try {
+	TestClass::testMethod();
+} catch (Exception $e) {
+	echo "Catched: ".$e->getMessage()."\n";
+}
+?>
+--EXPECT--
+Catched: Error occuried: Non-static method TestClass::testMethod() should not be called statically
diff --git a/Zend/tests/bug35470.phpt b/Zend/tests/bug35470.phpt
index 3d70886..5a85455 100755
--- a/Zend/tests/bug35470.phpt
+++ b/Zend/tests/bug35470.phpt
@@ -1,11 +1,11 @@
---TEST--
-Bug #35470 (Assigning global using variable name from array doesn't function)
---FILE--
-<?php
-$x = array("test", "55");
-global ${$x[0]};
-${$x[0]} = $x[1];
-echo "Test: $test\n";;
-?>
---EXPECT--
-Test: 55
+--TEST--
+Bug #35470 (Assigning global using variable name from array doesn't function)
+--FILE--
+<?php
+$x = array("test", "55");
+global ${$x[0]};
+${$x[0]} = $x[1];
+echo "Test: $test\n";;
+?>
+--EXPECT--
+Test: 55
diff --git a/Zend/tests/bug36071.phpt b/Zend/tests/bug36071.phpt
index 19e7498..e514609 100755
--- a/Zend/tests/bug36071.phpt
+++ b/Zend/tests/bug36071.phpt
@@ -1,11 +1,11 @@
---TEST--
-Bug #36071 (Engine Crash related with 'clone')
---INI--
-error_reporting=4095
---FILE--
-<?php
-$a = clone 0;
-$a[0]->b = 0;
-?>
---EXPECTF--
+--TEST--
+Bug #36071 (Engine Crash related with 'clone')
+--INI--
+error_reporting=4095
+--FILE--
+<?php
+$a = clone 0;
+$a[0]->b = 0;
+?>
+--EXPECTF--
 Fatal error: __clone method called on non-object in %sbug36071.php on line 2
\ No newline at end of file
diff --git a/Zend/tests/bug36214.phpt b/Zend/tests/bug36214.phpt
index dae2545..f3e9904 100755
--- a/Zend/tests/bug36214.phpt
+++ b/Zend/tests/bug36214.phpt
@@ -1,54 +1,54 @@
---TEST--
-Bug #36214 (__get method works properly only when conditional operator is used)
---SKIPIF--
-<?php if (!extension_loaded("spl")) die("skip SPL is no available"); ?>
---FILE--
-<?php
-class context {
-  public $stack = array();
-
-  public function __set($name,$var) {
-    $this->stack[$name] = $var;return;
-  }
-
-  public function &__get($name) {
-    return $this->stack[$name];
-  }
-}
-
-$ctx = new context;
-$ctx->comment_preview = array();
-$ctx->comment_preview[0] = 1;
-$ctx->comment_preview[1] = 2;
-var_dump($ctx->comment_preview);
-
-$comment_preview = array();
-$comment_preview[0] = 1;
-$comment_preview[1] = 2;
-$ctx->comment_preview = $comment_preview;
-var_dump($ctx->comment_preview);
-
-$ctx->comment_preview = new ArrayObject();
-$ctx->comment_preview[0] = 1;
-$ctx->comment_preview[1] = 2;
-var_dump($ctx->comment_preview);
-?>
---EXPECT--
-array(2) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-}
-array(2) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-}
-object(ArrayObject)#2 (2) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-}
+--TEST--
+Bug #36214 (__get method works properly only when conditional operator is used)
+--SKIPIF--
+<?php if (!extension_loaded("spl")) die("skip SPL is no available"); ?>
+--FILE--
+<?php
+class context {
+  public $stack = array();
+
+  public function __set($name,$var) {
+    $this->stack[$name] = $var;return;
+  }
+
+  public function &__get($name) {
+    return $this->stack[$name];
+  }
+}
+
+$ctx = new context;
+$ctx->comment_preview = array();
+$ctx->comment_preview[0] = 1;
+$ctx->comment_preview[1] = 2;
+var_dump($ctx->comment_preview);
+
+$comment_preview = array();
+$comment_preview[0] = 1;
+$comment_preview[1] = 2;
+$ctx->comment_preview = $comment_preview;
+var_dump($ctx->comment_preview);
+
+$ctx->comment_preview = new ArrayObject();
+$ctx->comment_preview[0] = 1;
+$ctx->comment_preview[1] = 2;
+var_dump($ctx->comment_preview);
+?>
+--EXPECT--
+array(2) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+}
+array(2) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+}
+object(ArrayObject)#2 (2) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+}
diff --git a/Zend/tests/bug36303.phpt b/Zend/tests/bug36303.phpt
index 13c21b7..612022a 100755
--- a/Zend/tests/bug36303.phpt
+++ b/Zend/tests/bug36303.phpt
@@ -1,12 +1,12 @@
---TEST--
-Bug #36303 (foreach on error_zval produces segfault)
---FILE--
-<?php
-$x="test";
-foreach($x->a->b as &$v) {
-}
-echo "ok\n";
-?>
---EXPECTF--
-Warning: Invalid argument supplied for foreach() in %sbug36303.php on line 3
-ok
+--TEST--
+Bug #36303 (foreach on error_zval produces segfault)
+--FILE--
+<?php
+$x="test";
+foreach($x->a->b as &$v) {
+}
+echo "ok\n";
+?>
+--EXPECTF--
+Warning: Invalid argument supplied for foreach() in %sbug36303.php on line 3
+ok
diff --git a/Zend/tests/bug36513.phpt b/Zend/tests/bug36513.phpt
index 2c8ca84..f46da4e 100755
--- a/Zend/tests/bug36513.phpt
+++ b/Zend/tests/bug36513.phpt
@@ -1,22 +1,22 @@
---TEST--
-Bug #36513 (comment will be outputed in last line)
---FILE--
-<?php 
-function test($s) {
-  echo "'".trim(str_replace("&nbsp;", " ", htmlspecialchars_decode(strip_tags(highlight_string($s,1)))))."'\n";
-}
-
-eval('echo "1";//2');
-eval('echo 3; //{ 4?>5');
-echo "\n";
-
-//test('<?php echo "1";//');
-test('<?php echo "1";//2');
-test('<?php echo "1";//22');
-test('<?php echo 3; // 4 ?>5');
-?>
---EXPECT--
-135
-'<?php echo "1";//2'
-'<?php echo "1";//22'
-'<?php echo 3; // 4 ?>5'
+--TEST--
+Bug #36513 (comment will be outputed in last line)
+--FILE--
+<?php 
+function test($s) {
+  echo "'".trim(str_replace("&nbsp;", " ", htmlspecialchars_decode(strip_tags(highlight_string($s,1)))))."'\n";
+}
+
+eval('echo "1";//2');
+eval('echo 3; //{ 4?>5');
+echo "\n";
+
+//test('<?php echo "1";//');
+test('<?php echo "1";//2');
+test('<?php echo "1";//22');
+test('<?php echo 3; // 4 ?>5');
+?>
+--EXPECT--
+135
+'<?php echo "1";//2'
+'<?php echo "1";//22'
+'<?php echo 3; // 4 ?>5'
diff --git a/Zend/tests/bug36568.phpt b/Zend/tests/bug36568.phpt
index 0401d1e..d621491 100755
--- a/Zend/tests/bug36568.phpt
+++ b/Zend/tests/bug36568.phpt
@@ -1,15 +1,15 @@
---TEST--
-Bug #36568 (memory_limit has no effect)
---SKIPIF--
-<?php 
-	if (!function_exists('memory_get_usage')) die('skip PHP is configured without memory_limit');
-?>
---INI--
-memory_limit=16M
---FILE--
-<?php
-ini_set("memory_limit", "32M");
-echo ini_get("memory_limit");
-?>
---EXPECT--
-32M
+--TEST--
+Bug #36568 (memory_limit has no effect)
+--SKIPIF--
+<?php 
+	if (!function_exists('memory_get_usage')) die('skip PHP is configured without memory_limit');
+?>
+--INI--
+memory_limit=16M
+--FILE--
+<?php
+ini_set("memory_limit", "32M");
+echo ini_get("memory_limit");
+?>
+--EXPECT--
+32M
diff --git a/Zend/tests/bug37046.phpt b/Zend/tests/bug37046.phpt
index 8049944..09b8f0c 100755
--- a/Zend/tests/bug37046.phpt
+++ b/Zend/tests/bug37046.phpt
@@ -1,23 +1,23 @@
---TEST--
-Bug #37046 (foreach breaks static scope)
---FILE--
-<?php
-function s() {
-  static $storage = array(array('x', 'y'));
-  return $storage[0];
-}
-
-foreach (s() as $k => $function) {
-  echo "op1 $k\n";
-  if ($k == 0) {
-    foreach (s() as $k => $function) {
-      echo "op2 $k\n";
-    }
-  }
-}
-?>
---EXPECT--
-op1 0
-op2 0
-op2 1
-op1 1
+--TEST--
+Bug #37046 (foreach breaks static scope)
+--FILE--
+<?php
+function s() {
+  static $storage = array(array('x', 'y'));
+  return $storage[0];
+}
+
+foreach (s() as $k => $function) {
+  echo "op1 $k\n";
+  if ($k == 0) {
+    foreach (s() as $k => $function) {
+      echo "op2 $k\n";
+    }
+  }
+}
+?>
+--EXPECT--
+op1 0
+op2 0
+op2 1
+op1 1
diff --git a/Zend/tests/bug37144.phpt b/Zend/tests/bug37144.phpt
index 6191a29..b3e5489 100755
--- a/Zend/tests/bug37144.phpt
+++ b/Zend/tests/bug37144.phpt
@@ -1,16 +1,16 @@
---TEST--
-Bug #37144 (PHP crashes trying to assign into property of dead object)
---FILE--
-<?php
-function foo() {
-  $x = new stdClass();
-  $x->bar = array(1);
-  return $x;
-}
-foo()->bar[1] = "123";
-foo()->bar[0]++;
-unset(foo()->bar[0]);
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #37144 (PHP crashes trying to assign into property of dead object)
+--FILE--
+<?php
+function foo() {
+  $x = new stdClass();
+  $x->bar = array(1);
+  return $x;
+}
+foo()->bar[1] = "123";
+foo()->bar[0]++;
+unset(foo()->bar[0]);
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug37715.phpt b/Zend/tests/bug37715.phpt
index 3a69b71..a585c78 100755
--- a/Zend/tests/bug37715.phpt
+++ b/Zend/tests/bug37715.phpt
@@ -1,29 +1,29 @@
---TEST--
-Bug #37715 (array pointers resetting on copy)
---FILE--
-<?php
-$a = array(
-    'a' => array(
-        'A', 'B', 'C', 'D',
-    ),
-    'b' => array(
-        'AA', 'BB', 'CC', 'DD',
-    ),
-);
-
-// Set the pointer of $a to 'b' and the pointer of 'b' to 'CC'
-reset($a);
-next($a);
-next($a['b']);
-next($a['b']);
-next($a['b']);
-
-var_dump(key($a['b']));
-foreach($a as $k => $d)
-{
-}
-// Alternatively $c = $a; and foreachloop removal will cause identical results.
-var_dump(key($a['b']));
---EXPECT--
-int(3)
-int(3)
+--TEST--
+Bug #37715 (array pointers resetting on copy)
+--FILE--
+<?php
+$a = array(
+    'a' => array(
+        'A', 'B', 'C', 'D',
+    ),
+    'b' => array(
+        'AA', 'BB', 'CC', 'DD',
+    ),
+);
+
+// Set the pointer of $a to 'b' and the pointer of 'b' to 'CC'
+reset($a);
+next($a);
+next($a['b']);
+next($a['b']);
+next($a['b']);
+
+var_dump(key($a['b']));
+foreach($a as $k => $d)
+{
+}
+// Alternatively $c = $a; and foreachloop removal will cause identical results.
+var_dump(key($a['b']));
+--EXPECT--
+int(3)
+int(3)
diff --git a/Zend/tests/bug38146.phpt b/Zend/tests/bug38146.phpt
index 1f022f3..e321e11 100755
--- a/Zend/tests/bug38146.phpt
+++ b/Zend/tests/bug38146.phpt
@@ -1,19 +1,19 @@
---TEST--
-Bug #38146 (Cannot use array returned from foo::__get('bar') in write context)
---FILE--
-<?php
-class foo {
-    public function __get($member) {
-        $f = array("foo"=>"bar","bar"=>"foo");
-        return $f;
-    }
-}
-
-$f = new foo();
-foreach($f->bar as $key => $value) {
-    print "$key => $value\n";
-}
-?>
---EXPECT--
-foo => bar
-bar => foo
+--TEST--
+Bug #38146 (Cannot use array returned from foo::__get('bar') in write context)
+--FILE--
+<?php
+class foo {
+    public function __get($member) {
+        $f = array("foo"=>"bar","bar"=>"foo");
+        return $f;
+    }
+}
+
+$f = new foo();
+foreach($f->bar as $key => $value) {
+    print "$key => $value\n";
+}
+?>
+--EXPECT--
+foo => bar
+bar => foo
diff --git a/Zend/tests/bug38211.phpt b/Zend/tests/bug38211.phpt
index 4b08812..6ae9430 100755
--- a/Zend/tests/bug38211.phpt
+++ b/Zend/tests/bug38211.phpt
@@ -1,10 +1,10 @@
---TEST--
-Bug #38211 (variable name and cookie name match breaks script execution)
---FILE--
-<?php
-$test = 'test';
-unset($$test);
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #38211 (variable name and cookie name match breaks script execution)
+--FILE--
+<?php
+$test = 'test';
+unset($$test);
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug38220.phpt b/Zend/tests/bug38220.phpt
index 3e1b2dc..bee3ffc 100755
--- a/Zend/tests/bug38220.phpt
+++ b/Zend/tests/bug38220.phpt
@@ -1,92 +1,92 @@
---TEST--
-Bug #38220 (Crash on some object operations)
---FILE--
-<?php
-class drv {
-	public $obj;
-
-	function func1() {
-		echo "func1(): {$this->obj->i}\n";
-	}
-
-	function close() {
-		echo "close(): {$this->obj->i}\n";
-	}
-}
-
-class A {
-	public $i;
-
-	function __construct($i) {
-		$this->i = $i;
-
-	}
-
-	function __call($method, $args) {
-		$drv = myserv::drv();
-
-		$drv->obj = $this;
-
-		echo "before call $method\n";
-		print_r($this);
-		call_user_func_array(array($drv, $method), $args);
-		echo "after call $method\n";
-
-		// Uncomment this line to work without crash
-//		$drv->obj = null;
-	}
-
-	function __destruct() {
-		echo "A::__destruct()\n";
-		$this->close();
-	}
-}
-
-class myserv {
-	private static $drv = null;
-
-	static function drv() {
-		if (is_null(self::$drv))
-			self::$drv = new drv;
-		return self::$drv;
-	}
-}
-
-$obj1 = new A(1);
-$obj1->func1();
-
-$obj2 = new A(2);
-unset($obj1);
-$obj2->func1();
-?>
---EXPECT--
-before call func1
-A Object
-(
-    [i] => 1
-)
-func1(): 1
-after call func1
-A::__destruct()
-before call close
-A Object
-(
-    [i] => 1
-)
-close(): 1
-after call close
-before call func1
-A Object
-(
-    [i] => 2
-)
-func1(): 1
-after call func1
-A::__destruct()
-before call close
-A Object
-(
-    [i] => 2
-)
-close(): 2
-after call close
+--TEST--
+Bug #38220 (Crash on some object operations)
+--FILE--
+<?php
+class drv {
+	public $obj;
+
+	function func1() {
+		echo "func1(): {$this->obj->i}\n";
+	}
+
+	function close() {
+		echo "close(): {$this->obj->i}\n";
+	}
+}
+
+class A {
+	public $i;
+
+	function __construct($i) {
+		$this->i = $i;
+
+	}
+
+	function __call($method, $args) {
+		$drv = myserv::drv();
+
+		$drv->obj = $this;
+
+		echo "before call $method\n";
+		print_r($this);
+		call_user_func_array(array($drv, $method), $args);
+		echo "after call $method\n";
+
+		// Uncomment this line to work without crash
+//		$drv->obj = null;
+	}
+
+	function __destruct() {
+		echo "A::__destruct()\n";
+		$this->close();
+	}
+}
+
+class myserv {
+	private static $drv = null;
+
+	static function drv() {
+		if (is_null(self::$drv))
+			self::$drv = new drv;
+		return self::$drv;
+	}
+}
+
+$obj1 = new A(1);
+$obj1->func1();
+
+$obj2 = new A(2);
+unset($obj1);
+$obj2->func1();
+?>
+--EXPECT--
+before call func1
+A Object
+(
+    [i] => 1
+)
+func1(): 1
+after call func1
+A::__destruct()
+before call close
+A Object
+(
+    [i] => 1
+)
+close(): 1
+after call close
+before call func1
+A Object
+(
+    [i] => 2
+)
+func1(): 1
+after call func1
+A::__destruct()
+before call close
+A Object
+(
+    [i] => 2
+)
+close(): 2
+after call close
diff --git a/Zend/tests/bug38234.phpt b/Zend/tests/bug38234.phpt
index 3374206..a81a3aa 100755
--- a/Zend/tests/bug38234.phpt
+++ b/Zend/tests/bug38234.phpt
@@ -1,18 +1,18 @@
---TEST--
-Bug #38234 (Exception in __clone makes memory leak)
---FILE--
-<?php
-class Foo {
-	function __clone() {
-		throw new Exception();
-	}
-}
-try {
-	$x = new Foo();
-	$y = clone $x;
-} catch (Exception $e) {
-}
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #38234 (Exception in __clone makes memory leak)
+--FILE--
+<?php
+class Foo {
+	function __clone() {
+		throw new Exception();
+	}
+}
+try {
+	$x = new Foo();
+	$y = clone $x;
+} catch (Exception $e) {
+}
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug38287.phpt b/Zend/tests/bug38287.phpt
index 3052fc7..9a53a93 100755
--- a/Zend/tests/bug38287.phpt
+++ b/Zend/tests/bug38287.phpt
@@ -1,45 +1,45 @@
---TEST--
-Bug #38287 (static variables mess up global vars)
---FILE--
-<?php
-error_reporting(0);
-
-something::do_something();
-
-// $not_there is really NULL
-var_dump($not_there);
-
-// error occurs here: execution should never get inside the if condition because $not_there is NULL
-if ($not_there["invalid_var"]) {
-  // will print NULL (which is ok, but execution should never get here if the value is NULL)
-  var_dump($not_there["use_authmodule"]);
-  // will print "PATH:Array"
-  print "PATH:".$not_there["use_authmodule"]."\n";
-}
-
-class something {
-  public static function get_object() {
-    static $object=NULL;
-    if ($object===NULL)
-    $object=new something;
-    return $object;
-  }
-
-  public static function do_something() {
-    self::get_object()->vars[]=1;
-    self::get_object()->vars[]=2;
-    self::get_object()->vars[]=3;
-    var_dump(self::get_object()->vars);
-  }
-}
-?>
---EXPECT--
-array(3) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-  [2]=>
-  int(3)
-}
-NULL
+--TEST--
+Bug #38287 (static variables mess up global vars)
+--FILE--
+<?php
+error_reporting(0);
+
+something::do_something();
+
+// $not_there is really NULL
+var_dump($not_there);
+
+// error occurs here: execution should never get inside the if condition because $not_there is NULL
+if ($not_there["invalid_var"]) {
+  // will print NULL (which is ok, but execution should never get here if the value is NULL)
+  var_dump($not_there["use_authmodule"]);
+  // will print "PATH:Array"
+  print "PATH:".$not_there["use_authmodule"]."\n";
+}
+
+class something {
+  public static function get_object() {
+    static $object=NULL;
+    if ($object===NULL)
+    $object=new something;
+    return $object;
+  }
+
+  public static function do_something() {
+    self::get_object()->vars[]=1;
+    self::get_object()->vars[]=2;
+    self::get_object()->vars[]=3;
+    var_dump(self::get_object()->vars);
+  }
+}
+?>
+--EXPECT--
+array(3) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+  [2]=>
+  int(3)
+}
+NULL
diff --git a/Zend/tests/bug38469.phpt b/Zend/tests/bug38469.phpt
index 1200335..6afcaf5 100644
--- a/Zend/tests/bug38469.phpt
+++ b/Zend/tests/bug38469.phpt
@@ -1,54 +1,54 @@
---TEST--
-Bug #38469 (Unexpected creation of cycle)
---FILE--
-<?php
-$a = array();
-$a[0] = $a;
-var_dump($a);
-$b = array(array());
-$b[0][0] = $b;
-var_dump($b);
-
-function f() {
-	$a = array();
-	$a[0] = $a;
-	var_dump($a);
-	$b = array(array());
-	$b[0][0] = $b;
-	var_dump($b);
-}
-f();
-?>
---EXPECT--
-array(1) {
-  [0]=>
-  array(0) {
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    array(1) {
-      [0]=>
-      array(0) {
-      }
-    }
-  }
-}
-array(1) {
-  [0]=>
-  array(0) {
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    array(1) {
-      [0]=>
-      array(0) {
-      }
-    }
-  }
-}
+--TEST--
+Bug #38469 (Unexpected creation of cycle)
+--FILE--
+<?php
+$a = array();
+$a[0] = $a;
+var_dump($a);
+$b = array(array());
+$b[0][0] = $b;
+var_dump($b);
+
+function f() {
+	$a = array();
+	$a[0] = $a;
+	var_dump($a);
+	$b = array(array());
+	$b[0][0] = $b;
+	var_dump($b);
+}
+f();
+?>
+--EXPECT--
+array(1) {
+  [0]=>
+  array(0) {
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    array(1) {
+      [0]=>
+      array(0) {
+      }
+    }
+  }
+}
+array(1) {
+  [0]=>
+  array(0) {
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    array(1) {
+      [0]=>
+      array(0) {
+      }
+    }
+  }
+}
diff --git a/Zend/tests/bug38623.phpt b/Zend/tests/bug38623.phpt
index 8b03539..9b042a9 100755
--- a/Zend/tests/bug38623.phpt
+++ b/Zend/tests/bug38623.phpt
@@ -1,16 +1,16 @@
---TEST--
-Bug #38623 (leaks in a tricky code with switch() and exceptions)
---FILE--
-<?php
-try {
-	switch(strtolower("apache")) {
-    	case "apache":
-        	throw new Exception("test");
-	        break;
-	}
-} catch (Exception $e) {
-    echo "ok\n";
-}
-?>
---EXPECT--
-ok
+--TEST--
+Bug #38623 (leaks in a tricky code with switch() and exceptions)
+--FILE--
+<?php
+try {
+	switch(strtolower("apache")) {
+    	case "apache":
+        	throw new Exception("test");
+	        break;
+	}
+} catch (Exception $e) {
+    echo "ok\n";
+}
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug38942.phpt b/Zend/tests/bug38942.phpt
index 5b86e15..85bb56d 100755
--- a/Zend/tests/bug38942.phpt
+++ b/Zend/tests/bug38942.phpt
@@ -1,17 +1,17 @@
---TEST--
-Bug #38942 (Double old-style-ctor inheritance)
---FILE--
-<?php
-class foo {
-    public function foo() {}
-}
-
-class bar extends foo {
-}
-print_r(get_class_methods("bar"));
-?>
---EXPECT--
-Array
-(
-    [0] => foo
-)
+--TEST--
+Bug #38942 (Double old-style-ctor inheritance)
+--FILE--
+<?php
+class foo {
+    public function foo() {}
+}
+
+class bar extends foo {
+}
+print_r(get_class_methods("bar"));
+?>
+--EXPECT--
+Array
+(
+    [0] => foo
+)
diff --git a/Zend/tests/bug39017.phpt b/Zend/tests/bug39017.phpt
index f38b9a3..7020475 100755
--- a/Zend/tests/bug39017.phpt
+++ b/Zend/tests/bug39017.phpt
@@ -1,11 +1,11 @@
---TEST--
-Bug #39017 (foreach(($obj = new myClass) as $v); echo $obj; segfaults)
---FILE--
-<?php
-class A {}
-foreach(($a=(object)new A()) as $v);
-var_dump($a); // UNKNOWN:0
-?>
---EXPECTF--
-object(A)#%d (0) {
-}
+--TEST--
+Bug #39017 (foreach(($obj = new myClass) as $v); echo $obj; segfaults)
+--FILE--
+<?php
+class A {}
+foreach(($a=(object)new A()) as $v);
+var_dump($a); // UNKNOWN:0
+?>
+--EXPECTF--
+object(A)#%d (0) {
+}
diff --git a/Zend/tests/bug39297.phpt b/Zend/tests/bug39297.phpt
index 01e3f91..92f91a5 100755
--- a/Zend/tests/bug39297.phpt
+++ b/Zend/tests/bug39297.phpt
@@ -1,45 +1,45 @@
---TEST--
-Bug #39297 (Memory corryption because of indirect modification of overloaded array)
---FILE--
-<?php
-function compareByRef(&$first, &$second) {
-    return $first === $second;
-}
-
-class MyTree implements ArrayAccess {
-    public $parent;
-    public $children = array();
-
-    public function offsetExists($offset) {
-    }
-
-    public function offsetUnset($offset) {
-    }
-
-    public function offsetSet($offset, $value) {
-    	echo "offsetSet()\n";
-        $cannonicalName = strtolower($offset);
-        $this->children[$cannonicalName] = $value;
-        $value->parent = $this;
-    }    
-    
-    public function offsetGet($offset) {
-    	echo "offsetGet()\n";
-        $cannonicalName = strtolower($offset);
-        return $this->children[$cannonicalName];
-    }
-
-}
-
-$id = 'Test';
-
-$root = new MyTree();
-$child = new MyTree();
-$root[$id] = $child;
-
-var_dump(compareByRef($root[$id], $child));
-?>
---EXPECT--
-offsetSet()
-offsetGet()
-bool(true)
+--TEST--
+Bug #39297 (Memory corryption because of indirect modification of overloaded array)
+--FILE--
+<?php
+function compareByRef(&$first, &$second) {
+    return $first === $second;
+}
+
+class MyTree implements ArrayAccess {
+    public $parent;
+    public $children = array();
+
+    public function offsetExists($offset) {
+    }
+
+    public function offsetUnset($offset) {
+    }
+
+    public function offsetSet($offset, $value) {
+    	echo "offsetSet()\n";
+        $cannonicalName = strtolower($offset);
+        $this->children[$cannonicalName] = $value;
+        $value->parent = $this;
+    }    
+    
+    public function offsetGet($offset) {
+    	echo "offsetGet()\n";
+        $cannonicalName = strtolower($offset);
+        return $this->children[$cannonicalName];
+    }
+
+}
+
+$id = 'Test';
+
+$root = new MyTree();
+$child = new MyTree();
+$root[$id] = $child;
+
+var_dump(compareByRef($root[$id], $child));
+?>
+--EXPECT--
+offsetSet()
+offsetGet()
+bool(true)
diff --git a/Zend/tests/bug39304.phpt b/Zend/tests/bug39304.phpt
index fe75cfa..5ab569b 100755
--- a/Zend/tests/bug39304.phpt
+++ b/Zend/tests/bug39304.phpt
@@ -1,11 +1,11 @@
---TEST--
-Bug #39304 (Segmentation fault with list unpacking of string offset)
---FILE--
-<?php 
-  $s = "";
-  list($a, $b) = $s[0];
-?>
---EXPECTF--
-Notice: Uninitialized string offset: 0 in %s on line %d
-
-Fatal error: Cannot use string offset as an array in %sbug39304.php on line %d
+--TEST--
+Bug #39304 (Segmentation fault with list unpacking of string offset)
+--FILE--
+<?php 
+  $s = "";
+  list($a, $b) = $s[0];
+?>
+--EXPECTF--
+Notice: Uninitialized string offset: 0 in %s on line %d
+
+Fatal error: Cannot use string offset as an array in %sbug39304.php on line %d
diff --git a/Zend/tests/bug39438.phpt b/Zend/tests/bug39438.phpt
index 2dac58a..e1ed8e8 100755
--- a/Zend/tests/bug39438.phpt
+++ b/Zend/tests/bug39438.phpt
@@ -1,45 +1,45 @@
---TEST--
-Bug #39438 (Fatal error: Out of memory)
---INI--
-memory_limit=16M
---FILE--
-<?php
-$i=0;
-$test2=array(
-   'a1_teasermenu' => array(
-   		'downloadcounter' => 2777,
-        'versions' => array(
-        	'0.1.0' => array (
-        		'title' => 'A1 Teasermenu',
-        	    'description' => 'Displays a teaser for advanced subpages or a selection of advanced pages',
-        	    'state' => 'stable',
-        	    'reviewstate' => 0,
-        	    'category' => 'plugin',
-        	    'downloadcounter' => 2787,
-        	    'lastuploaddate' => 1088427240,
-        	    'dependencies' => array (
-        	          'depends' => array(
-        	                  'typo3' =>'', 
-        	                  'php' =>'', 
-        	                  'cms' => ''
-        	           ),        	
-        	          'conflicts' => array('' =>'')        	
-        	    ),        	
-        	  	'authorname' => 'Mirko Balluff',
-        	  	'authoremail' => 'balluff at amt1.de',
-        	  	'ownerusername' => 'amt1',
-        	  	't3xfilemd5' => '3a4ec198b6ea8d0bc2d69d9b7400398f',
-      		)
-  		)
-  	)
-);
-$test=array();
-while($i<1200) {	
-	$test[]=$test2;
-	$i++;
-}
-$out=serialize($test);
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #39438 (Fatal error: Out of memory)
+--INI--
+memory_limit=16M
+--FILE--
+<?php
+$i=0;
+$test2=array(
+   'a1_teasermenu' => array(
+   		'downloadcounter' => 2777,
+        'versions' => array(
+        	'0.1.0' => array (
+        		'title' => 'A1 Teasermenu',
+        	    'description' => 'Displays a teaser for advanced subpages or a selection of advanced pages',
+        	    'state' => 'stable',
+        	    'reviewstate' => 0,
+        	    'category' => 'plugin',
+        	    'downloadcounter' => 2787,
+        	    'lastuploaddate' => 1088427240,
+        	    'dependencies' => array (
+        	          'depends' => array(
+        	                  'typo3' =>'', 
+        	                  'php' =>'', 
+        	                  'cms' => ''
+        	           ),        	
+        	          'conflicts' => array('' =>'')        	
+        	    ),        	
+        	  	'authorname' => 'Mirko Balluff',
+        	  	'authoremail' => 'balluff at amt1.de',
+        	  	'ownerusername' => 'amt1',
+        	  	't3xfilemd5' => '3a4ec198b6ea8d0bc2d69d9b7400398f',
+      		)
+  		)
+  	)
+);
+$test=array();
+while($i<1200) {	
+	$test[]=$test2;
+	$i++;
+}
+$out=serialize($test);
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug39445.phpt b/Zend/tests/bug39445.phpt
index 87f5f03..cf1607f 100755
--- a/Zend/tests/bug39445.phpt
+++ b/Zend/tests/bug39445.phpt
@@ -1,16 +1,16 @@
---TEST--
-Bug #39445 (Calling debug_backtrace() in the __toString() function produces a crash)
---FILE--
-<?php
-class test {
-	public function __toString() {
-		debug_backtrace();
-		return 'lowercase';
-	}
-}
-
-	$test = new test();
-	echo strtoupper($test);
-?>
---EXPECT--
-LOWERCASE
+--TEST--
+Bug #39445 (Calling debug_backtrace() in the __toString() function produces a crash)
+--FILE--
+<?php
+class test {
+	public function __toString() {
+		debug_backtrace();
+		return 'lowercase';
+	}
+}
+
+	$test = new test();
+	echo strtoupper($test);
+?>
+--EXPECT--
+LOWERCASE
diff --git a/Zend/tests/bug39449.phpt b/Zend/tests/bug39449.phpt
index 725c0d4..c725147 100755
--- a/Zend/tests/bug39449.phpt
+++ b/Zend/tests/bug39449.phpt
@@ -1,40 +1,40 @@
---TEST--
-Bug #39449 (Overloaded array properties do not work correctly)
---FILE--
-<?php
-class A {
-  private $keys = array();
-  public function & __get($val) {
-    return $this->keys[$val];
-  }
-  public function __set($k, $v) {
-    $this->keys[$k] = $v;
-  }
-}
-
-$a =new A();
-$a->arr = array('a','b','c');
-
-$b = &$a->arr;
-$b[]= 'd';
-
-foreach ($a->arr as $k => $v) {
-  echo "$k => $v\n";
-}
-
-$a->arr[]='d';
-
-foreach ($a->arr as $k => $v) {
-  echo "$k => $v\n";
-}
-?>
---EXPECT--
-0 => a
-1 => b
-2 => c
-3 => d
-0 => a
-1 => b
-2 => c
-3 => d
-4 => d
+--TEST--
+Bug #39449 (Overloaded array properties do not work correctly)
+--FILE--
+<?php
+class A {
+  private $keys = array();
+  public function & __get($val) {
+    return $this->keys[$val];
+  }
+  public function __set($k, $v) {
+    $this->keys[$k] = $v;
+  }
+}
+
+$a =new A();
+$a->arr = array('a','b','c');
+
+$b = &$a->arr;
+$b[]= 'd';
+
+foreach ($a->arr as $k => $v) {
+  echo "$k => $v\n";
+}
+
+$a->arr[]='d';
+
+foreach ($a->arr as $k => $v) {
+  echo "$k => $v\n";
+}
+?>
+--EXPECT--
+0 => a
+1 => b
+2 => c
+3 => d
+0 => a
+1 => b
+2 => c
+3 => d
+4 => d
diff --git a/Zend/tests/bug39542.phpt b/Zend/tests/bug39542.phpt
index 1b8ae33..13ddc0a 100755
--- a/Zend/tests/bug39542.phpt
+++ b/Zend/tests/bug39542.phpt
@@ -1,24 +1,24 @@
---TEST--
-Bug #39542 (Behaviour of require_once/include_once different to < 5.2.0)
---FILE--
-<?php
-$oldcwd = getcwd();
-chdir(dirname(__FILE__));
-if (substr(PHP_OS, 0, 3) == 'WIN') {
-	set_include_path(dirname(__FILE__).'/bug39542;.');
-} else {
-	set_include_path(dirname(__FILE__).'/bug39542:.');
-}
-
-function __autoload($class) {
-    if (!require_once($class.'.php')) {
-        error_log('Error: Autoload class: '.$class.' not found!');
-    }
-}
-
-new bug39542();
-
-chdir($oldcwd);
-?>
---EXPECT--
-ok
+--TEST--
+Bug #39542 (Behaviour of require_once/include_once different to < 5.2.0)
+--FILE--
+<?php
+$oldcwd = getcwd();
+chdir(dirname(__FILE__));
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+	set_include_path(dirname(__FILE__).'/bug39542;.');
+} else {
+	set_include_path(dirname(__FILE__).'/bug39542:.');
+}
+
+function __autoload($class) {
+    if (!require_once($class.'.php')) {
+        error_log('Error: Autoload class: '.$class.' not found!');
+    }
+}
+
+new bug39542();
+
+chdir($oldcwd);
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug39542/bug39542.php b/Zend/tests/bug39542/bug39542.php
index 1109517..90cb36c 100755
--- a/Zend/tests/bug39542/bug39542.php
+++ b/Zend/tests/bug39542/bug39542.php
@@ -1,7 +1,7 @@
-<?php
-class bug39542 {
-	function bug39542() {
-		echo "ok\n";
-	}
-}
-?>
+<?php
+class bug39542 {
+	function bug39542() {
+		echo "ok\n";
+	}
+}
+?>
diff --git a/Zend/tests/bug39775.phpt b/Zend/tests/bug39775.phpt
index b06797d..4c6ce6b 100755
--- a/Zend/tests/bug39775.phpt
+++ b/Zend/tests/bug39775.phpt
@@ -1,20 +1,20 @@
---TEST--
-Bug #39775 ("Indirect modification ..." message is not shown)
---FILE--
-<?php
-class test {
-	var $array = array();
-	function __get($var) {
-		$v =& $this->array;
-		return $this->array;
-	}
-}
-$t = new test;
-$t->anything[] = 'bar';
-print_r($t->anything);
-?>
---EXPECTF--
-Notice: Indirect modification of overloaded property test::$anything has no effect in %sbug39775.php on line 10
-Array
-(
-)
+--TEST--
+Bug #39775 ("Indirect modification ..." message is not shown)
+--FILE--
+<?php
+class test {
+	var $array = array();
+	function __get($var) {
+		$v =& $this->array;
+		return $this->array;
+	}
+}
+$t = new test;
+$t->anything[] = 'bar';
+print_r($t->anything);
+?>
+--EXPECTF--
+Notice: Indirect modification of overloaded property test::$anything has no effect in %sbug39775.php on line 10
+Array
+(
+)
diff --git a/Zend/tests/bug39825.phpt b/Zend/tests/bug39825.phpt
index 294b32d..791b329 100755
--- a/Zend/tests/bug39825.phpt
+++ b/Zend/tests/bug39825.phpt
@@ -1,13 +1,13 @@
---TEST--
-Bug #39825 (foreach produces memory error)
---FILE--
-<?php 
-$array = array(1 => 2, "foo" => "bar");
-$obj = (object)$array;
-foreach ($obj as $name => $value)  {
-	echo "$name -> $value\n";
-}
-?>
---EXPECT--
-1 -> 2
-foo -> bar
+--TEST--
+Bug #39825 (foreach produces memory error)
+--FILE--
+<?php 
+$array = array(1 => 2, "foo" => "bar");
+$obj = (object)$array;
+foreach ($obj as $name => $value)  {
+	echo "$name -> $value\n";
+}
+?>
+--EXPECT--
+1 -> 2
+foo -> bar
diff --git a/Zend/tests/bug39990.phpt b/Zend/tests/bug39990.phpt
index b2df0b5..d7545ee 100755
--- a/Zend/tests/bug39990.phpt
+++ b/Zend/tests/bug39990.phpt
@@ -1,17 +1,17 @@
---TEST--
-Bug #39990 (Cannot "foreach" over overloaded properties)
---FILE--
-<?php
-  class Foo {
-    public function __get($name) {
-      return array('Hello', 'World');    
-    }
-  }
-  
-  $obj=new Foo();
-  foreach($obj->arr as $value)
-    echo "$value\n";
-?>
---EXPECT--
-Hello
-World
+--TEST--
+Bug #39990 (Cannot "foreach" over overloaded properties)
+--FILE--
+<?php
+  class Foo {
+    public function __get($name) {
+      return array('Hello', 'World');    
+    }
+  }
+  
+  $obj=new Foo();
+  foreach($obj->arr as $value)
+    echo "$value\n";
+?>
+--EXPECT--
+Hello
+World
diff --git a/Zend/tests/bug40236.inc b/Zend/tests/bug40236.inc
index 0fbbfc9..fc03349 100755
--- a/Zend/tests/bug40236.inc
+++ b/Zend/tests/bug40236.inc
@@ -1,10 +1,10 @@
-<?php
-function func1() { }
-function func2() { }
-function func3() { }
-function func4() { }
-function func5() { }
-function func6() { }
-function func7() { }
-print ("ok\n");
+<?php
+function func1() { }
+function func2() { }
+function func3() { }
+function func4() { }
+function func5() { }
+function func6() { }
+function func7() { }
+print ("ok\n");
 ?>
\ No newline at end of file
diff --git a/Zend/tests/bug40236.phpt b/Zend/tests/bug40236.phpt
index c19caef..f9a4277 100755
--- a/Zend/tests/bug40236.phpt
+++ b/Zend/tests/bug40236.phpt
@@ -1,17 +1,17 @@
---TEST--
-Bug #40236 (php -a function allocation eats memory)
---SKIPIF--
-<?php
-if (php_sapi_name() != "cli") die("skip CLI only");
-if (extension_loaded("readline")) die("skip Test doesn't support readline");
-?>
---FILE--
-<?php
-$php = getenv('TEST_PHP_EXECUTABLE');
-$cmd = "\"$php\" -n -d memory_limit=4M -a \"".dirname(__FILE__)."\"/bug40236.inc";
-echo `$cmd`;
-?>
---EXPECTF--
-Interactive %s
-
-ok
+--TEST--
+Bug #40236 (php -a function allocation eats memory)
+--SKIPIF--
+<?php
+if (php_sapi_name() != "cli") die("skip CLI only");
+if (extension_loaded("readline")) die("skip Test doesn't support readline");
+?>
+--FILE--
+<?php
+$php = getenv('TEST_PHP_EXECUTABLE');
+$cmd = "\"$php\" -n -d memory_limit=4M -a \"".dirname(__FILE__)."\"/bug40236.inc";
+echo `$cmd`;
+?>
+--EXPECTF--
+Interactive %s
+
+ok
diff --git a/Zend/tests/bug40261.phpt b/Zend/tests/bug40261.phpt
index 93a5557..b7e2c98 100755
--- a/Zend/tests/bug40261.phpt
+++ b/Zend/tests/bug40261.phpt
@@ -1,25 +1,25 @@
---TEST--
-Bug #40261 (Extremely slow data handling due to memory fragmentation)
---INI--
-memory_limit=128M
---FILE--
-<?php
-$num = 100000;
-
-$a = Array();
-for ($i=0; $i<$num; $i++) {
-  $a[$i] = Array(1);
-}
-
-for ($i=0; $i<$num; $i++) {
-  $b[$i] = $a[$i][0];
-}
-
-unset($a);
-for ($i=0; $i<$num; $i++) {
-  $b[$i] = "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890";
-}
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #40261 (Extremely slow data handling due to memory fragmentation)
+--INI--
+memory_limit=128M
+--FILE--
+<?php
+$num = 100000;
+
+$a = Array();
+for ($i=0; $i<$num; $i++) {
+  $a[$i] = Array(1);
+}
+
+for ($i=0; $i<$num; $i++) {
+  $b[$i] = $a[$i][0];
+}
+
+unset($a);
+for ($i=0; $i<$num; $i++) {
+  $b[$i] = "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890";
+}
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug40509.phpt b/Zend/tests/bug40509.phpt
index 4ee8e00..21eaae9 100755
--- a/Zend/tests/bug40509.phpt
+++ b/Zend/tests/bug40509.phpt
@@ -1,26 +1,26 @@
---TEST--
-Bug #40509 (key() function changed behaviour if global array is used within function)
---FILE--
-<?php
-function foo()
-{
-	global $arr;
-	
-	$c = $arr["v"];
-	foreach ($c as $v) {}
-}
-
-$arr["v"] = array("a");
-
-var_dump(key($arr["v"]));
-foo();
-var_dump(key($arr["v"]));
-foreach ($arr["v"] as $k => $v) {
-	var_dump($k);
-}
-var_dump(key($arr["v"]));
---EXPECT--
-int(0)
-int(0)
-int(0)
-NULL
+--TEST--
+Bug #40509 (key() function changed behaviour if global array is used within function)
+--FILE--
+<?php
+function foo()
+{
+	global $arr;
+	
+	$c = $arr["v"];
+	foreach ($c as $v) {}
+}
+
+$arr["v"] = array("a");
+
+var_dump(key($arr["v"]));
+foo();
+var_dump(key($arr["v"]));
+foreach ($arr["v"] as $k => $v) {
+	var_dump($k);
+}
+var_dump(key($arr["v"]));
+--EXPECT--
+int(0)
+int(0)
+int(0)
+NULL
diff --git a/Zend/tests/bug40705.phpt b/Zend/tests/bug40705.phpt
index 5628b37..374f73b 100755
--- a/Zend/tests/bug40705.phpt
+++ b/Zend/tests/bug40705.phpt
@@ -1,26 +1,26 @@
---TEST--
-Bug #40705 (Iterating within function moves original array pointer)
---FILE--
-<?php
-function doForeach($array)
-{
-    foreach ($array as $k => $v) {
-        // do stuff
-    }
-}
-
-$foo = array('foo', 'bar', 'baz');
-var_dump(key($foo));
-doForeach($foo);
-var_dump(key($foo));
-foreach ($foo as $k => $v) {
-	var_dump($k);
-}
-var_dump(key($foo));
---EXPECT--
-int(0)
-int(0)
-int(0)
-int(1)
-int(2)
-NULL
+--TEST--
+Bug #40705 (Iterating within function moves original array pointer)
+--FILE--
+<?php
+function doForeach($array)
+{
+    foreach ($array as $k => $v) {
+        // do stuff
+    }
+}
+
+$foo = array('foo', 'bar', 'baz');
+var_dump(key($foo));
+doForeach($foo);
+var_dump(key($foo));
+foreach ($foo as $k => $v) {
+	var_dump($k);
+}
+var_dump(key($foo));
+--EXPECT--
+int(0)
+int(0)
+int(0)
+int(1)
+int(2)
+NULL
diff --git a/Zend/tests/bug40757.phpt b/Zend/tests/bug40757.phpt
index d413b10..b5c91c7 100755
--- a/Zend/tests/bug40757.phpt
+++ b/Zend/tests/bug40757.phpt
@@ -1,28 +1,28 @@
---TEST--
-Bug #40757 (get_object_vars() get nothing in child class)
---FILE--
-<?php
-class Base {
-  private $p1='sadf';
-
-  function getFields($obj){
-    return get_object_vars($obj);
-  }
-}
-
-class Child extends Base { }
-
-$base=new Base();
-print_r($base->getFields(new Base()));
-$child=new Child();
-print_r($child->getFields(new Base()));
-?>
---EXPECT--
-Array
-(
-    [p1] => sadf
-)
-Array
-(
-    [p1] => sadf
-)
+--TEST--
+Bug #40757 (get_object_vars() get nothing in child class)
+--FILE--
+<?php
+class Base {
+  private $p1='sadf';
+
+  function getFields($obj){
+    return get_object_vars($obj);
+  }
+}
+
+class Child extends Base { }
+
+$base=new Base();
+print_r($base->getFields(new Base()));
+$child=new Child();
+print_r($child->getFields(new Base()));
+?>
+--EXPECT--
+Array
+(
+    [p1] => sadf
+)
+Array
+(
+    [p1] => sadf
+)
diff --git a/Zend/tests/bug40770.phpt b/Zend/tests/bug40770.phpt
index 432a27a..c4c78c2 100755
--- a/Zend/tests/bug40770.phpt
+++ b/Zend/tests/bug40770.phpt
@@ -1,22 +1,22 @@
---TEST--
-Bug #40770 (Apache child exits when PHP memory limit reached)
---INI--
-memory_limit=8M
---SKIPIF--
-<?php
-$zend_mm_enabled = getenv("USE_ZEND_ALLOC");
-if ($zend_mm_enabled === "0") {
-	die("skip Zend MM disabled");
-}
-?>
---FILE--
-<?php
-ini_set('display_errors',true);
-$mb=148;
-$var = '';
-for ($i=0; $i<=$mb; $i++) {
-        $var.= str_repeat('a',1*1024*1024);
-}
-?>
---EXPECTF--
-Fatal error: Allowed memory size of 8388608 bytes exhausted%s(tried to allocate %d bytes) in %s on line %d
+--TEST--
+Bug #40770 (Apache child exits when PHP memory limit reached)
+--INI--
+memory_limit=8M
+--SKIPIF--
+<?php
+$zend_mm_enabled = getenv("USE_ZEND_ALLOC");
+if ($zend_mm_enabled === "0") {
+	die("skip Zend MM disabled");
+}
+?>
+--FILE--
+<?php
+ini_set('display_errors',true);
+$mb=148;
+$var = '';
+for ($i=0; $i<=$mb; $i++) {
+        $var.= str_repeat('a',1*1024*1024);
+}
+?>
+--EXPECTF--
+Fatal error: Allowed memory size of 8388608 bytes exhausted%s(tried to allocate %d bytes) in %s on line %d
diff --git a/Zend/tests/bug40809.phpt b/Zend/tests/bug40809.phpt
index a90754d..08fc89f 100755
--- a/Zend/tests/bug40809.phpt
+++ b/Zend/tests/bug40809.phpt
@@ -1,33 +1,33 @@
---TEST--
-Bug #40809 (Poor perfomance of ".=")
---FILE--
-<?php
-error_reporting(E_ALL|E_STRICT);
-
-$num_increments = 100;
-$num_repeats = 1000;
-$increment = 50;
-
-/* Create some more holes to give the memory allocator something to
- * work with. */
-$num = 5000;
-$a = Array();
-for ($i=0; $i<$num; $i++) {
-  $a[$i] = Array(1);
-}
-for ($i=0; $i<$num; $i++) {
-  $b[$i] = $a[$i][0];
-}
-unset($a);
-
-for ($i=0;$i<$num_repeats;$i++) {
-  $evil = "";
-  for ($j=0;$j<$num_increments;$j++) {
-    $evil .= str_repeat("a", $increment);
-  }
-  unset($evil);
-}
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #40809 (Poor perfomance of ".=")
+--FILE--
+<?php
+error_reporting(E_ALL|E_STRICT);
+
+$num_increments = 100;
+$num_repeats = 1000;
+$increment = 50;
+
+/* Create some more holes to give the memory allocator something to
+ * work with. */
+$num = 5000;
+$a = Array();
+for ($i=0; $i<$num; $i++) {
+  $a[$i] = Array(1);
+}
+for ($i=0; $i<$num; $i++) {
+  $b[$i] = $a[$i][0];
+}
+unset($a);
+
+for ($i=0;$i<$num_repeats;$i++) {
+  $evil = "";
+  for ($j=0;$j<$num_increments;$j++) {
+    $evil .= str_repeat("a", $increment);
+  }
+  unset($evil);
+}
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug41633_1.phpt b/Zend/tests/bug41633_1.phpt
index fbd2741..1c1d552 100755
--- a/Zend/tests/bug41633_1.phpt
+++ b/Zend/tests/bug41633_1.phpt
@@ -1,12 +1,12 @@
---TEST--
-Bug #41633.1 (self:: doesn't work for constants)
---FILE--
-<?php
-class Foo {
-	const A = self::B;
-	const B = "ok";
-}
-echo Foo::A."\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #41633.1 (self:: doesn't work for constants)
+--FILE--
+<?php
+class Foo {
+	const A = self::B;
+	const B = "ok";
+}
+echo Foo::A."\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug41633_2.phpt b/Zend/tests/bug41633_2.phpt
index 1aa76be..3deb451 100755
--- a/Zend/tests/bug41633_2.phpt
+++ b/Zend/tests/bug41633_2.phpt
@@ -1,11 +1,11 @@
---TEST--
-Bug #41633.2 (Undefined class constants must not be substituted by strings)
---FILE--
-<?php
-class Foo {
-	const A = self::B;
-}
-echo Foo::A."\n";
-?>
---EXPECTF--
-Fatal error: Undefined class constant 'self::B' in %sbug41633_2.php on line 5
+--TEST--
+Bug #41633.2 (Undefined class constants must not be substituted by strings)
+--FILE--
+<?php
+class Foo {
+	const A = self::B;
+}
+echo Foo::A."\n";
+?>
+--EXPECTF--
+Fatal error: Undefined class constant 'self::B' in %sbug41633_2.php on line 5
diff --git a/Zend/tests/bug41633_3.phpt b/Zend/tests/bug41633_3.phpt
index 9b537fe..7b9452d 100755
--- a/Zend/tests/bug41633_3.phpt
+++ b/Zend/tests/bug41633_3.phpt
@@ -1,12 +1,12 @@
---TEST--
-Bug #41633.3 (Crash instantiating classes with self-referencing constants)
---FILE--
-<?php
-class Foo {
-	const A = Foo::B;
-	const B = Foo::A;
-}
-echo Foo::A;
-?>
---EXPECTF--
-Fatal error: Cannot declare self-referencing constant 'Foo::B' in %sbug41633_3.php on line %d
+--TEST--
+Bug #41633.3 (Crash instantiating classes with self-referencing constants)
+--FILE--
+<?php
+class Foo {
+	const A = Foo::B;
+	const B = Foo::A;
+}
+echo Foo::A;
+?>
+--EXPECTF--
+Fatal error: Cannot declare self-referencing constant 'Foo::B' in %sbug41633_3.php on line %d
diff --git a/Zend/tests/bug41633_4.phpt b/Zend/tests/bug41633_4.phpt
index 16e5895..3507f6a 100755
--- a/Zend/tests/bug41633_4.phpt
+++ b/Zend/tests/bug41633_4.phpt
@@ -1,12 +1,12 @@
---TEST--
-Bug #41633.4 (self:: doesn't work for constants)
---FILE--
-<?php
-class Foo {
-	const A = self::B;
-	const B = "ok";
-}
-var_dump(defined("Foo::A"));
-?>
---EXPECT--
-bool(true)
+--TEST--
+Bug #41633.4 (self:: doesn't work for constants)
+--FILE--
+<?php
+class Foo {
+	const A = self::B;
+	const B = "ok";
+}
+var_dump(defined("Foo::A"));
+?>
+--EXPECT--
+bool(true)
diff --git a/Zend/tests/bug41929.phpt b/Zend/tests/bug41929.phpt
index 7fa4bbc..c332aba 100755
--- a/Zend/tests/bug41929.phpt
+++ b/Zend/tests/bug41929.phpt
@@ -1,24 +1,24 @@
---TEST--
-Bug #41929 (Foreach on object does not iterate over all visible properties)
---FILE--
-<?php
-class C {
-  private $priv = "ok";
-
-  function doLoop() {
-    echo $this->priv,"\n";
-    foreach ($this as $k=>$v) {
-      echo "$k: $v\n";
-    }
-  } 
-}
-
-class D extends C {
-}
-
-$myD = new D;
-$myD->doLoop();
-?>
---EXPECT--
-ok
-priv: ok
+--TEST--
+Bug #41929 (Foreach on object does not iterate over all visible properties)
+--FILE--
+<?php
+class C {
+  private $priv = "ok";
+
+  function doLoop() {
+    echo $this->priv,"\n";
+    foreach ($this as $k=>$v) {
+      echo "$k: $v\n";
+    }
+  } 
+}
+
+class D extends C {
+}
+
+$myD = new D;
+$myD->doLoop();
+?>
+--EXPECT--
+ok
+priv: ok
diff --git a/Zend/tests/bug41961.phpt b/Zend/tests/bug41961.phpt
index 1a6e523..514265b 100755
--- a/Zend/tests/bug41961.phpt
+++ b/Zend/tests/bug41961.phpt
@@ -1,29 +1,29 @@
---TEST--
-Bug #41961 (Ensure search for hidden private methods does not stray from class hierarchy)
---FILE--
-<?php
-X::test();
- 
-/** Class X is related to neither ParentClass nor ChildClass. */
-class X {
-  public static function test() {
-    $myChild = new ChildClass;  
-    $myChild->secret(); // bug - invokes X::secret() instead of ChildClass::secret()
-  }
-  private function secret() {
-    echo "Called private " . __METHOD__ . "() on an instance of: " . get_class($this) . "\n";
-  } 
-}
- 
-class ParentClass { 
-  private function secret() { }
-}
- 
-class ChildClass extends ParentClass {
-  public function secret() {
-    echo "Called public " . __METHOD__ . "() on an instance of: " . get_class($this) . "\n";
-  } 
-}
-?>
---EXPECT--
-Called public ChildClass::secret() on an instance of: ChildClass
+--TEST--
+Bug #41961 (Ensure search for hidden private methods does not stray from class hierarchy)
+--FILE--
+<?php
+X::test();
+ 
+/** Class X is related to neither ParentClass nor ChildClass. */
+class X {
+  public static function test() {
+    $myChild = new ChildClass;  
+    $myChild->secret(); // bug - invokes X::secret() instead of ChildClass::secret()
+  }
+  private function secret() {
+    echo "Called private " . __METHOD__ . "() on an instance of: " . get_class($this) . "\n";
+  } 
+}
+ 
+class ParentClass { 
+  private function secret() { }
+}
+ 
+class ChildClass extends ParentClass {
+  public function secret() {
+    echo "Called public " . __METHOD__ . "() on an instance of: " . get_class($this) . "\n";
+  } 
+}
+?>
+--EXPECT--
+Called public ChildClass::secret() on an instance of: ChildClass
diff --git a/Zend/tests/bug43450.phpt b/Zend/tests/bug43450.phpt
index c55b4f7..926e146 100644
--- a/Zend/tests/bug43450.phpt
+++ b/Zend/tests/bug43450.phpt
@@ -1,35 +1,35 @@
---TEST--
-Bug #43450 (Memory leak on some functions with implicit object __toString() call)
---SKIPIF--
-<?php if (!function_exists('memory_get_usage')) die('memory_get_usage() not installed'); ?>
---FILE--
-<?php
-error_reporting(E_ALL|E_STRICT);
-
-class Foo 
-{
-    public function __toString()
-	{
-	    return __CLASS__;
-	}
-}
-
-$num_repeats = 100000;
-
-$start = (memory_get_usage() / 1024) + 16;
-for ($i=1;$i<$num_repeats;$i++) 
-{
-	$foo = new Foo();
-	md5($foo);
-}
-$end = memory_get_peak_usage() / 1024;
-
-if ($start < $end) {
-	echo 'FAIL';
-} else {
-	echo 'PASS';
-}
-
-?>
---EXPECT--
-PASS
+--TEST--
+Bug #43450 (Memory leak on some functions with implicit object __toString() call)
+--SKIPIF--
+<?php if (!function_exists('memory_get_usage')) die('memory_get_usage() not installed'); ?>
+--FILE--
+<?php
+error_reporting(E_ALL|E_STRICT);
+
+class Foo 
+{
+    public function __toString()
+	{
+	    return __CLASS__;
+	}
+}
+
+$num_repeats = 100000;
+
+$start = (memory_get_usage() / 1024) + 16;
+for ($i=1;$i<$num_repeats;$i++) 
+{
+	$foo = new Foo();
+	md5($foo);
+}
+$end = memory_get_peak_usage() / 1024;
+
+if ($start < $end) {
+	echo 'FAIL';
+} else {
+	echo 'PASS';
+}
+
+?>
+--EXPECT--
+PASS
diff --git a/Zend/tests/bug47109.phpt b/Zend/tests/bug47109.phpt
index b374202..8f810d7 100644
--- a/Zend/tests/bug47109.phpt
+++ b/Zend/tests/bug47109.phpt
@@ -1,11 +1,11 @@
---TEST--
-Bug #47109 (Memory leak on $a->{"a"."b"} when $a is not an object)
---FILE--
-<?php
-$a->{"a"."b"};
-?>
---EXPECTF--
-Notice: Undefined variable: a in %sbug47109.php on line 2
-
-Notice: Trying to get property of non-object in %sbug47109.php on line 2
-
+--TEST--
+Bug #47109 (Memory leak on $a->{"a"."b"} when $a is not an object)
+--FILE--
+<?php
+$a->{"a"."b"};
+?>
+--EXPECTF--
+Notice: Undefined variable: a in %sbug47109.php on line 2
+
+Notice: Trying to get property of non-object in %sbug47109.php on line 2
+
diff --git a/Zend/tests/bug48693.phpt b/Zend/tests/bug48693.phpt
new file mode 100644
index 0000000..e574346
--- /dev/null
+++ b/Zend/tests/bug48693.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Bug #48693 (Double declaration of __lambda_func when lambda wrongly formatted)
+--FILE--
+<?php
+
+$x = create_function('', 'return 1; }');
+$y = create_function('', 'function a() { }; return 2;');
+$z = create_function('', '{');
+$w = create_function('', 'return 3;');
+
+var_dump(
+	$x,
+	$y(),
+	$z,
+	$w(),
+	$y != $z
+);
+
+?>
+--EXPECTF--
+Parse error: syntax error, unexpected '}' in %s(%d) : runtime-created function on line 1
+
+Parse error: syntax error, unexpected $end in %s(%d) : runtime-created function on line 1
+bool(false)
+int(2)
+bool(false)
+int(3)
+bool(true)
diff --git a/Zend/tests/bug48770.phpt b/Zend/tests/bug48770.phpt
new file mode 100644
index 0000000..4e2794a
--- /dev/null
+++ b/Zend/tests/bug48770.phpt
@@ -0,0 +1,51 @@
+--TEST--
+Bug #48770 (call_user_func_array() fails to call parent from inheriting class)
+--FILE--
+<?php
+ 
+class A {
+	public function func($str) {
+		var_dump(__METHOD__ .': '. $str);
+	}
+	private function func2($str) {
+		var_dump(__METHOD__ .': '. $str);
+	}
+	protected function func3($str) {
+		var_dump(__METHOD__ .': '. $str);		
+	}
+	private function func22($str) {
+		var_dump(__METHOD__ .': '. $str);		
+	}
+}
+
+class B extends A {
+	public function func($str) {
+		static $avoid_crash = 0;
+		
+		if ($avoid_crash++ == 1) {
+			print "This method shouldn't be called when using parent::func!\n";
+			return;
+		}
+				
+		call_user_func_array(array($this, 'parent::func'), array($str));
+	}
+	private function func2($str) {
+		var_dump(__METHOD__ .': '. $str);
+	}
+	protected function func3($str) {
+		var_dump(__METHOD__ .': '. $str);
+	}
+}
+
+class C extends B {
+	public function func($str) {
+		parent::func($str);
+	}
+}
+
+$c = new C;
+$c->func('This should work!');
+
+?>
+--EXPECTF--
+%unicode|string%(26) "A::func: This should work!"
diff --git a/Zend/tests/bug49269.phpt b/Zend/tests/bug49269.phpt
new file mode 100644
index 0000000..2de29d8
--- /dev/null
+++ b/Zend/tests/bug49269.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Bug #49269 (Ternary operator fails on Iterator object when used inside foreach declaration).
+--FILE--
+<?php
+class TestObject implements Iterator
+{
+    public $n = 0;
+    function valid()
+    {
+        return ($this->n < 3);
+    }
+    function current() {return $this->n;}
+    function next() {$this->n++;}
+    function key() { }
+    function rewind() {$this->n = 0;}
+}
+
+
+$array_object = new TestObject();
+
+foreach ((true ? $array_object : $array_object) as $item) echo "$item\n";
+?>
+--EXPECT--
+0
+1
+2
diff --git a/Zend/tests/catch.phpt b/Zend/tests/catch.phpt
index 624039a..0ec5cf7 100755
--- a/Zend/tests/catch.phpt
+++ b/Zend/tests/catch.phpt
@@ -1,23 +1,23 @@
---TEST--
-catch shouldn't call __autoload
---FILE--
-<?php
-function __autoload($name) {
-	echo("AUTOLOAD '$name'\n");
-	eval("class $name {}");
-}
-
-
-try {
-} catch (A $e) {
-}
-
-try {
-  throw new Exception();
-} catch (B $e) {
-} catch (Exception $e) {
-	echo "ok\n";
-}
-?>
---EXPECT--
-ok
+--TEST--
+catch shouldn't call __autoload
+--FILE--
+<?php
+function __autoload($name) {
+	echo("AUTOLOAD '$name'\n");
+	eval("class $name {}");
+}
+
+
+try {
+} catch (A $e) {
+}
+
+try {
+  throw new Exception();
+} catch (B $e) {
+} catch (Exception $e) {
+	echo "ok\n";
+}
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/catch_002.phpt b/Zend/tests/catch_002.phpt
index 73fa97b..11d736a 100755
--- a/Zend/tests/catch_002.phpt
+++ b/Zend/tests/catch_002.phpt
@@ -1,33 +1,33 @@
---TEST--
-Catching an exception in a constructor
---FILE--
-<?php
-
-class MyObject
-{
-	function __construct()
-	{
-		throw new Exception();
-		echo __METHOD__ . "() Must not be reached\n";
-	}
-
-	function __destruct()
-	{
-		echo __METHOD__ . "() Must not be called\n";
-	}
-}
-
-try
-{
-	new MyObject();
-}
-catch(Exception $e)
-{
-	echo "Caught\n";
-}
-
-?>
-===DONE===
---EXPECT--
-Caught
-===DONE===
+--TEST--
+Catching an exception in a constructor
+--FILE--
+<?php
+
+class MyObject
+{
+	function __construct()
+	{
+		throw new Exception();
+		echo __METHOD__ . "() Must not be reached\n";
+	}
+
+	function __destruct()
+	{
+		echo __METHOD__ . "() Must not be called\n";
+	}
+}
+
+try
+{
+	new MyObject();
+}
+catch(Exception $e)
+{
+	echo "Caught\n";
+}
+
+?>
+===DONE===
+--EXPECT--
+Caught
+===DONE===
diff --git a/Zend/tests/catch_003.phpt b/Zend/tests/catch_003.phpt
index 9210e3f..414d50f 100755
--- a/Zend/tests/catch_003.phpt
+++ b/Zend/tests/catch_003.phpt
@@ -1,38 +1,38 @@
---TEST--
-Catching an exception in a constructor fired form a static method
---FILE--
-<?php
-
-class MyObject
-{
-	function fail()
-	{
-		throw new Exception();
-	}
-
-	function __construct()
-	{
-		self::fail();
-		echo __METHOD__ . "() Must not be reached\n";
-	}
-
-	function __destruct()
-	{
-		echo __METHOD__ . "() Must not be called\n";
-	}
-}
-
-try
-{
-	new MyObject();
-}
-catch(Exception $e)
-{
-	echo "Caught\n";
-}
-
-?>
-===DONE===
---EXPECT--
-Caught
-===DONE===
+--TEST--
+Catching an exception in a constructor fired form a static method
+--FILE--
+<?php
+
+class MyObject
+{
+	function fail()
+	{
+		throw new Exception();
+	}
+
+	function __construct()
+	{
+		self::fail();
+		echo __METHOD__ . "() Must not be reached\n";
+	}
+
+	function __destruct()
+	{
+		echo __METHOD__ . "() Must not be called\n";
+	}
+}
+
+try
+{
+	new MyObject();
+}
+catch(Exception $e)
+{
+	echo "Caught\n";
+}
+
+?>
+===DONE===
+--EXPECT--
+Caught
+===DONE===
diff --git a/Zend/tests/catch_004.phpt b/Zend/tests/catch_004.phpt
index f1df067..54920b8 100755
--- a/Zend/tests/catch_004.phpt
+++ b/Zend/tests/catch_004.phpt
@@ -1,43 +1,43 @@
---TEST--
-Catching an exception in a constructor inside a static method
---FILE--
-<?php
-
-class MyObject
-{
-	function fail()
-	{
-		throw new Exception();
-	}
-
-	function __construct()
-	{
-		self::fail();
-		echo __METHOD__ . "() Must not be reached\n";
-	}
-
-	function __destruct()
-	{
-		echo __METHOD__ . "() Must not be called\n";
-	}
-	
-	static function test()
-	{
-		try
-		{
-			new MyObject();
-		}
-		catch(Exception $e)
-		{
-			echo "Caught\n";
-		}
-	}
-}
-
-MyObject::test();
-
-?>
-===DONE===
---EXPECT--
-Caught
-===DONE===
+--TEST--
+Catching an exception in a constructor inside a static method
+--FILE--
+<?php
+
+class MyObject
+{
+	function fail()
+	{
+		throw new Exception();
+	}
+
+	function __construct()
+	{
+		self::fail();
+		echo __METHOD__ . "() Must not be reached\n";
+	}
+
+	function __destruct()
+	{
+		echo __METHOD__ . "() Must not be called\n";
+	}
+	
+	static function test()
+	{
+		try
+		{
+			new MyObject();
+		}
+		catch(Exception $e)
+		{
+			echo "Caught\n";
+		}
+	}
+}
+
+MyObject::test();
+
+?>
+===DONE===
+--EXPECT--
+Caught
+===DONE===
diff --git a/Zend/tests/function_exists_error.phpt b/Zend/tests/function_exists_error.phpt
index a4c1294..fe5eae4 100644
--- a/Zend/tests/function_exists_error.phpt
+++ b/Zend/tests/function_exists_error.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test function_exists() function : error conditions 
---INI--
 --FILE--
 <?php
 /* 
diff --git a/Zend/tests/get_required_files.phpt b/Zend/tests/get_required_files.phpt
new file mode 100644
index 0000000..c2ba368
--- /dev/null
+++ b/Zend/tests/get_required_files.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Check if get_required_files works
+--CREDITS--
+Sebastian Schürmann
+sschuermann at chip.de
+Testfest 2009 Munich
+--FILE--
+<?php
+$files = get_required_files();
+var_dump($files);
+?>
+--EXPECTF--
+array(1) {
+  [0]=>
+  %string|unicode%(%d)%s
+}
diff --git a/Zend/tests/halt01.phpt b/Zend/tests/halt01.phpt
index 7233bdc..3af80d0 100644
--- a/Zend/tests/halt01.phpt
+++ b/Zend/tests/halt01.phpt
@@ -1,12 +1,12 @@
---TEST--
-__HALT_COMPILER() basic test
---FILE--
-<?php
-
-print "yo!\n";
-
-__HALT_COMPILER();
-
-none of this should be displayed!
---EXPECT--
-yo!
+--TEST--
+__HALT_COMPILER() basic test
+--FILE--
+<?php
+
+print "yo!\n";
+
+__HALT_COMPILER();
+
+none of this should be displayed!
+--EXPECT--
+yo!
diff --git a/Zend/tests/halt02.phpt b/Zend/tests/halt02.phpt
index 7f707e3..caaa474 100644
--- a/Zend/tests/halt02.phpt
+++ b/Zend/tests/halt02.phpt
@@ -1,13 +1,13 @@
---TEST--
-__HALT_COMPILER() basic test
---FILE--
-<?php
-
-$fp = fopen(__FILE__, "r");
-fseek($fp, __COMPILER_HALT_OFFSET__+1);
-print fread($fp, 1000);
-
-__HALT_COMPILER();
-Overlay information...
---EXPECT--
-Overlay information...
+--TEST--
+__HALT_COMPILER() basic test
+--FILE--
+<?php
+
+$fp = fopen(__FILE__, "r");
+fseek($fp, __COMPILER_HALT_OFFSET__+1);
+print fread($fp, 1000);
+
+__HALT_COMPILER();
+Overlay information...
+--EXPECT--
+Overlay information...
diff --git a/Zend/tests/halt03.phpt b/Zend/tests/halt03.phpt
index a48de3d..6e0931b 100644
--- a/Zend/tests/halt03.phpt
+++ b/Zend/tests/halt03.phpt
@@ -1,10 +1,10 @@
---TEST--
-__HALT_COMPILER() basic test
---FILE--
-<?php
-
-if (true) {
-	__HALT_COMPILER();
-}
---EXPECTF--
-Fatal error: __HALT_COMPILER() can only be used from the outermost scope in %shalt03.php on line %d
+--TEST--
+__HALT_COMPILER() basic test
+--FILE--
+<?php
+
+if (true) {
+	__HALT_COMPILER();
+}
+--EXPECTF--
+Fatal error: __HALT_COMPILER() can only be used from the outermost scope in %shalt03.php on line %d
diff --git a/Zend/tests/instanceof.phpt b/Zend/tests/instanceof.phpt
index edb5923..8bcbede 100755
--- a/Zend/tests/instanceof.phpt
+++ b/Zend/tests/instanceof.phpt
@@ -1,18 +1,18 @@
---TEST--
-instanceof shouldn't call __autoload
---FILE--
-<?php
-function __autoload($name) {
-	echo("AUTOLOAD '$name'\n");
-	eval("class $name {}");
-}
-
-class A {
-}
-$a = new A;
-var_dump($a instanceof B);
-var_dump($a instanceof A);
-?>
---EXPECT--
-bool(false)
-bool(true)
+--TEST--
+instanceof shouldn't call __autoload
+--FILE--
+<?php
+function __autoload($name) {
+	echo("AUTOLOAD '$name'\n");
+	eval("class $name {}");
+}
+
+class A {
+}
+$a = new A;
+var_dump($a instanceof B);
+var_dump($a instanceof A);
+?>
+--EXPECT--
+bool(false)
+bool(true)
diff --git a/Zend/tests/is_a.phpt b/Zend/tests/is_a.phpt
index 03bb033..f24a6aa 100755
--- a/Zend/tests/is_a.phpt
+++ b/Zend/tests/is_a.phpt
@@ -1,50 +1,50 @@
---TEST--
-is_a() and is_subclass_of() shouldn't call __autoload
---INI--
-error_reporting=4095
---FILE--
-<?php
-function __autoload($name) {
-	echo("AUTOLOAD '$name'\n");
-	eval("class $name {}");
-}
-
-class BASE {
-}
-
-interface INT {
-}
-
-class A extends BASE implements INT {
-}
-
-$a = new A;
-var_dump(is_a($a, "B1"));
-var_dump(is_a($a, "A"));
-var_dump(is_a($a, "BASE"));
-var_dump(is_a($a, "INT"));
-var_dump(is_subclass_of($a, "B2"));
-var_dump(is_subclass_of($a, "A"));
-var_dump(is_subclass_of($a, "BASE"));
-var_dump(is_subclass_of($a, "INT"));
-
-var_dump(is_subclass_of("X1", "X2"));
-?>
---EXPECTF--
-Strict Standards: is_a(): Deprecated. Please use the instanceof operator in %sis_a.php on line 17
-bool(false)
-
-Strict Standards: is_a(): Deprecated. Please use the instanceof operator in %sis_a.php on line 18
-bool(true)
-
-Strict Standards: is_a(): Deprecated. Please use the instanceof operator in %sis_a.php on line 19
-bool(true)
-
-Strict Standards: is_a(): Deprecated. Please use the instanceof operator in %sis_a.php on line 20
-bool(true)
-bool(false)
-bool(false)
-bool(true)
-bool(false)
-AUTOLOAD 'X1'
-bool(false)
+--TEST--
+is_a() and is_subclass_of() shouldn't call __autoload
+--INI--
+error_reporting=4095
+--FILE--
+<?php
+function __autoload($name) {
+	echo("AUTOLOAD '$name'\n");
+	eval("class $name {}");
+}
+
+class BASE {
+}
+
+interface INT {
+}
+
+class A extends BASE implements INT {
+}
+
+$a = new A;
+var_dump(is_a($a, "B1"));
+var_dump(is_a($a, "A"));
+var_dump(is_a($a, "BASE"));
+var_dump(is_a($a, "INT"));
+var_dump(is_subclass_of($a, "B2"));
+var_dump(is_subclass_of($a, "A"));
+var_dump(is_subclass_of($a, "BASE"));
+var_dump(is_subclass_of($a, "INT"));
+
+var_dump(is_subclass_of("X1", "X2"));
+?>
+--EXPECTF--
+Strict Standards: is_a(): Deprecated. Please use the instanceof operator in %sis_a.php on line 17
+bool(false)
+
+Strict Standards: is_a(): Deprecated. Please use the instanceof operator in %sis_a.php on line 18
+bool(true)
+
+Strict Standards: is_a(): Deprecated. Please use the instanceof operator in %sis_a.php on line 19
+bool(true)
+
+Strict Standards: is_a(): Deprecated. Please use the instanceof operator in %sis_a.php on line 20
+bool(true)
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+AUTOLOAD 'X1'
+bool(false)
diff --git a/Zend/tests/object_handlers.phpt b/Zend/tests/object_handlers.phpt
index bbc05e3..c14f604 100755
--- a/Zend/tests/object_handlers.phpt
+++ b/Zend/tests/object_handlers.phpt
@@ -1,171 +1,171 @@
---TEST--
-Magic object handlers segfaults and memory errors
---FILE--
-<?php
-function f($x) {
-	return $x;
-}
-
-class foo implements ArrayAccess {
-	function __get($property) {
-		$GLOBALS["y"] = $property;
-	}
-	function __set($property, $value) {
-		$GLOBALS["y"] = $property;
-	}
-	function __call($func, $args) {
-		$GLOBALS["y"] = $func;
-	}
-	function offsetGet($index) {
-		$GLOBALS["y"] = $index;
-	}
-	function offsetSet($index, $newval) {
-		$GLOBALS["y"] = $index;
-	}
-	function offsetExists($index) {
-		$GLOBALS["y"] = $index;
-	}
-	function offsetUnset($index) {
-		$GLOBALS["y"] = $index;
-	}
-}
-
-$x = new foo();
-$y = null;
-
-// IS_CONST
-$z = $x->const_get;
-echo $y,"\n";
-$x->const_set = 1;
-echo $y,"\n";
-$x->const_call();
-echo $y,"\n";
-$z = $x["const_dim_get"];
-echo $y,"\n";
-$x["const_dim_set"] = 1;
-echo $y,"\n";
-isset($x["const_dim_isset"]);
-echo $y,"\n";
-unset($x["const_dim_unset"]);
-echo $y,"\n";
-
-// IS_CONST + conversion
-$z = $x->{1};
-echo $y,"\n";
-$x->{2} = 1;
-echo $y,"\n";
-
-// IS_TMP_VAR
-$c = "tmp";
-$z = $x->{$c."_get"};
-echo $y,"\n";
-$x->{$c."_set"} = 1;
-echo $y,"\n";
-$x->{$c."_call"}();
-echo $y,"\n";
-$z = $x[$c."_dim_get"];
-echo $y,"\n";
-$x[$c."_dim_set"] = 1;
-echo $y,"\n";
-isset($x[$c."_dim_isset"]);
-echo $y,"\n";
-unset($x[$c."_dim_unset"]);
-echo $y,"\n";
-
-// IS_TMP_VAR + conversion
-$c = 0;
-$z = $x->{$c+3};
-echo $y,"\n";
-$x->{$c+4} = 1;
-echo $y,"\n";
-
-// IS_CV
-$c = "cv_get";
-$z = $x->{$c};
-echo $y,"\n";
-$c = "cv_set";
-$x->{$c} = 1;
-echo $y,"\n";
-$c = "cv_call";
-$x->{$c}();
-echo $y,"\n";
-$c = "cv_dim_get";
-$z = $x[$c];
-echo $y,"\n";
-$c = "cv_dim_set";
-$x[$c] = 1;
-echo $y,"\n";
-$c = "cv_dim_isset";
-isset($x[$c]);
-echo $y,"\n";
-$c = "cv_dim_unset";
-unset($x[$c]);
-echo $y,"\n";
-
-// IS_CV + conversion
-$c = 5;
-$z = $x->{$c};
-echo $y,"\n";
-$c = 6;
-$x->{$c} = 1;
-echo $y,"\n";
-
-// IS_VAR
-$z = $x->{f("var_get")};
-echo $y,"\n";
-$x->{f("var_set")} = 1;
-echo $y,"\n";
-$x->{f("var_call")}();
-echo $y,"\n";
-$z = $x[f("var_dim_get")];
-echo $y,"\n";
-$x[f("var_dim_set")] = 1;
-echo $y,"\n";
-isset($x[f("var_dim_isset")]);
-echo $y,"\n";
-unset($x[f("var_dim_unset")]);
-echo $y,"\n";
-
-// IS_VAR + conversion
-$z = $x->{f(7)};
-echo $y,"\n";
-$x->{f(8)} = 1;
-echo $y,"\n";
-?>
---EXPECT--
-const_get
-const_set
-const_call
-const_dim_get
-const_dim_set
-const_dim_isset
-const_dim_unset
-1
-2
-tmp_get
-tmp_set
-tmp_call
-tmp_dim_get
-tmp_dim_set
-tmp_dim_isset
-tmp_dim_unset
-3
-4
-cv_get
-cv_set
-cv_call
-cv_dim_get
-cv_dim_set
-cv_dim_isset
-cv_dim_unset
-5
-6
-var_get
-var_set
-var_call
-var_dim_get
-var_dim_set
-var_dim_isset
-var_dim_unset
-7
-8
+--TEST--
+Magic object handlers segfaults and memory errors
+--FILE--
+<?php
+function f($x) {
+	return $x;
+}
+
+class foo implements ArrayAccess {
+	function __get($property) {
+		$GLOBALS["y"] = $property;
+	}
+	function __set($property, $value) {
+		$GLOBALS["y"] = $property;
+	}
+	function __call($func, $args) {
+		$GLOBALS["y"] = $func;
+	}
+	function offsetGet($index) {
+		$GLOBALS["y"] = $index;
+	}
+	function offsetSet($index, $newval) {
+		$GLOBALS["y"] = $index;
+	}
+	function offsetExists($index) {
+		$GLOBALS["y"] = $index;
+	}
+	function offsetUnset($index) {
+		$GLOBALS["y"] = $index;
+	}
+}
+
+$x = new foo();
+$y = null;
+
+// IS_CONST
+$z = $x->const_get;
+echo $y,"\n";
+$x->const_set = 1;
+echo $y,"\n";
+$x->const_call();
+echo $y,"\n";
+$z = $x["const_dim_get"];
+echo $y,"\n";
+$x["const_dim_set"] = 1;
+echo $y,"\n";
+isset($x["const_dim_isset"]);
+echo $y,"\n";
+unset($x["const_dim_unset"]);
+echo $y,"\n";
+
+// IS_CONST + conversion
+$z = $x->{1};
+echo $y,"\n";
+$x->{2} = 1;
+echo $y,"\n";
+
+// IS_TMP_VAR
+$c = "tmp";
+$z = $x->{$c."_get"};
+echo $y,"\n";
+$x->{$c."_set"} = 1;
+echo $y,"\n";
+$x->{$c."_call"}();
+echo $y,"\n";
+$z = $x[$c."_dim_get"];
+echo $y,"\n";
+$x[$c."_dim_set"] = 1;
+echo $y,"\n";
+isset($x[$c."_dim_isset"]);
+echo $y,"\n";
+unset($x[$c."_dim_unset"]);
+echo $y,"\n";
+
+// IS_TMP_VAR + conversion
+$c = 0;
+$z = $x->{$c+3};
+echo $y,"\n";
+$x->{$c+4} = 1;
+echo $y,"\n";
+
+// IS_CV
+$c = "cv_get";
+$z = $x->{$c};
+echo $y,"\n";
+$c = "cv_set";
+$x->{$c} = 1;
+echo $y,"\n";
+$c = "cv_call";
+$x->{$c}();
+echo $y,"\n";
+$c = "cv_dim_get";
+$z = $x[$c];
+echo $y,"\n";
+$c = "cv_dim_set";
+$x[$c] = 1;
+echo $y,"\n";
+$c = "cv_dim_isset";
+isset($x[$c]);
+echo $y,"\n";
+$c = "cv_dim_unset";
+unset($x[$c]);
+echo $y,"\n";
+
+// IS_CV + conversion
+$c = 5;
+$z = $x->{$c};
+echo $y,"\n";
+$c = 6;
+$x->{$c} = 1;
+echo $y,"\n";
+
+// IS_VAR
+$z = $x->{f("var_get")};
+echo $y,"\n";
+$x->{f("var_set")} = 1;
+echo $y,"\n";
+$x->{f("var_call")}();
+echo $y,"\n";
+$z = $x[f("var_dim_get")];
+echo $y,"\n";
+$x[f("var_dim_set")] = 1;
+echo $y,"\n";
+isset($x[f("var_dim_isset")]);
+echo $y,"\n";
+unset($x[f("var_dim_unset")]);
+echo $y,"\n";
+
+// IS_VAR + conversion
+$z = $x->{f(7)};
+echo $y,"\n";
+$x->{f(8)} = 1;
+echo $y,"\n";
+?>
+--EXPECT--
+const_get
+const_set
+const_call
+const_dim_get
+const_dim_set
+const_dim_isset
+const_dim_unset
+1
+2
+tmp_get
+tmp_set
+tmp_call
+tmp_dim_get
+tmp_dim_set
+tmp_dim_isset
+tmp_dim_unset
+3
+4
+cv_get
+cv_set
+cv_call
+cv_dim_get
+cv_dim_set
+cv_dim_isset
+cv_dim_unset
+5
+6
+var_get
+var_set
+var_call
+var_dim_get
+var_dim_set
+var_dim_isset
+var_dim_unset
+7
+8
diff --git a/Zend/tests/selfParent_001.phpt b/Zend/tests/selfParent_001.phpt
index d279699..9d8cd6e 100755
--- a/Zend/tests/selfParent_001.phpt
+++ b/Zend/tests/selfParent_001.phpt
@@ -1,27 +1,27 @@
---TEST--
-Test when constants are initialised. See also selfParent_002.phpt.
---FILE--
-<?php
-class A {
-	const myConst = "const in A";
-	const myDynConst = self::myConst;
-	
-	public static function test() {
-		var_dump(self::myDynConst);
-	}
-}
-
-class B extends A {
-	const myConst = "const in B";
-
-	public static function test() {
-		var_dump(parent::myDynConst);
-	}
-}
-
-A::test();
-B::test();
-?>
---EXPECT--
-string(10) "const in A"
-string(10) "const in A"
+--TEST--
+Test when constants are initialised. See also selfParent_002.phpt.
+--FILE--
+<?php
+class A {
+	const myConst = "const in A";
+	const myDynConst = self::myConst;
+	
+	public static function test() {
+		var_dump(self::myDynConst);
+	}
+}
+
+class B extends A {
+	const myConst = "const in B";
+
+	public static function test() {
+		var_dump(parent::myDynConst);
+	}
+}
+
+A::test();
+B::test();
+?>
+--EXPECT--
+string(10) "const in A"
+string(10) "const in A"
diff --git a/Zend/tests/selfParent_002.phpt b/Zend/tests/selfParent_002.phpt
index 4512017..18a8f09 100755
--- a/Zend/tests/selfParent_002.phpt
+++ b/Zend/tests/selfParent_002.phpt
@@ -1,27 +1,27 @@
---TEST--
-Test when constants are initialised. See also selfParent_001.phpt.
---FILE--
-<?php
-class A {
-	const myConst = "const in A";
-	const myDynConst = self::myConst;
-	
-	public static function test() {
-		var_dump(self::myDynConst);
-	}
-}
-
-class B extends A {
-	const myConst = "const in B";
-
-	public static function test() {
-		var_dump(parent::myDynConst);
-	}
-}
-
-B::test();
-A::test();
-?>
---EXPECT--
+--TEST--
+Test when constants are initialised. See also selfParent_001.phpt.
+--FILE--
+<?php
+class A {
+	const myConst = "const in A";
+	const myDynConst = self::myConst;
+	
+	public static function test() {
+		var_dump(self::myDynConst);
+	}
+}
+
+class B extends A {
+	const myConst = "const in B";
+
+	public static function test() {
+		var_dump(parent::myDynConst);
+	}
+}
+
+B::test();
+A::test();
+?>
+--EXPECT--
+string(10) "const in A"
 string(10) "const in A"
-string(10) "const in A"
diff --git a/Zend/tests/unexpected_ref_bug.phpt b/Zend/tests/unexpected_ref_bug.phpt
new file mode 100755
index 0000000..61fe1aa
--- /dev/null
+++ b/Zend/tests/unexpected_ref_bug.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Crash when function parameter modified via unexpected reference
+--FILE--
+<?php
+function my_errorhandler($errno,$errormsg) {
+  global $my_var;
+  $my_var = 0;
+  return true;
+}
+set_error_handler("my_errorhandler");
+$my_var = str_repeat("A",64);
+$data = call_user_func_array("explode",array(new StdClass(), &$my_var));
+$my_var=array(1,2,3);
+$data = call_user_func_array("implode",array(&$my_var, new StdClass()));
+echo "Done.\n";
+?>
+--EXPECTF--
+Done.
diff --git a/Zend/tests/unset_cv01.phpt b/Zend/tests/unset_cv01.phpt
index 05270c1..99af118 100644
--- a/Zend/tests/unset_cv01.phpt
+++ b/Zend/tests/unset_cv01.phpt
@@ -1,13 +1,13 @@
---TEST--
-unset() CV 1 (unset() global variable)
---FILE--
-<?php
-$x = "ok\n";
-echo $x;
-unset($x);
-echo $x;
-?>
---EXPECTF--
-ok
-
-Notice: Undefined variable: x in %sunset_cv01.php on line %d
+--TEST--
+unset() CV 1 (unset() global variable)
+--FILE--
+<?php
+$x = "ok\n";
+echo $x;
+unset($x);
+echo $x;
+?>
+--EXPECTF--
+ok
+
+Notice: Undefined variable: x in %sunset_cv01.php on line %d
diff --git a/Zend/tests/unset_cv02.phpt b/Zend/tests/unset_cv02.phpt
index f42d08d..cb24753 100644
--- a/Zend/tests/unset_cv02.phpt
+++ b/Zend/tests/unset_cv02.phpt
@@ -1,13 +1,13 @@
---TEST--
-unset() CV 2 (unset() global variable in $GLOBALS)
---FILE--
-<?php
-$x = "ok\n";
-echo $x;
-unset($GLOBALS["x"]);
-echo $x;
-?>
---EXPECTF--
-ok
-
-Notice: Undefined variable: x in %sunset_cv02.php on line %d
+--TEST--
+unset() CV 2 (unset() global variable in $GLOBALS)
+--FILE--
+<?php
+$x = "ok\n";
+echo $x;
+unset($GLOBALS["x"]);
+echo $x;
+?>
+--EXPECTF--
+ok
+
+Notice: Undefined variable: x in %sunset_cv02.php on line %d
diff --git a/Zend/tests/unset_cv03.phpt b/Zend/tests/unset_cv03.phpt
index 15c7b89..221abe2 100644
--- a/Zend/tests/unset_cv03.phpt
+++ b/Zend/tests/unset_cv03.phpt
@@ -1,13 +1,13 @@
---TEST--
-unset() CV 3 (unset() global variable in included file)
---FILE--
-<?php
-$x = "ok\n";
-echo $x;
-include "unset.inc";
-echo $x;
-?>
---EXPECTF--
-ok
-
-Notice: Undefined variable: x in %sunset_cv03.php on line %d
+--TEST--
+unset() CV 3 (unset() global variable in included file)
+--FILE--
+<?php
+$x = "ok\n";
+echo $x;
+include "unset.inc";
+echo $x;
+?>
+--EXPECTF--
+ok
+
+Notice: Undefined variable: x in %sunset_cv03.php on line %d
diff --git a/Zend/tests/unset_cv04.phpt b/Zend/tests/unset_cv04.phpt
index f0634c3..5044cb1 100644
--- a/Zend/tests/unset_cv04.phpt
+++ b/Zend/tests/unset_cv04.phpt
@@ -1,16 +1,16 @@
---TEST--
-unset() CV 4 (unset() local variable in included file)
---FILE--
-<?php
-function f() {
-  $x = "ok\n";
-  echo $x;
-  include "unset.inc";
-  echo $x;
-}
-f();
-?>
---EXPECTF--
-ok
-
-Notice: Undefined variable: x in %sunset_cv04.php on line %d
+--TEST--
+unset() CV 4 (unset() local variable in included file)
+--FILE--
+<?php
+function f() {
+  $x = "ok\n";
+  echo $x;
+  include "unset.inc";
+  echo $x;
+}
+f();
+?>
+--EXPECTF--
+ok
+
+Notice: Undefined variable: x in %sunset_cv04.php on line %d
diff --git a/Zend/tests/unset_cv05.phpt b/Zend/tests/unset_cv05.phpt
index 5d26535..bc023c4 100644
--- a/Zend/tests/unset_cv05.phpt
+++ b/Zend/tests/unset_cv05.phpt
@@ -1,28 +1,28 @@
---TEST--
-unset() CV 5 (indirect unset() of global variable in session_start())
---INI--
-register_long_arrays=1
-session.auto_start=0
-session.save_handler=files
---SKIPIF--
-<?php 
-
-include(dirname(__FILE__).'/../../ext/session/tests/skipif.inc'); 
-
-?>
---FILE--
-<?php
-$HTTP_SESSION_VARS = "ok\n";
-echo $HTTP_SESSION_VARS;
-session_start();
-echo $HTTP_SESSION_VARS;
-echo "\nok\n";
-?>
---EXPECTF--
-ok
-
-Warning: session_start(): Cannot send session cookie - headers already sent by (output started at %sunset_cv05.php on line %d
-
-Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at %sunset_cv05.php:%d) in %sunset_cv05.php on line %d
-Array
-ok
+--TEST--
+unset() CV 5 (indirect unset() of global variable in session_start())
+--INI--
+register_long_arrays=1
+session.auto_start=0
+session.save_handler=files
+--SKIPIF--
+<?php 
+
+include(dirname(__FILE__).'/../../ext/session/tests/skipif.inc'); 
+
+?>
+--FILE--
+<?php
+$HTTP_SESSION_VARS = "ok\n";
+echo $HTTP_SESSION_VARS;
+session_start();
+echo $HTTP_SESSION_VARS;
+echo "\nok\n";
+?>
+--EXPECTF--
+ok
+
+Warning: session_start(): Cannot send session cookie - headers already sent by (output started at %sunset_cv05.php on line %d
+
+Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at %sunset_cv05.php:%d) in %sunset_cv05.php on line %d
+Array
+ok
diff --git a/Zend/tests/unset_cv06.phpt b/Zend/tests/unset_cv06.phpt
index fa414b2..af21164 100644
--- a/Zend/tests/unset_cv06.phpt
+++ b/Zend/tests/unset_cv06.phpt
@@ -1,26 +1,26 @@
---TEST--
-unset() CV 6 (indirect unset() of global variable in session_unset())
---SKIPIF--
-<?php include(dirname(__FILE__).'/../../ext/session/tests/skipif.inc'); ?>
---INI--
-register_globals=1
-session.auto_start=0
-session.save_handler=files
---FILE--
-<?php
-$x = "1\n";
-session_start();
-echo $x;
-session_register('x');
-$_SESSION['x'] = "2\n";
-echo $x;
-session_unset();
-echo $x;
-echo "ok\n";
-?>
---EXPECTF--
-1
-2
-
-Notice: Undefined variable: x in %sunset_cv06.php on line %d
-ok
+--TEST--
+unset() CV 6 (indirect unset() of global variable in session_unset())
+--SKIPIF--
+<?php include(dirname(__FILE__).'/../../ext/session/tests/skipif.inc'); ?>
+--INI--
+register_globals=1
+session.auto_start=0
+session.save_handler=files
+--FILE--
+<?php
+$x = "1\n";
+session_start();
+echo $x;
+session_register('x');
+$_SESSION['x'] = "2\n";
+echo $x;
+session_unset();
+echo $x;
+echo "ok\n";
+?>
+--EXPECTF--
+1
+2
+
+Notice: Undefined variable: x in %sunset_cv06.php on line %d
+ok
diff --git a/Zend/tests/unset_cv07.phpt b/Zend/tests/unset_cv07.phpt
index fe16abf..b7bdb7d 100644
--- a/Zend/tests/unset_cv07.phpt
+++ b/Zend/tests/unset_cv07.phpt
@@ -1,7 +1,5 @@
 --TEST--
 unset() CV 7 (indirect unset() of global variable in import_request_variables())
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --GET--
 x=2
 --FILE--
diff --git a/Zend/tests/unset_cv08.phpt b/Zend/tests/unset_cv08.phpt
index d5d52ef..1c4015a 100644
--- a/Zend/tests/unset_cv08.phpt
+++ b/Zend/tests/unset_cv08.phpt
@@ -1,15 +1,15 @@
---TEST--
-unset() CV 8 (unset() of global variable in array_unique($GLOBALS))
---FILE--
-<?php
-$a = "ok\n";
-$b = "ok\n";
-array_unique($GLOBALS);
-echo $a;
-echo $b;
-echo "ok\n";
-?>
---EXPECTF--
-ok
-ok
-ok
+--TEST--
+unset() CV 8 (unset() of global variable in array_unique($GLOBALS))
+--FILE--
+<?php
+$a = "ok\n";
+$b = "ok\n";
+array_unique($GLOBALS);
+echo $a;
+echo $b;
+echo "ok\n";
+?>
+--EXPECTF--
+ok
+ok
+ok
diff --git a/Zend/tests/unset_cv09.phpt b/Zend/tests/unset_cv09.phpt
index 7b0f9bf..a5407ad 100644
--- a/Zend/tests/unset_cv09.phpt
+++ b/Zend/tests/unset_cv09.phpt
@@ -1,14 +1,14 @@
---TEST--
-unset() CV 9 (unset() of global variable in array_pop($GLOBALS))
---FILE--
-<?php
-$x = "ok\n";
-echo array_pop($GLOBALS);
-echo $x;
-echo "ok\n";
-?>
---EXPECTF--
-ok
-
-Notice: Undefined variable: x in %sunset_cv09.php on line %d
-ok
+--TEST--
+unset() CV 9 (unset() of global variable in array_pop($GLOBALS))
+--FILE--
+<?php
+$x = "ok\n";
+echo array_pop($GLOBALS);
+echo $x;
+echo "ok\n";
+?>
+--EXPECTF--
+ok
+
+Notice: Undefined variable: x in %sunset_cv09.php on line %d
+ok
diff --git a/Zend/tests/unset_cv10.phpt b/Zend/tests/unset_cv10.phpt
index 57e76fb..0eb4192 100644
--- a/Zend/tests/unset_cv10.phpt
+++ b/Zend/tests/unset_cv10.phpt
@@ -1,18 +1,18 @@
---TEST--
-unset() CV 10 (unset() of global variable in ArrayObject::offsetUnset($GLOBALS))
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---FILE--
-<?php
-$a = new ArrayObject($GLOBALS);
-$x = "ok\n";
-echo $x;
-$a->offsetUnset('x');
-echo $x;
-echo "ok\n";
-?>
---EXPECTF--
-ok
-
-Notice: Undefined variable: x in %sunset_cv10.php on line %d
-ok
+--TEST--
+unset() CV 10 (unset() of global variable in ArrayObject::offsetUnset($GLOBALS))
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+$a = new ArrayObject($GLOBALS);
+$x = "ok\n";
+echo $x;
+$a->offsetUnset('x');
+echo $x;
+echo "ok\n";
+?>
+--EXPECTF--
+ok
+
+Notice: Undefined variable: x in %sunset_cv10.php on line %d
+ok
diff --git a/Zend/tests/unset_cv11.phpt b/Zend/tests/unset_cv11.phpt
index 9ebc3fa..152ea02 100644
--- a/Zend/tests/unset_cv11.phpt
+++ b/Zend/tests/unset_cv11.phpt
@@ -1,21 +1,21 @@
---TEST--
-unset() CV 11 (unset() of copy destoies original value)
---FILE--
-<?php
-$x = array("default"=>"ok");
-var_dump($x);
-$cf = $x;
-unset($cf['default']);
-var_dump($x);
-echo "ok\n";
-?>
---EXPECT--
-array(1) {
-  ["default"]=>
-  string(2) "ok"
-}
-array(1) {
-  ["default"]=>
-  string(2) "ok"
-}
-ok
+--TEST--
+unset() CV 11 (unset() of copy destoies original value)
+--FILE--
+<?php
+$x = array("default"=>"ok");
+var_dump($x);
+$cf = $x;
+unset($cf['default']);
+var_dump($x);
+echo "ok\n";
+?>
+--EXPECT--
+array(1) {
+  ["default"]=>
+  string(2) "ok"
+}
+array(1) {
+  ["default"]=>
+  string(2) "ok"
+}
+ok
diff --git a/Zend/tests/unset_cv12.phpt b/Zend/tests/unset_cv12.phpt
index dd45447..a22b13d 100755
--- a/Zend/tests/unset_cv12.phpt
+++ b/Zend/tests/unset_cv12.phpt
@@ -1,11 +1,11 @@
---TEST--
-unset() CV 12 (unset() in indirect called function)
---FILE--
-<?php
-$x = 1;
-function foo() {unset($GLOBALS["x"]);}
-call_user_func("foo");
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+unset() CV 12 (unset() in indirect called function)
+--FILE--
+<?php
+$x = 1;
+function foo() {unset($GLOBALS["x"]);}
+call_user_func("foo");
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/zend_operators.phpt b/Zend/tests/zend_operators.phpt
index 99fdf02..7fb9f35 100644
--- a/Zend/tests/zend_operators.phpt
+++ b/Zend/tests/zend_operators.phpt
@@ -1,7 +1,7 @@
 --TEST--
 Operator precedence
 --FILE--
-<?php /* $Id: zend_operators.phpt,v 1.1 2004/03/04 10:58:49 derick Exp $ */
+<?php /* $Id: zend_operators.phpt 152904 2004-03-04 10:58:49Z derick $ */
 
 var_dump((object)1 instanceof stdClass);
 var_dump(! (object)1 instanceof Exception);
diff --git a/Zend/zend.c b/Zend/zend.c
index 4b4d498..da7bce9 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend.c,v 1.308.2.12.2.39 2009/06/16 16:09:04 rasmus Exp $ */
+/* $Id: zend.c 282249 2009-06-16 16:09:04Z rasmus $ */
 
 #include "zend.h"
 #include "zend_extensions.h"
diff --git a/Zend/zend.h b/Zend/zend.h
index 546de0c..0155bbe 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend.h,v 1.293.2.11.2.16 2009/06/17 08:57:04 rasmus Exp $ */
+/* $Id: zend.h 288110 2009-09-06 15:56:58Z pajoye $ */
 
 #ifndef ZEND_H
 #define ZEND_H
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 7edacde..368dfc5 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_API.c,v 1.296.2.27.2.42 2009/03/24 16:36:20 dmitry Exp $ */
+/* $Id: zend_API.c 288089 2009-09-05 19:01:06Z pajoye $ */
 
 #include "zend.h"
 #include "zend_execute.h"
@@ -901,21 +901,21 @@ ZEND_API void zend_update_class_constants(zend_class_entry *class_type TSRMLS_DC
 
 				zend_hash_get_current_key_ex(&class_type->default_static_members, &str_index, &str_length, &num_index, 0, &pos);
 				if ((*p)->is_ref &&
-				    class_type->parent &&
-				    zend_hash_find(&class_type->parent->default_static_members, str_index, str_length, (void**)&q) == SUCCESS &&
-				    *p == *q &&
-				    zend_hash_find(CE_STATIC_MEMBERS(class_type->parent), str_index, str_length, (void**)&q) == SUCCESS) {
+					class_type->parent &&
+					zend_hash_find(&class_type->parent->default_static_members, str_index, str_length, (void**)&q) == SUCCESS &&
+					*p == *q &&
+					zend_hash_find(CE_STATIC_MEMBERS(class_type->parent), str_index, str_length, (void**)&q) == SUCCESS) {
 					(*q)->refcount++;
 					(*q)->is_ref = 1;
 					zend_hash_add(CE_STATIC_MEMBERS(class_type), str_index, str_length, (void**)q, sizeof(zval*), NULL);
 				} else {
-					zval *q;
+					zval *r;
 
-					ALLOC_ZVAL(q);
-					*q = **p;
-					INIT_PZVAL(q);
-					zval_copy_ctor(q);
-					zend_hash_add(CE_STATIC_MEMBERS(class_type), str_index, str_length, (void**)&q, sizeof(zval*), NULL);
+					ALLOC_ZVAL(r);
+					*r = **p;
+					INIT_PZVAL(r);
+					zval_copy_ctor(r);
+					zend_hash_add(CE_STATIC_MEMBERS(class_type), str_index, str_length, (void**)&r, sizeof(zval*), NULL);
 				}
 				zend_hash_move_forward_ex(&class_type->default_static_members, &pos);
 			}
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index 19cfd43..a245ea9 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_API.h,v 1.207.2.8.2.10 2008/12/31 11:17:32 sebastian Exp $ */
+/* $Id: zend_API.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_API_H
 #define ZEND_API_H
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index 85054a9..f2dfa97 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_alloc.c,v 1.144.2.3.2.56 2009/05/30 16:42:24 lbarnaud Exp $ */
+/* $Id: zend_alloc.c 281439 2009-05-30 16:42:24Z lbarnaud $ */
 
 #include "zend.h"
 #include "zend_alloc.h"
diff --git a/Zend/zend_alloc.h b/Zend/zend_alloc.h
index 75c0c3f..7536320 100644
--- a/Zend/zend_alloc.h
+++ b/Zend/zend_alloc.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_alloc.h,v 1.63.2.2.2.17 2009/01/25 13:42:39 dsp Exp $ */
+/* $Id: zend_alloc.h 282918 2009-06-28 09:47:42Z pajoye $ */
 
 #ifndef ZEND_ALLOC_H
 #define ZEND_ALLOC_H
@@ -89,7 +89,7 @@ inline static void * __zend_malloc(size_t len)
 inline static void * __zend_calloc(size_t nmemb, size_t len)
 {
 	void *tmp = _safe_malloc(nmemb, len, 0);
-	memset(tmp, 0, len);
+	memset(tmp, 0, nmemb * len);
 	return tmp;
 }
 
diff --git a/Zend/zend_arg_defs.c b/Zend/zend_arg_defs.c
index 78e18b7..e0887fe 100644
--- a/Zend/zend_arg_defs.c
+++ b/Zend/zend_arg_defs.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_arg_defs.c,v 1.2.2.2.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_arg_defs.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 ZEND_BEGIN_ARG_INFO(first_arg_force_ref, 0)
 	ZEND_ARG_PASS_INFO(1)
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index b8433cb..17a813a 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_builtin_functions.c,v 1.277.2.12.2.39 2009/06/08 21:17:12 pajoye Exp $ */
+/* $Id: zend_builtin_functions.c 282907 2009-06-28 01:16:36Z felipe $ */
 
 #include "zend.h"
 #include "zend_API.h"
@@ -33,7 +33,7 @@ static ZEND_FUNCTION(zend_version);
 static ZEND_FUNCTION(func_num_args);
 static ZEND_FUNCTION(func_get_arg);
 static ZEND_FUNCTION(func_get_args);
-static ZEND_NAMED_FUNCTION(zend_if_strlen);
+static ZEND_FUNCTION(strlen);
 static ZEND_FUNCTION(strcmp);
 static ZEND_FUNCTION(strncmp);
 static ZEND_FUNCTION(strcasecmp);
@@ -93,7 +93,7 @@ static zend_function_entry builtin_functions[] = {
 	ZEND_FE(func_num_args,		NULL)
 	ZEND_FE(func_get_arg,		NULL)
 	ZEND_FE(func_get_args,		NULL)
-	{ "strlen", zend_if_strlen, NULL },
+	ZEND_FE(strlen,				NULL)
 	ZEND_FE(strcmp,				NULL)
 	ZEND_FE(strncmp,			NULL)
 	ZEND_FE(strcasecmp,			NULL)
@@ -275,7 +275,7 @@ ZEND_FUNCTION(func_get_args)
 
 /* {{{ proto int strlen(string str)
    Get string length */
-ZEND_NAMED_FUNCTION(zend_if_strlen)
+ZEND_FUNCTION(strlen)
 {
 	zval **str;
 
@@ -1516,6 +1516,7 @@ ZEND_FUNCTION(create_function)
 		zend_hash_del(EG(function_table), LAMBDA_TEMP_FUNCNAME, sizeof(LAMBDA_TEMP_FUNCNAME));
 		RETURN_STRINGL(function_name, function_name_length, 0);
 	} else {
+		zend_hash_del(EG(function_table), LAMBDA_TEMP_FUNCNAME, sizeof(LAMBDA_TEMP_FUNCNAME));
 		RETURN_FALSE;
 	}
 }
@@ -1618,15 +1619,15 @@ ZEND_FUNCTION(get_loaded_extensions)
    Return an array containing the names and values of all defined constants */
 ZEND_FUNCTION(get_defined_constants)
 {
-	int argc = ZEND_NUM_ARGS();
+	zend_bool categorize = 0;
 
-	if (argc != 0 && argc != 1) {
-		ZEND_WRONG_PARAM_COUNT();
+	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &categorize) == FAILURE) {
+		return;
 	}
 
 	array_init(return_value);
 
-	if (argc) {
+	if (categorize) {
 		HashPosition pos;
 		zend_constant *val;
 		int module_number;
diff --git a/Zend/zend_builtin_functions.h b/Zend/zend_builtin_functions.h
index b8b087e..e4450c4 100644
--- a/Zend/zend_builtin_functions.h
+++ b/Zend/zend_builtin_functions.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_builtin_functions.h,v 1.17.2.2.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_builtin_functions.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_BUILTIN_FUNCTIONS_H
 #define ZEND_BUILTIN_FUNCTIONS_H
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 8ad2fe6..8a620ff 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_compile.c,v 1.647.2.27.2.57 2009/05/08 17:50:58 mattwil Exp $ */
+/* $Id: zend_compile.c 280170 2009-05-08 17:50:58Z mattwil $ */
 
 #include <zend_language_parser.h>
 #include "zend.h"
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index fed2b78..2225107 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_compile.h,v 1.316.2.8.2.16 2009/01/21 10:15:46 dmitry Exp $ */
+/* $Id: zend_compile.h 274078 2009-01-21 10:15:49Z dmitry $ */
 
 #ifndef ZEND_COMPILE_H
 #define ZEND_COMPILE_H
diff --git a/Zend/zend_config.nw.h b/Zend/zend_config.nw.h
index 0ff7ebb..1819036 100644
--- a/Zend/zend_config.nw.h
+++ b/Zend/zend_config.nw.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_config.nw.h,v 1.8.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_config.nw.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_CONFIG_NW_H
 #define ZEND_CONFIG_NW_H
diff --git a/Zend/zend_config.w32.h b/Zend/zend_config.w32.h
index a71dce3..d0a3f1d 100644
--- a/Zend/zend_config.w32.h
+++ b/Zend/zend_config.w32.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_config.w32.h,v 1.39.2.2.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_config.w32.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_CONFIG_W32_H
 #define ZEND_CONFIG_W32_H
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index fd090a3..cdaba29 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_constants.c,v 1.71.2.5.2.10 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_constants.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 #include "zend_constants.h"
diff --git a/Zend/zend_constants.h b/Zend/zend_constants.h
index a9187f5..0a60747 100644
--- a/Zend/zend_constants.h
+++ b/Zend/zend_constants.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_constants.h,v 1.31.2.2.2.5 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_constants.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_CONSTANTS_H
 #define ZEND_CONSTANTS_H
diff --git a/Zend/zend_default_classes.c b/Zend/zend_default_classes.c
index 2cc46a5..7c4efa9 100644
--- a/Zend/zend_default_classes.c
+++ b/Zend/zend_default_classes.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_default_classes.c,v 1.59.2.2.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_default_classes.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 #include "zend_API.h"
diff --git a/Zend/zend_dynamic_array.c b/Zend/zend_dynamic_array.c
index 18e1ed3..22b4268 100644
--- a/Zend/zend_dynamic_array.c
+++ b/Zend/zend_dynamic_array.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_dynamic_array.c,v 1.13.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_dynamic_array.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 
diff --git a/Zend/zend_dynamic_array.h b/Zend/zend_dynamic_array.h
index b34a7e7..111e74f 100644
--- a/Zend/zend_dynamic_array.h
+++ b/Zend/zend_dynamic_array.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_dynamic_array.h,v 1.14.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_dynamic_array.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_DYNAMIC_ARRAY_H
 #define ZEND_DYNAMIC_ARRAY_H
diff --git a/Zend/zend_errors.h b/Zend/zend_errors.h
index f3659d9..e6ac726 100644
--- a/Zend/zend_errors.h
+++ b/Zend/zend_errors.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_errors.h,v 1.18.2.1.2.7 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_errors.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_ERRORS_H
 #define ZEND_ERRORS_H
diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c
index 470017d..77707eb 100644
--- a/Zend/zend_exceptions.c
+++ b/Zend/zend_exceptions.c
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_exceptions.c,v 1.79.2.6.2.13 2009/05/11 15:13:35 felipe Exp $ */
+/* $Id: zend_exceptions.c 280363 2009-05-11 15:13:35Z felipe $ */
 
 #include "zend.h"
 #include "zend_API.h"
diff --git a/Zend/zend_exceptions.h b/Zend/zend_exceptions.h
index f875512..1bd3c9c 100644
--- a/Zend/zend_exceptions.h
+++ b/Zend/zend_exceptions.h
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_exceptions.h,v 1.21.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_exceptions.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_EXCEPTIONS_H
 #define ZEND_EXCEPTIONS_H
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 824bd0b..c7ad61f 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_execute.c,v 1.716.2.12.2.33 2009/04/06 23:56:20 felipe Exp $ */
+/* $Id: zend_execute.c 278340 2009-04-06 23:56:20Z felipe $ */
 
 #define ZEND_INTENSIVE_DEBUGGING 0
 
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h
index 8f884e4..2f7e942 100644
--- a/Zend/zend_execute.h
+++ b/Zend/zend_execute.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_execute.h,v 1.84.2.4.2.12 2009/06/14 10:05:11 pajoye Exp $ */
+/* $Id: zend_execute.h 282105 2009-06-14 10:05:11Z pajoye $ */
 
 #ifndef ZEND_EXECUTE_H
 #define ZEND_EXECUTE_H
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 085061f..bceff0e 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_execute_API.c,v 1.331.2.20.2.31 2009/04/08 00:28:04 felipe Exp $ */
+/* $Id: zend_execute_API.c 288345 2009-09-15 00:09:13Z moriyoshi $ */
 
 #include <stdio.h>
 #include <signal.h>
@@ -921,6 +921,12 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
 	for (i=0; i<fci->param_count; i++) {
 		zval *param;
 
+		if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION
+			&& !ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
+			&& PZVAL_IS_REF(*fci->params[i])) {
+			SEPARATE_ZVAL(fci->params[i]);
+		}
+
 		if (ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i+1)
 			&& !PZVAL_IS_REF(*fci->params[i])) {
 			if ((*fci->params[i])->refcount>1) {
@@ -1206,13 +1212,16 @@ ZEND_API int zend_eval_string(char *str, zval *retval_ptr, char *string_name TSR
 		zval *local_retval_ptr=NULL;
 		zval **original_return_value_ptr_ptr = EG(return_value_ptr_ptr);
 		zend_op **original_opline_ptr = EG(opline_ptr);
+		int orig_interactive = CG(interactive);
 
 		EG(return_value_ptr_ptr) = &local_retval_ptr;
 		EG(active_op_array) = new_op_array;
 		EG(no_extensions)=1;
+		CG(interactive) = 0;
 
 		zend_execute(new_op_array TSRMLS_CC);
 
+		CG(interactive) = orig_interactive;
 		if (local_retval_ptr) {
 			if (retval_ptr) {
 				COPY_PZVAL_TO_ZVAL(*retval_ptr, local_retval_ptr);
@@ -1259,6 +1268,7 @@ void execute_new_code(TSRMLS_D)
 	zend_op *opline, *end;
 	zend_op *ret_opline;
 	zval *local_retval=NULL;
+	int orig_interactive;
 
 	if (!(CG(active_op_array)->fn_flags & ZEND_ACC_INTERACTIVE)
 		|| CG(active_op_array)->backpatch_count>0
@@ -1308,7 +1318,10 @@ void execute_new_code(TSRMLS_D)
 
 	EG(return_value_ptr_ptr) = &local_retval;
 	EG(active_op_array) = CG(active_op_array);
+	orig_interactive = CG(interactive);
+	CG(interactive) = 0;
 	zend_execute(CG(active_op_array) TSRMLS_CC);
+	CG(interactive) = orig_interactive;
 	if (local_retval) {
 		zval_ptr_dtor(&local_retval);
 	}
diff --git a/Zend/zend_extensions.c b/Zend/zend_extensions.c
index c388802..0d303a8 100644
--- a/Zend/zend_extensions.c
+++ b/Zend/zend_extensions.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_extensions.c,v 1.48.2.1.2.5 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_extensions.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend_extensions.h"
 
diff --git a/Zend/zend_extensions.h b/Zend/zend_extensions.h
index 634a532..75744bd 100644
--- a/Zend/zend_extensions.h
+++ b/Zend/zend_extensions.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_extensions.h,v 1.67.2.3.2.5 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_extensions.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_EXTENSIONS_H
 #define ZEND_EXTENSIONS_H
diff --git a/Zend/zend_fast_cache.h b/Zend/zend_fast_cache.h
index f054a0a..aab11c6 100644
--- a/Zend/zend_fast_cache.h
+++ b/Zend/zend_fast_cache.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_fast_cache.h,v 1.21.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_fast_cache.h 272374 2008-12-31 11:17:49Z sebastian $ */
 #if 0
 #ifndef ZEND_FAST_CACHE_H
 #define ZEND_FAST_CACHE_H
diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h
index 79fa71b..2768800 100644
--- a/Zend/zend_globals.h
+++ b/Zend/zend_globals.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_globals.h,v 1.141.2.3.2.9 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_globals.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_GLOBALS_H
 #define ZEND_GLOBALS_H
diff --git a/Zend/zend_globals_macros.h b/Zend/zend_globals_macros.h
index 52d3f92..8f643fd 100644
--- a/Zend/zend_globals_macros.h
+++ b/Zend/zend_globals_macros.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_globals_macros.h,v 1.22.2.1.2.6 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_globals_macros.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_GLOBALS_MACROS_H
 #define ZEND_GLOBALS_MACROS_H
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c
index 8e27653..36ed543 100644
--- a/Zend/zend_hash.c
+++ b/Zend/zend_hash.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_hash.c,v 1.121.2.4.2.11 2009/06/07 19:28:32 mattwil Exp $ */
+/* $Id: zend_hash.c 281779 2009-06-07 19:28:33Z mattwil $ */
 
 #include "zend.h"
 
diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h
index 6904112..ea3bf66 100644
--- a/Zend/zend_hash.h
+++ b/Zend/zend_hash.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_hash.h,v 1.78.2.2.2.5 2009/05/14 01:28:15 mattwil Exp $ */
+/* $Id: zend_hash.h 280482 2009-05-14 01:28:15Z mattwil $ */
 
 #ifndef ZEND_HASH_H
 #define ZEND_HASH_H
diff --git a/Zend/zend_highlight.c b/Zend/zend_highlight.c
index 7a09246..3950970 100644
--- a/Zend/zend_highlight.c
+++ b/Zend/zend_highlight.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_highlight.c,v 1.49.2.3.2.5 2009/05/08 17:50:58 mattwil Exp $ */
+/* $Id: zend_highlight.c 280170 2009-05-08 17:50:58Z mattwil $ */
 
 #include "zend.h"
 #include <zend_language_parser.h>
diff --git a/Zend/zend_highlight.h b/Zend/zend_highlight.h
index 3c26e3b..fbefb76 100644
--- a/Zend/zend_highlight.h
+++ b/Zend/zend_highlight.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_highlight.h,v 1.25.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_highlight.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_HIGHLIGHT_H
 #define ZEND_HIGHLIGHT_H
diff --git a/Zend/zend_indent.c b/Zend/zend_indent.c
index 79ec45a..758de09 100644
--- a/Zend/zend_indent.c
+++ b/Zend/zend_indent.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_indent.c,v 1.24.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_indent.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* This indenter doesn't really work, it's here for no particular reason. */
 
diff --git a/Zend/zend_indent.h b/Zend/zend_indent.h
index b4fa1fe..70c5748 100644
--- a/Zend/zend_indent.h
+++ b/Zend/zend_indent.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_indent.h,v 1.17.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_indent.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_INDENT_H
 #define ZEND_INDENT_H
diff --git a/Zend/zend_ini.c b/Zend/zend_ini.c
index 4e8e22b..a74b12f 100644
--- a/Zend/zend_ini.c
+++ b/Zend/zend_ini.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini.c,v 1.39.2.2.2.28 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_ini.c 284254 2009-07-17 11:49:50Z jani $ */
 
 #include "zend.h"
 #include "zend_qsort.h"
@@ -46,15 +46,21 @@ static int zend_remove_ini_entries(zend_ini_entry *ini_entry, int *module_number
 
 static int zend_restore_ini_entry_cb(zend_ini_entry *ini_entry, int stage TSRMLS_DC) /* {{{ */
 {
+	int result = FAILURE;
+
 	if (ini_entry->modified) {
 		if (ini_entry->on_modify) {
 			zend_try {
 			/* even if on_modify bails out, we have to continue on with restoring,
 				since there can be allocated variables that would be freed on MM shutdown
 				and would lead to memory corruption later ini entry is modified again */
-				ini_entry->on_modify(ini_entry, ini_entry->orig_value, ini_entry->orig_value_length, ini_entry->mh_arg1, ini_entry->mh_arg2, ini_entry->mh_arg3, stage TSRMLS_CC);
+				result = ini_entry->on_modify(ini_entry, ini_entry->orig_value, ini_entry->orig_value_length, ini_entry->mh_arg1, ini_entry->mh_arg2, ini_entry->mh_arg3, stage TSRMLS_CC);
 			} zend_end_try();
 		}
+		if (stage == ZEND_INI_STAGE_RUNTIME && result == FAILURE) {
+			/* runtime failure is OK */
+			return 1;
+		}
 		if (ini_entry->value != ini_entry->orig_value) {
 			efree(ini_entry->value);
 		}
@@ -310,8 +316,11 @@ ZEND_API int zend_restore_ini_entry(char *name, uint name_length, int stage) /*
 	}
 
 	if (EG(modified_ini_directives)) {
-		zend_restore_ini_entry_cb(ini_entry, stage TSRMLS_CC);
-		zend_hash_del(EG(modified_ini_directives), name, name_length);
+		if (zend_restore_ini_entry_cb(ini_entry, stage TSRMLS_CC) == 0) {
+			zend_hash_del(EG(modified_ini_directives), name, name_length);
+		} else {
+			return FAILURE;
+		}
 	}
 
 	return SUCCESS;
diff --git a/Zend/zend_ini.h b/Zend/zend_ini.h
index 40e7569..3cbeed1 100644
--- a/Zend/zend_ini.h
+++ b/Zend/zend_ini.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini.h,v 1.34.2.1.2.8 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_ini.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_INI_H
 #define ZEND_INI_H
diff --git a/Zend/zend_ini_parser.c b/Zend/zend_ini_parser.c
index cef2d6a..54ee3fd 100644
--- a/Zend/zend_ini_parser.c
+++ b/Zend/zend_ini_parser.c
@@ -116,7 +116,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini_parser.y,v 1.41.2.2.2.4 2008/12/31 11:16:12 sebastian Exp $ */
+/* $Id: zend_ini_parser.y 272371 2008-12-31 11:16:12Z sebastian $ */
 
 #define DEBUG_CFG_PARSER 0
 #include "zend.h"
diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y
index 73fd50b..b6b006f 100644
--- a/Zend/zend_ini_parser.y
+++ b/Zend/zend_ini_parser.y
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini_parser.y,v 1.41.2.2.2.4 2008/12/31 11:16:12 sebastian Exp $ */
+/* $Id: zend_ini_parser.y 272371 2008-12-31 11:16:12Z sebastian $ */
 
 #define DEBUG_CFG_PARSER 0
 #include "zend.h"
diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c
index e4c6068..f7a1823 100644
--- a/Zend/zend_ini_scanner.c
+++ b/Zend/zend_ini_scanner.c
@@ -18,7 +18,7 @@
 /* A Lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /repository/ZendEngine2/Attic/flex.skl,v 1.31.6.1 2009/04/27 19:54:34 felipe Exp $
+ * $Header$
  * vim:ft=lex:
  */
 
@@ -498,7 +498,7 @@ char *yytext;
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini_scanner.l,v 1.41.2.2.2.2 2007/07/23 16:17:10 jani Exp $ */
+/* $Id: zend_ini_scanner.l 240224 2007-07-23 16:17:10Z jani $ */
 
 #define yyleng SCNG(yy_leng)
 #define yytext SCNG(yy_text)
diff --git a/Zend/zend_ini_scanner.h b/Zend/zend_ini_scanner.h
index 3824790..b125ab5 100644
--- a/Zend/zend_ini_scanner.h
+++ b/Zend/zend_ini_scanner.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini_scanner.h,v 1.14.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_ini_scanner.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef _ZEND_INI_SCANNER_H
 #define _ZEND_INI_SCANNER_H
diff --git a/Zend/zend_ini_scanner.l b/Zend/zend_ini_scanner.l
index 6546e47..eac1b2e 100644
--- a/Zend/zend_ini_scanner.l
+++ b/Zend/zend_ini_scanner.l
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini_scanner.l,v 1.41.2.2.2.2 2007/07/23 16:17:10 jani Exp $ */
+/* $Id: zend_ini_scanner.l 240224 2007-07-23 16:17:10Z jani $ */
 
 #define yyleng SCNG(yy_leng)
 #define yytext SCNG(yy_text)
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index d7ed870..31ef573 100755
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_interfaces.c,v 1.33.2.4.2.8 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_interfaces.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 #include "zend_API.h"
diff --git a/Zend/zend_interfaces.h b/Zend/zend_interfaces.h
index 87ba8e1..1e70fdc 100755
--- a/Zend/zend_interfaces.h
+++ b/Zend/zend_interfaces.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_interfaces.h,v 1.11.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_interfaces.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_INTERFACES_H
 #define ZEND_INTERFACES_H
diff --git a/Zend/zend_istdiostream.h b/Zend/zend_istdiostream.h
index db6e5d9..3358c4f 100644
--- a/Zend/zend_istdiostream.h
+++ b/Zend/zend_istdiostream.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_istdiostream.h,v 1.6.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_istdiostream.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef _ZEND_STDIOSTREAM
 #define _ZEND_STDIOSTREAM
diff --git a/Zend/zend_iterators.c b/Zend/zend_iterators.c
index 18156e3..c42ad56 100755
--- a/Zend/zend_iterators.c
+++ b/Zend/zend_iterators.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_iterators.c,v 1.12.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_iterators.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 #include "zend_API.h"
diff --git a/Zend/zend_iterators.h b/Zend/zend_iterators.h
index 579d551..5a1a5a3 100755
--- a/Zend/zend_iterators.h
+++ b/Zend/zend_iterators.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_iterators.h,v 1.10.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_iterators.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* These iterators were designed to operate within the foreach()
  * structures provided by the engine, but could be extended for use
diff --git a/Zend/zend_language_parser.c b/Zend/zend_language_parser.c
index 898e5e5..edfa4d8 100644
--- a/Zend/zend_language_parser.c
+++ b/Zend/zend_language_parser.c
@@ -339,7 +339,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_parser.y,v 1.160.2.4.2.11 2008/07/24 11:47:12 dmitry Exp $ */
+/* $Id: zend_language_parser.y 263383 2008-07-24 11:47:14Z dmitry $ */
 
 /*
  * LALR shift/reduce conflicts and how they are resolved:
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y
index f2c6d90..4cfb30f 100644
--- a/Zend/zend_language_parser.y
+++ b/Zend/zend_language_parser.y
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_parser.y,v 1.160.2.4.2.11 2008/07/24 11:47:12 dmitry Exp $ */
+/* $Id: zend_language_parser.y 263383 2008-07-24 11:47:14Z dmitry $ */
 
 /*
  * LALR shift/reduce conflicts and how they are resolved:
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index 5fd3857..546b70c 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -18,7 +18,7 @@
 /* A Lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /repository/ZendEngine2/Attic/flex.skl,v 1.31.6.1 2009/04/27 19:54:34 felipe Exp $
+ * $Header$
  * vim:ft=lex:
  */
 
@@ -3031,7 +3031,7 @@ char *yytext;
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_scanner.l,v 1.131.2.11.2.18 2009/05/08 17:50:58 mattwil Exp $ */
+/* $Id: zend_language_scanner.l 280170 2009-05-08 17:50:58Z mattwil $ */
 
 #define yyleng SCNG(yy_leng)
 #define yytext SCNG(yy_text)
diff --git a/Zend/zend_language_scanner.h b/Zend/zend_language_scanner.h
index c02f13c..b593db7 100644
--- a/Zend/zend_language_scanner.h
+++ b/Zend/zend_language_scanner.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_scanner.h,v 1.19.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_language_scanner.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_SCANNER_H
 #define ZEND_SCANNER_H
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 54c231f..a630e3f 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_scanner.l,v 1.131.2.11.2.18 2009/05/08 17:50:58 mattwil Exp $ */
+/* $Id: zend_language_scanner.l 280170 2009-05-08 17:50:58Z mattwil $ */
 
 #define yyleng SCNG(yy_leng)
 #define yytext SCNG(yy_text)
diff --git a/Zend/zend_list.c b/Zend/zend_list.c
index 48cca2c..1d27202 100644
--- a/Zend/zend_list.c
+++ b/Zend/zend_list.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_list.c,v 1.66.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_list.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* resource lists */
 
diff --git a/Zend/zend_list.h b/Zend/zend_list.h
index cfe5abb..a7850b1 100644
--- a/Zend/zend_list.h
+++ b/Zend/zend_list.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_list.h,v 1.48.2.1.2.5 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_list.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_LIST_H
 #define ZEND_LIST_H
diff --git a/Zend/zend_llist.c b/Zend/zend_llist.c
index 70e2b9a..78f7479 100644
--- a/Zend/zend_llist.c
+++ b/Zend/zend_llist.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_llist.c,v 1.35.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_llist.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 #include "zend_llist.h"
diff --git a/Zend/zend_llist.h b/Zend/zend_llist.h
index 7291da5..25ebeff 100644
--- a/Zend/zend_llist.h
+++ b/Zend/zend_llist.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_llist.h,v 1.33.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_llist.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_LLIST_H
 #define ZEND_LLIST_H
diff --git a/Zend/zend_modules.h b/Zend/zend_modules.h
index a26a0f9..036e070 100644
--- a/Zend/zend_modules.h
+++ b/Zend/zend_modules.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_modules.h,v 1.67.2.3.2.6 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_modules.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef MODULES_H
 #define MODULES_H
diff --git a/Zend/zend_multibyte.c b/Zend/zend_multibyte.c
index a5cfd4b..dad34d1 100644
--- a/Zend/zend_multibyte.c
+++ b/Zend/zend_multibyte.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_multibyte.c,v 1.4.2.4.2.4 2009/03/18 16:53:46 moriyoshi Exp $ */
+/* $Id: zend_multibyte.c 277432 2009-03-18 16:53:46Z moriyoshi $ */
 
 #include "zend.h"
 #include "zend_compile.h"
diff --git a/Zend/zend_multibyte.h b/Zend/zend_multibyte.h
index 0ffc1b6..c3447ca 100644
--- a/Zend/zend_multibyte.h
+++ b/Zend/zend_multibyte.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_multibyte.h,v 1.3.2.3.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_multibyte.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_MULTIBYTE_H
 #define ZEND_MULTIBYTE_H
diff --git a/Zend/zend_multiply.h b/Zend/zend_multiply.h
index b84480b..f8905c0 100644
--- a/Zend/zend_multiply.h
+++ b/Zend/zend_multiply.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_multiply.h,v 1.10.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_multiply.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #if defined(__i386__) && defined(__GNUC__)
 
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c
index d7656b4..e25613a 100644
--- a/Zend/zend_object_handlers.c
+++ b/Zend/zend_object_handlers.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_object_handlers.c,v 1.135.2.6.2.35 2009/06/12 21:33:46 felipe Exp $ */
+/* $Id: zend_object_handlers.c 288082 2009-09-05 17:11:44Z jani $ */
 
 #include "zend.h"
 #include "zend_globals.h"
diff --git a/Zend/zend_object_handlers.h b/Zend/zend_object_handlers.h
index 98ed282..6b8559d 100644
--- a/Zend/zend_object_handlers.h
+++ b/Zend/zend_object_handlers.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_object_handlers.h,v 1.47.2.2.2.7 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_object_handlers.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_OBJECT_HANDLERS_H
 #define ZEND_OBJECT_HANDLERS_H
diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c
index 4754c4f..c7e909b 100644
--- a/Zend/zend_objects.c
+++ b/Zend/zend_objects.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_objects.c,v 1.56.2.3.2.8 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_objects.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 #include "zend_globals.h"
diff --git a/Zend/zend_objects.h b/Zend/zend_objects.h
index 1c93f5c..898c71a 100644
--- a/Zend/zend_objects.h
+++ b/Zend/zend_objects.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_objects.h,v 1.25.2.2.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_objects.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_OBJECTS_H
 #define ZEND_OBJECTS_H
diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c
index 176b004..50aaca5 100644
--- a/Zend/zend_objects_API.c
+++ b/Zend/zend_objects_API.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_objects_API.c,v 1.47.2.6.2.9 2009/02/11 09:58:33 tony2001 Exp $ */
+/* $Id: zend_objects_API.c 275562 2009-02-11 09:58:58Z tony2001 $ */
 
 #include "zend.h"
 #include "zend_globals.h"
diff --git a/Zend/zend_objects_API.h b/Zend/zend_objects_API.h
index 9646c2f..4cc2989 100644
--- a/Zend/zend_objects_API.h
+++ b/Zend/zend_objects_API.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_objects_API.h,v 1.20.2.1.2.6 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_objects_API.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_OBJECTS_API_H
 #define ZEND_OBJECTS_API_H
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index 8c7001f..97ec8a8 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_opcode.c,v 1.110.2.6.2.6 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_opcode.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdio.h>
 
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index f0f1a76..8c76c0d 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_operators.c,v 1.208.2.4.2.30 2009/02/17 15:15:36 mattwil Exp $ */
+/* $Id: zend_operators.c 276004 2009-02-17 15:15:36Z mattwil $ */
 
 #include <ctype.h>
 
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h
index cd8fee6..571ddf8 100644
--- a/Zend/zend_operators.h
+++ b/Zend/zend_operators.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_operators.h,v 1.94.2.4.2.16 2009/05/14 01:28:15 mattwil Exp $ */
+/* $Id: zend_operators.h 280482 2009-05-14 01:28:15Z mattwil $ */
 
 #ifndef ZEND_OPERATORS_H
 #define ZEND_OPERATORS_H
diff --git a/Zend/zend_ptr_stack.c b/Zend/zend_ptr_stack.c
index 74150e0..23d53dc 100644
--- a/Zend/zend_ptr_stack.c
+++ b/Zend/zend_ptr_stack.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ptr_stack.c,v 1.23.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_ptr_stack.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 #include "zend_ptr_stack.h"
diff --git a/Zend/zend_ptr_stack.h b/Zend/zend_ptr_stack.h
index 8640d6e..db05450 100644
--- a/Zend/zend_ptr_stack.h
+++ b/Zend/zend_ptr_stack.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ptr_stack.h,v 1.22.2.2.2.5 2009/06/05 11:21:47 lbarnaud Exp $ */
+/* $Id: zend_ptr_stack.h 281713 2009-06-05 11:21:47Z lbarnaud $ */
 
 #ifndef ZEND_PTR_STACK_H
 #define ZEND_PTR_STACK_H
diff --git a/Zend/zend_qsort.c b/Zend/zend_qsort.c
index bc2a652..34852dd 100644
--- a/Zend/zend_qsort.c
+++ b/Zend/zend_qsort.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_qsort.c,v 1.8.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_qsort.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 
diff --git a/Zend/zend_qsort.h b/Zend/zend_qsort.h
index 9206059..c352bef 100644
--- a/Zend/zend_qsort.h
+++ b/Zend/zend_qsort.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_qsort.h,v 1.8.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_qsort.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_QSORT_H
 #define ZEND_QSORT_H
diff --git a/Zend/zend_sprintf.c b/Zend/zend_sprintf.c
index f415ee4..a2486e3 100644
--- a/Zend/zend_sprintf.c
+++ b/Zend/zend_sprintf.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_sprintf.c,v 1.16.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_sprintf.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdio.h>
 
diff --git a/Zend/zend_stack.c b/Zend/zend_stack.c
index 478ed82..7722f39 100644
--- a/Zend/zend_stack.c
+++ b/Zend/zend_stack.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_stack.c,v 1.16.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_stack.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 #include "zend_stack.h"
diff --git a/Zend/zend_stack.h b/Zend/zend_stack.h
index b159d1f..51d6e20 100644
--- a/Zend/zend_stack.h
+++ b/Zend/zend_stack.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_stack.h,v 1.19.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_stack.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_STACK_H
 #define ZEND_STACK_H
diff --git a/Zend/zend_static_allocator.c b/Zend/zend_static_allocator.c
index 68403ad..142e4bd 100644
--- a/Zend/zend_static_allocator.c
+++ b/Zend/zend_static_allocator.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_static_allocator.c,v 1.13.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_static_allocator.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend_static_allocator.h"
 
diff --git a/Zend/zend_static_allocator.h b/Zend/zend_static_allocator.h
index 465179d..7c003ea 100644
--- a/Zend/zend_static_allocator.h
+++ b/Zend/zend_static_allocator.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_static_allocator.h,v 1.13.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_static_allocator.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_STATIC_ALLOCATOR_H
 #define ZEND_STATIC_ALLOCATOR_H
diff --git a/Zend/zend_stream.c b/Zend/zend_stream.c
index 19cd9bb..9f1f83f 100644
--- a/Zend/zend_stream.c
+++ b/Zend/zend_stream.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_stream.c,v 1.13.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_stream.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #include "zend.h"
diff --git a/Zend/zend_stream.h b/Zend/zend_stream.h
index 482cc04..13bbb65 100644
--- a/Zend/zend_stream.h
+++ b/Zend/zend_stream.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_stream.h,v 1.8.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_stream.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_STREAM_H
 #define ZEND_STREAM_H
diff --git a/Zend/zend_strtod.c b/Zend/zend_strtod.c
index 4552640..fb1ffe3 100644
--- a/Zend/zend_strtod.c
+++ b/Zend/zend_strtod.c
@@ -89,7 +89,7 @@
  *	directly -- and assumed always to succeed.
  */
 
-/* $Id: zend_strtod.c,v 1.17.2.2.2.15 2008/09/15 11:47:03 dmitry Exp $ */
+/* $Id: zend_strtod.c 266327 2008-09-15 11:47:03Z dmitry $ */
 
 #include <zend_operators.h>
 #include <zend_strtod.h>
diff --git a/Zend/zend_strtod.h b/Zend/zend_strtod.h
index 76fa5e4..8ceacd1 100644
--- a/Zend/zend_strtod.h
+++ b/Zend/zend_strtod.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_strtod.h,v 1.3.2.1.2.6 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_strtod.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* This is a header file for the strtod implementation by David M. Gay which
  * can be found in zend_strtod.c */
diff --git a/Zend/zend_ts_hash.c b/Zend/zend_ts_hash.c
index 0b5fa57..be1fefa 100644
--- a/Zend/zend_ts_hash.c
+++ b/Zend/zend_ts_hash.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ts_hash.c,v 1.14.2.1.2.4 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_ts_hash.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "zend.h"
 #include "zend_ts_hash.h"
diff --git a/Zend/zend_ts_hash.h b/Zend/zend_ts_hash.h
index 43081df..93862bb 100644
--- a/Zend/zend_ts_hash.h
+++ b/Zend/zend_ts_hash.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ts_hash.h,v 1.13.2.1.2.3 2008/12/31 11:17:33 sebastian Exp $ */
+/* $Id: zend_ts_hash.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_TS_HASH_H
 #define ZEND_TS_HASH_H
diff --git a/Zend/zend_types.h b/Zend/zend_types.h
index e2211c3..3d8b474 100644
--- a/Zend/zend_types.h
+++ b/Zend/zend_types.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_types.h,v 1.6.2.2.2.7 2009/06/05 11:21:47 lbarnaud Exp $ */
+/* $Id: zend_types.h 281713 2009-06-05 11:21:47Z lbarnaud $ */
 
 #ifndef ZEND_TYPES_H
 #define ZEND_TYPES_H
diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c
index 1090a16..71182fb 100644
--- a/Zend/zend_variables.c
+++ b/Zend/zend_variables.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_variables.c,v 1.62.2.1.2.5 2009/05/01 20:30:59 jani Exp $ */
+/* $Id: zend_variables.c 279676 2009-05-01 20:30:59Z jani $ */
 
 #include <stdio.h>
 #include "zend.h"
diff --git a/Zend/zend_variables.h b/Zend/zend_variables.h
index 3a57907..45f28fd 100644
--- a/Zend/zend_variables.h
+++ b/Zend/zend_variables.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_variables.h,v 1.34.2.1.2.4 2009/05/01 21:47:05 jani Exp $ */
+/* $Id: zend_variables.h 279682 2009-05-01 21:47:05Z jani $ */
 
 #ifndef ZEND_VARIABLES_H
 #define ZEND_VARIABLES_H
diff --git a/Zend/zend_vm.h b/Zend/zend_vm.h
index e79541c..c90e91b 100644
--- a/Zend/zend_vm.h
+++ b/Zend/zend_vm.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_vm.h,v 1.7.2.1.2.4 2008/12/31 11:17:34 sebastian Exp $ */
+/* $Id: zend_vm.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef ZEND_VM_H
 #define ZEND_VM_H
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 889ed98..5e250e4 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_vm_def.h,v 1.59.2.29.2.70 2009/06/05 11:21:47 lbarnaud Exp $ */
+/* $Id: zend_vm_def.h 287466 2009-08-18 20:51:49Z stas $ */
 
 /* If you change this file, please regenerate the zend_vm_execute.h and
  * zend_vm_opcodes.h files by running:
@@ -2371,6 +2371,10 @@ ZEND_VM_HANDLER(67, ZEND_SEND_REF, VAR|CV, ANY)
 		zend_error_noreturn(E_ERROR, "Only variables can be passed by reference");
 	}
 
+      	if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION && !ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->op2.u.opline_num)) {
+               ZEND_VM_DISPATCH_TO_HELPER(zend_send_by_var_helper);
+        }
+
 	SEPARATE_ZVAL_TO_MAKE_IS_REF(varptr_ptr);
 	varptr = *varptr_ptr;
 	varptr->refcount++;
@@ -3196,15 +3200,22 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY)
 			ALLOC_ZVAL(tmp);
 			INIT_PZVAL_COPY(tmp, array_ptr);
 			array_ptr = tmp;
+			if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
+				ce = Z_OBJCE_P(array_ptr);
+				if (ce && ce->get_iterator) {
+					array_ptr->refcount--;
+				}
+			}
 		} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
 			ce = Z_OBJCE_P(array_ptr);
 			if (!ce || !ce->get_iterator) {
 				array_ptr->refcount++;
 			}
 		} else {
-			if ((OP1_TYPE == IS_CV || OP1_TYPE == IS_VAR) &&
+			if (OP1_TYPE == IS_CONST ||
+			    ((OP1_TYPE == IS_CV || OP1_TYPE == IS_VAR) &&
 			    !array_ptr->is_ref &&
-			    array_ptr->refcount > 1) {
+			    array_ptr->refcount > 1)) {
 				zval *tmp;
 
 				ALLOC_ZVAL(tmp);
@@ -3217,7 +3228,7 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY)
 		}
 	}
 
-	if (OP1_TYPE != IS_TMP_VAR && ce && ce->get_iterator) {
+	if (ce && ce->get_iterator) {
 		iter = ce->get_iterator(ce, array_ptr, opline->extended_value & ZEND_FE_RESET_REFERENCE TSRMLS_CC);
 
 		if (iter && !EG(exception)) {
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 37b493b..f348b31 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -2230,15 +2230,22 @@ static int ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 			ALLOC_ZVAL(tmp);
 			INIT_PZVAL_COPY(tmp, array_ptr);
 			array_ptr = tmp;
+			if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
+				ce = Z_OBJCE_P(array_ptr);
+				if (ce && ce->get_iterator) {
+					array_ptr->refcount--;
+				}
+			}
 		} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
 			ce = Z_OBJCE_P(array_ptr);
 			if (!ce || !ce->get_iterator) {
 				array_ptr->refcount++;
 			}
 		} else {
-			if ((IS_CONST == IS_CV || IS_CONST == IS_VAR) &&
+			if (IS_CONST == IS_CONST ||
+			    ((IS_CONST == IS_CV || IS_CONST == IS_VAR) &&
 			    !array_ptr->is_ref &&
-			    array_ptr->refcount > 1) {
+			    array_ptr->refcount > 1)) {
 				zval *tmp;
 
 				ALLOC_ZVAL(tmp);
@@ -2251,7 +2258,7 @@ static int ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 		}
 	}
 
-	if (IS_CONST != IS_TMP_VAR && ce && ce->get_iterator) {
+	if (ce && ce->get_iterator) {
 		iter = ce->get_iterator(ce, array_ptr, opline->extended_value & ZEND_FE_RESET_REFERENCE TSRMLS_CC);
 
 		if (iter && !EG(exception)) {
@@ -4805,15 +4812,22 @@ static int ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 			ALLOC_ZVAL(tmp);
 			INIT_PZVAL_COPY(tmp, array_ptr);
 			array_ptr = tmp;
+			if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
+				ce = Z_OBJCE_P(array_ptr);
+				if (ce && ce->get_iterator) {
+					array_ptr->refcount--;
+				}
+			}
 		} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
 			ce = Z_OBJCE_P(array_ptr);
 			if (!ce || !ce->get_iterator) {
 				array_ptr->refcount++;
 			}
 		} else {
-			if ((IS_TMP_VAR == IS_CV || IS_TMP_VAR == IS_VAR) &&
+			if (IS_TMP_VAR == IS_CONST ||
+			    ((IS_TMP_VAR == IS_CV || IS_TMP_VAR == IS_VAR) &&
 			    !array_ptr->is_ref &&
-			    array_ptr->refcount > 1) {
+			    array_ptr->refcount > 1)) {
 				zval *tmp;
 
 				ALLOC_ZVAL(tmp);
@@ -4826,7 +4840,7 @@ static int ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 		}
 	}
 
-	if (IS_TMP_VAR != IS_TMP_VAR && ce && ce->get_iterator) {
+	if (ce && ce->get_iterator) {
 		iter = ce->get_iterator(ce, array_ptr, opline->extended_value & ZEND_FE_RESET_REFERENCE TSRMLS_CC);
 
 		if (iter && !EG(exception)) {
@@ -7570,6 +7584,10 @@ static int ZEND_SEND_REF_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 		zend_error_noreturn(E_ERROR, "Only variables can be passed by reference");
 	}
 
+      	if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION && !ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->op2.u.opline_num)) {
+               return zend_send_by_var_helper_SPEC_VAR(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+        }
+
 	SEPARATE_ZVAL_TO_MAKE_IS_REF(varptr_ptr);
 	varptr = *varptr_ptr;
 	varptr->refcount++;
@@ -7954,15 +7972,22 @@ static int ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 			ALLOC_ZVAL(tmp);
 			INIT_PZVAL_COPY(tmp, array_ptr);
 			array_ptr = tmp;
+			if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
+				ce = Z_OBJCE_P(array_ptr);
+				if (ce && ce->get_iterator) {
+					array_ptr->refcount--;
+				}
+			}
 		} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
 			ce = Z_OBJCE_P(array_ptr);
 			if (!ce || !ce->get_iterator) {
 				array_ptr->refcount++;
 			}
 		} else {
-			if ((IS_VAR == IS_CV || IS_VAR == IS_VAR) &&
+			if (IS_VAR == IS_CONST ||
+			    ((IS_VAR == IS_CV || IS_VAR == IS_VAR) &&
 			    !array_ptr->is_ref &&
-			    array_ptr->refcount > 1) {
+			    array_ptr->refcount > 1)) {
 				zval *tmp;
 
 				ALLOC_ZVAL(tmp);
@@ -7975,7 +8000,7 @@ static int ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 		}
 	}
 
-	if (IS_VAR != IS_TMP_VAR && ce && ce->get_iterator) {
+	if (ce && ce->get_iterator) {
 		iter = ce->get_iterator(ce, array_ptr, opline->extended_value & ZEND_FE_RESET_REFERENCE TSRMLS_CC);
 
 		if (iter && !EG(exception)) {
@@ -19988,6 +20013,10 @@ static int ZEND_SEND_REF_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 		zend_error_noreturn(E_ERROR, "Only variables can be passed by reference");
 	}
 
+      	if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION && !ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->op2.u.opline_num)) {
+               return zend_send_by_var_helper_SPEC_CV(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+        }
+
 	SEPARATE_ZVAL_TO_MAKE_IS_REF(varptr_ptr);
 	varptr = *varptr_ptr;
 	varptr->refcount++;
@@ -20364,15 +20393,22 @@ static int ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 			ALLOC_ZVAL(tmp);
 			INIT_PZVAL_COPY(tmp, array_ptr);
 			array_ptr = tmp;
+			if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
+				ce = Z_OBJCE_P(array_ptr);
+				if (ce && ce->get_iterator) {
+					array_ptr->refcount--;
+				}
+			}
 		} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
 			ce = Z_OBJCE_P(array_ptr);
 			if (!ce || !ce->get_iterator) {
 				array_ptr->refcount++;
 			}
 		} else {
-			if ((IS_CV == IS_CV || IS_CV == IS_VAR) &&
+			if (IS_CV == IS_CONST ||
+			    ((IS_CV == IS_CV || IS_CV == IS_VAR) &&
 			    !array_ptr->is_ref &&
-			    array_ptr->refcount > 1) {
+			    array_ptr->refcount > 1)) {
 				zval *tmp;
 
 				ALLOC_ZVAL(tmp);
@@ -20385,7 +20421,7 @@ static int ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 		}
 	}
 
-	if (IS_CV != IS_TMP_VAR && ce && ce->get_iterator) {
+	if (ce && ce->get_iterator) {
 		iter = ce->get_iterator(ce, array_ptr, opline->extended_value & ZEND_FE_RESET_REFERENCE TSRMLS_CC);
 
 		if (iter && !EG(exception)) {
diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php
index 6f73029..64e9d67 100644
--- a/Zend/zend_vm_gen.php
+++ b/Zend/zend_vm_gen.php
@@ -16,7 +16,7 @@
    | Authors: Dmitry Stogov <dmitry at zend.com>                             |
    +----------------------------------------------------------------------+
 
-	 $Id: zend_vm_gen.php,v 1.12.2.5.2.6 2008/12/31 11:17:35 sebastian Exp $
+	 $Id: zend_vm_gen.php 272374 2008-12-31 11:17:49Z sebastian $
 */
 
 $header_text = <<< DATA
diff --git a/acconfig.h b/acconfig.h
index bb8ce1d..80c6317 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: acconfig.h,v 1.40.2.1.2.3 2008/12/31 11:17:32 sebastian Exp $ */
+/* $Id: acconfig.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_API
 #define ZEND_DLEXPORT
diff --git a/acinclude.m4 b/acinclude.m4
index 6436464..46e6eb7 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: acinclude.m4,v 1.332.2.14.2.29 2009/05/09 20:28:02 jani Exp $
+dnl $Id: acinclude.m4 287126 2009-08-11 23:45:35Z srinatar $
 dnl
 dnl This file contains local autoconf functions.
 dnl
@@ -2780,7 +2780,7 @@ AC_DEFUN([PHP_DETECT_SUNCC],[
     AC_MSG_RESULT([no]),
     SUNCC="yes"
     GCC="no"
-    test -n "$auto_cflags" && CFLAGS="-fsimple=2 -xnorunpath -xO4 -xalias_level=basic -xipo=1 -xlibmopt -xprefetch_level=1 -xprefetch=auto -xstrconst -xtarget=native -zlazyload"
+    test -n "$auto_cflags" && CFLAGS="-O -xs -xstrconst -zlazyload"
     GCC=""
     AC_MSG_RESULT([yes])
   )
diff --git a/aclocal.m4 b/aclocal.m4
index 41e995d..68a847c 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: acinclude.m4,v 1.332.2.14.2.29 2009/05/09 20:28:02 jani Exp $
+dnl $Id: acinclude.m4 287126 2009-08-11 23:45:35Z srinatar $
 dnl
 dnl This file contains local autoconf functions.
 dnl
@@ -2780,7 +2780,7 @@ AC_DEFUN([PHP_DETECT_SUNCC],[
     AC_MSG_RESULT([no]),
     SUNCC="yes"
     GCC="no"
-    test -n "$auto_cflags" && CFLAGS="-fsimple=2 -xnorunpath -xO4 -xalias_level=basic -xipo=1 -xlibmopt -xprefetch_level=1 -xprefetch=auto -xstrconst -xtarget=native -zlazyload"
+    test -n "$auto_cflags" && CFLAGS="-O -xs -xstrconst -zlazyload"
     GCC=""
     AC_MSG_RESULT([yes])
   )
diff --git a/build/build.mk b/build/build.mk
index 1f5ec06..51961f6 100644
--- a/build/build.mk
+++ b/build/build.mk
@@ -1,7 +1,7 @@
 #  +----------------------------------------------------------------------+
 #  | PHP Version 5                                                        |
 #  +----------------------------------------------------------------------+
-#  | Copyright (c) 1997-2007 The PHP Group                                |
+#  | Copyright (c) 1997-2006 The PHP Group                                |
 #  +----------------------------------------------------------------------+
 #  | This source file is subject to version 3.01 of the PHP license,      |
 #  | that is bundled with this package in the file LICENSE, and is        |
@@ -14,15 +14,13 @@
 #  | Author: Sascha Schumann <sascha at schumann.cx>                         |
 #  +----------------------------------------------------------------------+
 #
-# $Id: build.mk,v 1.26.2.2.2.2 2007/02/15 20:42:24 nlopess Exp $ 
+# $Id: build.mk 287074 2009-08-11 02:21:09Z dsp $ 
 #
 #
 # Makefile to generate build tools
 #
 
-ZENDDIR = Zend
-
-SUBDIRS = $(ZENDDIR) TSRM
+SUBDIRS = Zend TSRM
 
 STAMP = buildmk.stamp
 
@@ -33,11 +31,10 @@ all: $(STAMP) $(ALWAYS)
 	@$(MAKE) -s -f build/build2.mk
 
 generated_lists:
-	@echo makefile_am_files = $(ZENDDIR)/Makefile.am \
-		TSRM/Makefile.am > $@
-	@echo config_h_files = $(ZENDDIR)/acconfig.h TSRM/acconfig.h >> $@
-	@echo config_m4_files = $(ZENDDIR)/Zend.m4 TSRM/tsrm.m4 TSRM/threads.m4 \
-		$(ZENDDIR)/acinclude.m4 ext/*/config*.m4 sapi/*/config.m4 >> $@
+	@echo makefile_am_files = Zend/Makefile.am TSRM/Makefile.am > $@
+	@echo config_h_files = Zend/acconfig.h TSRM/acconfig.h >> $@
+	@echo config_m4_files = Zend/Zend.m4 TSRM/tsrm.m4 TSRM/threads.m4 \
+		Zend/acinclude.m4 ext/*/config*.m4 sapi/*/config.m4 >> $@
 
 $(STAMP): build/buildcheck.sh
 	@build/buildcheck.sh $(STAMP)
@@ -67,7 +64,18 @@ snapshot:
 
 cvsclean-work:
 	@for i in `find . -name .cvsignore`; do \
-		(cd `dirname $$i` 2>/dev/null && rm -rf `cat .cvsignore | grep -v config.nice | sed 's/[\r\n]/ /g'` *.o *.a .libs || true); \
+		(cd `dirname $$i` 2>/dev/null && rm -rf `cat .cvsignore | grep -v config.nice | sed 's/[[:space:]]/ /g'` *.o *.a *.lo *.la *.gcno *.gcda .libs || true); \
+	done
+
+svnclean-work:
+	@for i in `find . -type d -not -path '*/.svn/*' | grep -v '.svn'`; do \
+		(cd $$i 2>/dev/null && rm -rf `svn propget svn:ignore . | grep -v config.nice` *.o *.a *.lo *.la *.gcno *.gcda .libs || true); \
 	done
 
+gitclean-work:
+	@if (test ! -f '.git/info/exclude' || grep -s "git-ls-files" .git/info/exclude); then \
+		(echo "Rebuild .git/info/exclude" && echo '*.o' > .git/info/exclude && git svn propget svn:ignore | grep -v config.nice >> .git/info/exclude); \
+	fi; \
+	git clean -X -f -d;
+
 .PHONY: $(ALWAYS) snapshot
diff --git a/build/build2.mk b/build/build2.mk
index 19eed1b..050f376 100644
--- a/build/build2.mk
+++ b/build/build2.mk
@@ -14,7 +14,7 @@
 #  | Author: Sascha Schumann <sascha at schumann.cx>                         |
 #  +----------------------------------------------------------------------+
 #
-# $Id: build2.mk,v 1.37.2.2.2.1 2007/01/01 19:32:10 iliaa Exp $ 
+# $Id: build2.mk 226204 2007-01-01 19:32:10Z iliaa $ 
 #
 
 include generated_lists
diff --git a/build/buildcheck.sh b/build/buildcheck.sh
index 3881307..8e097b3 100755
--- a/build/buildcheck.sh
+++ b/build/buildcheck.sh
@@ -16,7 +16,7 @@
 #  |          Sascha Schumann <sascha at schumann.cx>                        |
 #  +----------------------------------------------------------------------+
 #
-# $Id: buildcheck.sh,v 1.37.2.2.2.1 2007/01/01 19:32:10 iliaa Exp $ 
+# $Id: buildcheck.sh,v 1.37.2.2.2.1 2007-01-01 19:32:10 iliaa Exp $ 
 #
 
 echo "buildconf: checking installation..."
@@ -48,9 +48,9 @@ fi
 
 if test "$1" = "2" && test "$2" -ge "50"; then
   echo "buildconf: Your version of autoconf likely contains buggy cache code."
-  echo "           Running cvsclean for you."
+  echo "           Running vcsclean for you."
   echo "           To avoid this, install autoconf-2.13."
-  ./cvsclean
+  ./vcsclean
   stamp=
 fi
 
diff --git a/build/config-stubs b/build/config-stubs
index 341ac8e..2fc865d 100755
--- a/build/config-stubs
+++ b/build/config-stubs
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: config-stubs,v 1.1 2003/01/28 10:59:10 sniper Exp $
+# $Id: config-stubs 113727 2003-01-28 10:59:12Z sniper $
 
 dir=$1; shift
 for stubfile in $dir/*/config0.m4 $dir/*/config.m4 $dir/*/config9.m4; do
diff --git a/build/genif.sh b/build/genif.sh
index 28d18eb..61d1f00 100644
--- a/build/genif.sh
+++ b/build/genif.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# $Id: genif.sh,v 1.6 2005/06/21 13:47:38 sniper Exp $
+# $Id: genif.sh,v 1.6 2005-06-21 13:47:38 sniper Exp $
 # replacement for genif.pl
 
 infile=$1
diff --git a/build/mkdep.awk b/build/mkdep.awk
index e77056c..36238c6 100644
--- a/build/mkdep.awk
+++ b/build/mkdep.awk
@@ -14,7 +14,7 @@
 #  | Author: Sascha Schumann <sascha at schumann.cx>                         |
 #  +----------------------------------------------------------------------+
 #
-# $Id: mkdep.awk,v 1.8.2.1 2006/01/01 12:50:00 sniper Exp $
+# $Id: mkdep.awk 204189 2006-01-01 12:51:34Z sniper $
 #
 # Usage:
 #
diff --git a/buildconf b/buildconf
index 3c5d4fb..2d639e9 100755
--- a/buildconf
+++ b/buildconf
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $Id: buildconf,v 1.64.2.1.2.1 2007/07/26 22:45:59 jani Exp $
+# $Id: buildconf 284427 2009-07-20 10:51:40Z jani $
 
 eval `grep '^PHP_EXTRA_VERSION=' configure.in`
 case "$PHP_EXTRA_VERSION" in
@@ -32,38 +32,11 @@ if test "$dev" = "0" -a "$devok" = "0"; then
   echo "use buildconf --force to override this check."
   exit 1
 fi
-
-if test -z "$ZENDDIR"; then
-  if grep "PHP_MAJOR_VERSION 5" main/php_version.h >/dev/null; then
-    v=5
-  else
-    v=4
-  fi
-
-  if test "$v" = "5"; then
-    if test -r "Zend/OBJECTS2_HOWTO"; then
-      :
-    else
-      mv Zend ZendEngine1 2>/dev/null
-      mv ZendEngine2 Zend
-    fi
-  else
-    if test -r "Zend/zend_execute_globals.h"; then
-      :
-    else
-      mv Zend ZendEngine2 2>/dev/null
-      mv ZendEngine1 Zend
-    fi
-  fi
-
-  ZENDDIR=Zend
-  echo "using default Zend directory"
-fi
  
 rm -f generated_lists
 
 if test "$debug" = "yes"; then
-  ${MAKE:-make} -s -f build/build.mk ZENDDIR="$ZENDDIR" SUPPRESS_WARNINGS=""
+  ${MAKE:-make} -s -f build/build.mk SUPPRESS_WARNINGS=""
 else
-  ${MAKE:-make} -s -f build/build.mk ZENDDIR="$ZENDDIR"
+  ${MAKE:-make} -s -f build/build.mk
 fi
diff --git a/configure b/configure
index 6321ab7..c1f928c 100755
--- a/configure
+++ b/configure
@@ -1118,7 +1118,7 @@ ac_help="$ac_help
 ac_help="$ac_help
   --with-curl[=DIR]       Include cURL support"
 ac_help="$ac_help
-  --with-curlwrappers     Use cURL for url streams"
+  --with-curlwrappers     EXPERIMENTAL: Use cURL for url streams"
 ac_help="$ac_help
   --enable-dba            Build DBA with bundled modules. To build shared DBA
                           extension use --enable-dba=shared"
@@ -2077,7 +2077,7 @@ echo > confdefs.h
 
 # A filename unique to this package, relative to the directory that
 # configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=README.CVS-RULES
+ac_unique_file=README.SVN-RULES
 
 # Find the source files, if location was not specified.
 if test -z "$srcdir"; then
@@ -2431,7 +2431,7 @@ echo "$ac_t""$target" 1>&6
 
 PHP_MAJOR_VERSION=5
 PHP_MINOR_VERSION=2
-PHP_RELEASE_VERSION=10
+PHP_RELEASE_VERSION=11
 PHP_EXTRA_VERSION=""
 PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
 PHP_VERSION_ID=`expr $PHP_MAJOR_VERSION \* 10000 + $PHP_MINOR_VERSION \* 100 + $PHP_RELEASE_VERSION`
@@ -2865,7 +2865,7 @@ else
   rm -rf conftest*
   SUNCC="yes"
     GCC="no"
-    test -n "$auto_cflags" && CFLAGS="-fsimple=2 -xnorunpath -xO4 -xalias_level=basic -xipo=1 -xlibmopt -xprefetch_level=1 -xprefetch=auto -xstrconst -xtarget=native -zlazyload"
+    test -n "$auto_cflags" && CFLAGS="-O -xs -xstrconst -zlazyload"
     GCC=""
     echo "$ac_t""yes" 1>&6
   
@@ -3647,7 +3647,7 @@ echo "$ac_t""$php_cv_re2c_version" 1>&6
 case $php_cv_bison_version in
   ""|invalid)
     if ! test -f "$abs_srcdir/Zend/zend_language_parser.h" || ! test -f "$abs_srcdir/Zend/zend_language_parser.c" ; then
-      { echo "configure: error: bison is required to build PHP/Zend when building a CVS checkout!" 1>&2; exit 1; }
+      { echo "configure: error: bison is required to build PHP/Zend when building a SVN checkout!" 1>&2; exit 1; }
     fi
     ;;
 esac
@@ -23058,7 +23058,7 @@ EOF
 EOF
 
   else
-    for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre; do
+    for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include; do
       test -f $i/pcre.h && PCRE_INCDIR=$i
     done
 
@@ -83145,6 +83145,8 @@ echo "$ac_t""$ext_output" 1>&6
 
 
 
+else
+    php_with_readline=no
 fi
 
 if test "$PHP_READLINE" && test "$PHP_READLINE" != "no"; then
@@ -83190,7 +83192,7 @@ if test "$PHP_READLINE" && test "$PHP_READLINE" != "no"; then
 
   PHP_READLINE_LIBS=""
   echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6
-echo "configure:83194: checking for tgetent in -lncurses" >&5
+echo "configure:83196: checking for tgetent in -lncurses" >&5
 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -83198,7 +83200,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 83202 "configure"
+#line 83204 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -83209,7 +83211,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:83213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:83215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -83254,7 +83256,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:83258: checking for tgetent in -ltermcap" >&5
+echo "configure:83260: checking for tgetent in -ltermcap" >&5
 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -83262,7 +83264,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 83266 "configure"
+#line 83268 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -83273,7 +83275,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:83277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:83279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -83420,7 +83422,7 @@ fi
   done
 
   echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6
-echo "configure:83424: checking for readline in -lreadline" >&5
+echo "configure:83426: checking for readline in -lreadline" >&5
 ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -83428,7 +83430,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lreadline  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 83432 "configure"
+#line 83434 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -83439,7 +83441,7 @@ int main() {
 readline()
 ; return 0; }
 EOF
-if { (eval echo configure:83443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:83445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -83667,8 +83669,158 @@ fi
     esac
   done
 
+  echo $ac_n "checking for rl_pending_input in -lreadline""... $ac_c" 1>&6
+echo "configure:83674: checking for rl_pending_input in -lreadline" >&5
+ac_lib_var=`echo readline'_'rl_pending_input | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lreadline  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 83682 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char rl_pending_input();
+
+int main() {
+rl_pending_input()
+; return 0; }
+EOF
+if { (eval echo configure:83693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  
+    LDFLAGS=$save_old_LDFLAGS
+    ext_shared=$save_ext_shared
+    
+  
+else
+  echo "$ac_t""no" 1>&6
+
+    LDFLAGS=$save_old_LDFLAGS
+    ext_shared=$save_ext_shared
+    unset ac_cv_lib_readline_rl_pending_input
+    
+    { echo "configure: error: invalid readline installation detected. Try --with-libedit instead." 1>&2; exit 1; }
+  
+  
+fi
+
+
+  
+  save_old_LDFLAGS=$LDFLAGS
+  ac_stuff="
+    -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
+  "
+  
+  save_ext_shared=$ext_shared
+  ext_shared=yes
+  
+  for ac_i in $ac_stuff; do
+    case $ac_i in
+    -pthread)
+      if test "$ext_shared" = "yes"; then
+        LDFLAGS="$LDFLAGS -pthread"
+      else
+        
+  
+  unique=`echo $ac_i|$SED 's/[^a-zA-Z0-9]/_/g'`
+  
+  cmd="echo $ac_n \"\$EXTRA_LDFLAGS$unique$ac_c\""
+  if test -n "$unique" && test "`eval $cmd`" = "" ; then
+    eval "EXTRA_LDFLAGS$unique=set"
+    EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ac_i"
+  fi
+
+      fi
+    ;;
+    -l*)
+      ac_ii=`echo $ac_i|cut -c 3-`
+      
+  
+  case $ac_ii in
+  c|c_r|pthread*) ;;
+  *) 
+    if test "$ext_shared" = "yes"; then
+        LDFLAGS="$LDFLAGS -l$ac_ii" 
+    else
+      
+  
+  case $ac_ii in
+  c|c_r|pthread*) ;;
+  *) 
+      LIBS="$LIBS -l$ac_ii" 
+   ;;
+  esac
+
+
+    fi
+   ;;
+  esac
+
+
+    ;;
+    -L*)
+      ac_ii=`echo $ac_i|cut -c 3-`
+      
+  if test "$ac_ii" != "/usr/$PHP_LIBDIR" && test "$ac_ii" != "/usr/lib"; then
+    
+  if test -z "$ac_ii" || echo "$ac_ii" | grep '^/' >/dev/null ; then
+    ai_p=$ac_ii
+  else
+    
+    ep_dir="`echo $ac_ii|$SED 's%/*[^/][^/]*/*$%%'`"
+    
+    ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+    ai_p="$ep_realdir/`basename \"$ac_ii\"`"
+  fi
+
+    
+      if test "$ext_shared" = "yes"; then
+        LDFLAGS="-L$ai_p $LDFLAGS"
+        test -n "$ld_runpath_switch" && LDFLAGS="$ld_runpath_switch$ai_p $LDFLAGS"
+      else
+        
+  
+  
+  unique=`echo $ai_p|$SED 's/[^a-zA-Z0-9]/_/g'`
+  
+  cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+  if test -n "$unique" && test "`eval $cmd`" = "" ; then
+    eval "LIBPATH$unique=set"
+    
+    test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+    LDFLAGS="$LDFLAGS -L$ai_p"
+    PHP_RPATHS="$PHP_RPATHS $ai_p"
+  
+  fi
+
+
+      fi
+    
+  fi
+
+    ;;
+    esac
+  done
+
   echo $ac_n "checking for rl_callback_read_char in -lreadline""... $ac_c" 1>&6
-echo "configure:83672: checking for rl_callback_read_char in -lreadline" >&5
+echo "configure:83824: checking for rl_callback_read_char in -lreadline" >&5
 ac_lib_var=`echo readline'_'rl_callback_read_char | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -83676,7 +83828,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lreadline  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 83680 "configure"
+#line 83832 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -83687,7 +83839,7 @@ int main() {
 rl_callback_read_char()
 ; return 0; }
 EOF
-if { (eval echo configure:83691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:83843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -83771,7 +83923,7 @@ elif test "$PHP_LIBEDIT" != "no"; then
 
 
   echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6
-echo "configure:83775: checking for tgetent in -lncurses" >&5
+echo "configure:83927: checking for tgetent in -lncurses" >&5
 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -83779,7 +83931,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 83783 "configure"
+#line 83935 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -83790,7 +83942,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:83794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:83946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -83834,7 +83986,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:83838: checking for tgetent in -ltermcap" >&5
+echo "configure:83990: checking for tgetent in -ltermcap" >&5
 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -83842,7 +83994,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 83846 "configure"
+#line 83998 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -83853,7 +84005,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:83857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:84009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -83999,7 +84151,7 @@ fi
   done
 
   echo $ac_n "checking for readline in -ledit""... $ac_c" 1>&6
-echo "configure:84003: checking for readline in -ledit" >&5
+echo "configure:84155: checking for readline in -ledit" >&5
 ac_lib_var=`echo edit'_'readline | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -84007,7 +84159,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ledit  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 84011 "configure"
+#line 84163 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -84018,7 +84170,7 @@ int main() {
 readline()
 ; return 0; }
 EOF
-if { (eval echo configure:84022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:84174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -84159,12 +84311,12 @@ if test "$PHP_READLINE" != "no" || test "$PHP_LIBEDIT" != "no"; then
   for ac_func in rl_completion_matches
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:84163: checking for $ac_func" >&5
+echo "configure:84315: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 84168 "configure"
+#line 84320 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -84187,7 +84339,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:84191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:84343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -84513,7 +84665,7 @@ fi
 php_with_recode=no
 
 echo $ac_n "checking for recode support""... $ac_c" 1>&6
-echo "configure:84517: checking for recode support" >&5
+echo "configure:84669: checking for recode support" >&5
 # Check whether --with-recode or --without-recode was given.
 if test "${with_recode+set}" = set; then
   withval="$with_recode"
@@ -84680,7 +84832,7 @@ if test "$PHP_RECODE" != "no"; then
   done
 
   echo $ac_n "checking for recode_format_table in -lrecode""... $ac_c" 1>&6
-echo "configure:84684: checking for recode_format_table in -lrecode" >&5
+echo "configure:84836: checking for recode_format_table in -lrecode" >&5
 ac_lib_var=`echo recode'_'recode_format_table | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -84688,7 +84840,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lrecode  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 84692 "configure"
+#line 84844 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -84699,7 +84851,7 @@ int main() {
 recode_format_table()
 ; return 0; }
 EOF
-if { (eval echo configure:84703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:84855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -84829,7 +84981,7 @@ else
     LDFLAGS="$LDFLAGS -L$RECODE_DIR/$RECODE_LIB"
     LIBS="$LIBS -lrecode"
     cat > conftest.$ac_ext <<EOF
-#line 84833 "configure"
+#line 84985 "configure"
 #include "confdefs.h"
 
 char *program_name;
@@ -84840,7 +84992,7 @@ recode_format_table();
     
 ; return 0; }
 EOF
-if { (eval echo configure:84844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:84996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   
       
@@ -85003,17 +85155,17 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:85007: checking for $ac_hdr" >&5
+echo "configure:85159: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 85012 "configure"
+#line 85164 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:85017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:85169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -85338,7 +85490,7 @@ fi
 php_enable_reflection=yes
 
 echo $ac_n "checking whether to enable reflection support""... $ac_c" 1>&6
-echo "configure:85342: checking whether to enable reflection support" >&5
+echo "configure:85494: checking whether to enable reflection support" >&5
 # Check whether --enable-reflection or --disable-reflection was given.
 if test "${enable_reflection+set}" = set; then
   enableval="$enable_reflection"
@@ -85664,7 +85816,7 @@ fi
 php_enable_session=yes
 
 echo $ac_n "checking whether to enable PHP sessions""... $ac_c" 1>&6
-echo "configure:85668: checking whether to enable PHP sessions" >&5
+echo "configure:85820: checking whether to enable PHP sessions" >&5
 # Check whether --enable-session or --disable-session was given.
 if test "${enable_session+set}" = set; then
   enableval="$enable_session"
@@ -85711,7 +85863,7 @@ echo "$ac_t""$ext_output" 1>&6
 php_with_mm=no
 
 echo $ac_n "checking for mm support""... $ac_c" 1>&6
-echo "configure:85715: checking for mm support" >&5
+echo "configure:85867: checking for mm support" >&5
 # Check whether --with-mm or --without-mm was given.
 if test "${with_mm+set}" = set; then
   withval="$with_mm"
@@ -85736,7 +85888,7 @@ echo "$ac_t""$ext_output" 1>&6
 if test "$PHP_SESSION" != "no"; then
   
   echo $ac_n "checking whether pwrite works""... $ac_c" 1>&6
-echo "configure:85740: checking whether pwrite works" >&5
+echo "configure:85892: checking whether pwrite works" >&5
 if eval "test \"`echo '$''{'ac_cv_pwrite'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -85748,7 +85900,7 @@ else
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 85752 "configure"
+#line 85904 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -85769,7 +85921,7 @@ else
 
   
 EOF
-if { (eval echo configure:85773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:85925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     ac_cv_pwrite=yes
@@ -85794,7 +85946,7 @@ fi
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 85798 "configure"
+#line 85950 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -85815,7 +85967,7 @@ ssize_t pwrite(int, void *, size_t, off64_t);
 
   
 EOF
-if { (eval echo configure:85819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:85971: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     ac_cv_pwrite=yes
@@ -85856,7 +86008,7 @@ EOF
 
   
   echo $ac_n "checking whether pread works""... $ac_c" 1>&6
-echo "configure:85860: checking whether pread works" >&5
+echo "configure:86012: checking whether pread works" >&5
 if eval "test \"`echo '$''{'ac_cv_pread'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -85869,7 +86021,7 @@ else
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 85873 "configure"
+#line 86025 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -85889,7 +86041,7 @@ else
     }
   
 EOF
-if { (eval echo configure:85893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:86045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     ac_cv_pread=yes
@@ -85916,7 +86068,7 @@ fi
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 85920 "configure"
+#line 86072 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -85936,7 +86088,7 @@ ssize_t pread(int, void *, size_t, off64_t);
     }
   
 EOF
-if { (eval echo configure:85940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:86092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     ac_cv_pread=yes
@@ -86269,6 +86421,25 @@ EOF
   fi
 
   
+  am_i_shared=$PHP_SESSION_SHARED
+  is_it_shared=$PHP_HASH_SHARED
+  is_it_enabled=$PHP_HASH
+  if test "$am_i_shared" = "no" && test "$is_it_shared" = "yes" ; then
+    { echo "configure: error: 
+You've configured extension session to build statically, but it
+depends on extension hash, which you've configured to build shared.
+You either need to build session shared or build hash statically for the
+build to be successful.
+" 1>&2; exit 1; }
+  fi
+  if test "x$is_it_enabled" = "xno" && test "xtrue" != "xtrue"; then
+    { echo "configure: error: 
+You've configured extension session, which depends on extension hash,
+but you've either not enabled hash, or have disabled it.
+" 1>&2; exit 1; }
+  fi
+  
+  
   PHP_VAR_SUBST="$PHP_VAR_SUBST SESSION_SHARED_LIBADD"
 
   
@@ -86462,7 +86633,7 @@ fi
 php_enable_shmop=no
 
 echo $ac_n "checking whether to enable shmop support""... $ac_c" 1>&6
-echo "configure:86466: checking whether to enable shmop support" >&5
+echo "configure:86637: checking whether to enable shmop support" >&5
 # Check whether --enable-shmop or --disable-shmop was given.
 if test "${enable_shmop+set}" = set; then
   enableval="$enable_shmop"
@@ -86809,7 +86980,7 @@ fi
 php_enable_simplexml=yes
 
 echo $ac_n "checking whether to enable SimpleXML support""... $ac_c" 1>&6
-echo "configure:86813: checking whether to enable SimpleXML support" >&5
+echo "configure:86984: checking whether to enable SimpleXML support" >&5
 # Check whether --enable-simplexml or --disable-simplexml was given.
 if test "${enable_simplexml+set}" = set; then
   enableval="$enable_simplexml"
@@ -86857,7 +87028,7 @@ if test -z "$PHP_LIBXML_DIR"; then
 php_with_libxml_dir=no
 
 echo $ac_n "checking libxml2 install dir""... $ac_c" 1>&6
-echo "configure:86861: checking libxml2 install dir" >&5
+echo "configure:87032: checking libxml2 install dir" >&5
 # Check whether --with-libxml-dir or --without-libxml-dir was given.
 if test "${with_libxml_dir+set}" = set; then
   withval="$with_libxml_dir"
@@ -86888,7 +87059,7 @@ if test "$PHP_SIMPLEXML" != "no"; then
 
   
 echo $ac_n "checking for xml2-config path""... $ac_c" 1>&6
-echo "configure:86892: checking for xml2-config path" >&5
+echo "configure:87063: checking for xml2-config path" >&5
 if eval "test \"`echo '$''{'ac_cv_php_xml2_config_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -87046,7 +87217,7 @@ echo "$ac_t""$ac_cv_php_xml2_config_path" 1>&6
 
 
             echo $ac_n "checking whether libxml build works""... $ac_c" 1>&6
-echo "configure:87050: checking whether libxml build works" >&5
+echo "configure:87221: checking whether libxml build works" >&5
 if eval "test \"`echo '$''{'php_cv_libxml_build_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -87062,7 +87233,7 @@ else
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 87066 "configure"
+#line 87237 "configure"
 #include "confdefs.h"
 
     
@@ -87073,7 +87244,7 @@ else
     }
   
 EOF
-if { (eval echo configure:87077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:87248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     LIBS=$old_LIBS
@@ -87461,7 +87632,7 @@ fi
 php_with_snmp=no
 
 echo $ac_n "checking for SNMP support""... $ac_c" 1>&6
-echo "configure:87465: checking for SNMP support" >&5
+echo "configure:87636: checking for SNMP support" >&5
 # Check whether --with-snmp or --without-snmp was given.
 if test "${with_snmp+set}" = set; then
   withval="$with_snmp"
@@ -87508,7 +87679,7 @@ echo "$ac_t""$ext_output" 1>&6
 php_with_openssl_dir=no
 
 echo $ac_n "checking OpenSSL dir for SNMP""... $ac_c" 1>&6
-echo "configure:87512: checking OpenSSL dir for SNMP" >&5
+echo "configure:87683: checking OpenSSL dir for SNMP" >&5
 # Check whether --with-openssl-dir or --without-openssl-dir was given.
 if test "${with_openssl_dir+set}" = set; then
   withval="$with_openssl_dir"
@@ -87534,7 +87705,7 @@ echo "$ac_t""$ext_output" 1>&6
 php_enable_ucd_snmp_hack=no
 
 echo $ac_n "checking whether to enable UCD SNMP hack""... $ac_c" 1>&6
-echo "configure:87538: checking whether to enable UCD SNMP hack" >&5
+echo "configure:87709: checking whether to enable UCD SNMP hack" >&5
 # Check whether --enable-ucd-snmp-hack or --disable-ucd-snmp-hack was given.
 if test "${enable_ucd_snmp_hack+set}" = set; then
   enableval="$enable_ucd_snmp_hack"
@@ -87562,7 +87733,7 @@ if test "$PHP_SNMP" != "no"; then
     # Extract the first word of "net-snmp-config", so it can be a program name with args.
 set dummy net-snmp-config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:87566: checking for $ac_word" >&5
+echo "configure:87737: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_SNMP_CONFIG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -87763,17 +87934,17 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:87767: checking for $ac_hdr" >&5
+echo "configure:87938: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 87772 "configure"
+#line 87943 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:87777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:87948: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -87801,9 +87972,9 @@ done
 
     if test "$ac_cv_header_default_store_h" = "yes"; then
       echo $ac_n "checking for OpenSSL support in SNMP libraries""... $ac_c" 1>&6
-echo "configure:87805: checking for OpenSSL support in SNMP libraries" >&5
+echo "configure:87976: checking for OpenSSL support in SNMP libraries" >&5
       cat > conftest.$ac_ext <<EOF
-#line 87807 "configure"
+#line 87978 "configure"
 #include "confdefs.h"
 
 #include <ucd-snmp-config.h>
@@ -87858,7 +88029,7 @@ rm -f conftest*
     # Extract the first word of "pkg-config", so it can be a program name with args.
 set dummy pkg-config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:87862: checking for $ac_word" >&5
+echo "configure:88033: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -88063,9 +88234,9 @@ fi
     old_CPPFLAGS=$CPPFLAGS
     CPPFLAGS=-I$OPENSSL_INCDIR
     echo $ac_n "checking for OpenSSL version""... $ac_c" 1>&6
-echo "configure:88067: checking for OpenSSL version" >&5
+echo "configure:88238: checking for OpenSSL version" >&5
     cat > conftest.$ac_ext <<EOF
-#line 88069 "configure"
+#line 88240 "configure"
 #include "confdefs.h"
 
 #include <openssl/opensslv.h>
@@ -88220,7 +88391,7 @@ rm -f conftest*
   done
 
   echo $ac_n "checking for CRYPTO_free in -lcrypto""... $ac_c" 1>&6
-echo "configure:88224: checking for CRYPTO_free in -lcrypto" >&5
+echo "configure:88395: checking for CRYPTO_free in -lcrypto" >&5
 ac_lib_var=`echo crypto'_'CRYPTO_free | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -88228,7 +88399,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypto  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 88232 "configure"
+#line 88403 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -88239,7 +88410,7 @@ int main() {
 CRYPTO_free()
 ; return 0; }
 EOF
-if { (eval echo configure:88243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:88414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -88396,7 +88567,7 @@ fi
   done
 
   echo $ac_n "checking for SSL_CTX_set_ssl_version in -lssl""... $ac_c" 1>&6
-echo "configure:88400: checking for SSL_CTX_set_ssl_version in -lssl" >&5
+echo "configure:88571: checking for SSL_CTX_set_ssl_version in -lssl" >&5
 ac_lib_var=`echo ssl'_'SSL_CTX_set_ssl_version | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -88404,7 +88575,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lssl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 88408 "configure"
+#line 88579 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -88415,7 +88586,7 @@ int main() {
 SSL_CTX_set_ssl_version()
 ; return 0; }
 EOF
-if { (eval echo configure:88419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:88590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -88528,7 +88699,7 @@ else
     fi
 
     echo $ac_n "checking for kstat_read in -lkstat""... $ac_c" 1>&6
-echo "configure:88532: checking for kstat_read in -lkstat" >&5
+echo "configure:88703: checking for kstat_read in -lkstat" >&5
 ac_lib_var=`echo kstat'_'kstat_read | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -88536,7 +88707,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lkstat  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 88540 "configure"
+#line 88711 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -88547,7 +88718,7 @@ int main() {
 kstat_read()
 ; return 0; }
 EOF
-if { (eval echo configure:88551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:88722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -88818,7 +88989,7 @@ fi
   done
 
   echo $ac_n "checking for snmp_parse_oid in -l$SNMP_LIBNAME""... $ac_c" 1>&6
-echo "configure:88822: checking for snmp_parse_oid in -l$SNMP_LIBNAME" >&5
+echo "configure:88993: checking for snmp_parse_oid in -l$SNMP_LIBNAME" >&5
 ac_lib_var=`echo $SNMP_LIBNAME'_'snmp_parse_oid | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -88826,7 +88997,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$SNMP_LIBNAME  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 88830 "configure"
+#line 89001 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -88837,7 +89008,7 @@ int main() {
 snmp_parse_oid()
 ; return 0; }
 EOF
-if { (eval echo configure:88841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:89012: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -88971,7 +89142,7 @@ fi
   done
 
   echo $ac_n "checking for init_snmp in -l$SNMP_LIBNAME""... $ac_c" 1>&6
-echo "configure:88975: checking for init_snmp in -l$SNMP_LIBNAME" >&5
+echo "configure:89146: checking for init_snmp in -l$SNMP_LIBNAME" >&5
 ac_lib_var=`echo $SNMP_LIBNAME'_'init_snmp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -88979,7 +89150,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$SNMP_LIBNAME  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 88983 "configure"
+#line 89154 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -88990,7 +89161,7 @@ int main() {
 init_snmp()
 ; return 0; }
 EOF
-if { (eval echo configure:88994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:89165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -89337,7 +89508,7 @@ fi
 php_enable_soap=no
 
 echo $ac_n "checking whether to enable SOAP support""... $ac_c" 1>&6
-echo "configure:89341: checking whether to enable SOAP support" >&5
+echo "configure:89512: checking whether to enable SOAP support" >&5
 # Check whether --enable-soap or --disable-soap was given.
 if test "${enable_soap+set}" = set; then
   enableval="$enable_soap"
@@ -89385,7 +89556,7 @@ if test -z "$PHP_LIBXML_DIR"; then
 php_with_libxml_dir=no
 
 echo $ac_n "checking libxml2 install dir""... $ac_c" 1>&6
-echo "configure:89389: checking libxml2 install dir" >&5
+echo "configure:89560: checking libxml2 install dir" >&5
 # Check whether --with-libxml-dir or --without-libxml-dir was given.
 if test "${with_libxml_dir+set}" = set; then
   withval="$with_libxml_dir"
@@ -89416,7 +89587,7 @@ if test "$PHP_SOAP" != "no"; then
 
   
 echo $ac_n "checking for xml2-config path""... $ac_c" 1>&6
-echo "configure:89420: checking for xml2-config path" >&5
+echo "configure:89591: checking for xml2-config path" >&5
 if eval "test \"`echo '$''{'ac_cv_php_xml2_config_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -89574,7 +89745,7 @@ echo "$ac_t""$ac_cv_php_xml2_config_path" 1>&6
 
 
             echo $ac_n "checking whether libxml build works""... $ac_c" 1>&6
-echo "configure:89578: checking whether libxml build works" >&5
+echo "configure:89749: checking whether libxml build works" >&5
 if eval "test \"`echo '$''{'php_cv_libxml_build_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -89590,7 +89761,7 @@ else
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 89594 "configure"
+#line 89765 "configure"
 #include "confdefs.h"
 
     
@@ -89601,7 +89772,7 @@ else
     }
   
 EOF
-if { (eval echo configure:89605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:89776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     LIBS=$old_LIBS
@@ -89951,7 +90122,7 @@ fi
 php_enable_sockets=no
 
 echo $ac_n "checking whether to enable sockets support""... $ac_c" 1>&6
-echo "configure:89955: checking whether to enable sockets support" >&5
+echo "configure:90126: checking whether to enable sockets support" >&5
 # Check whether --enable-sockets or --disable-sockets was given.
 if test "${enable_sockets+set}" = set; then
   enableval="$enable_sockets"
@@ -89996,13 +90167,13 @@ echo "$ac_t""$ext_output" 1>&6
 
 if test "$PHP_SOCKETS" != "no"; then
     echo $ac_n "checking for struct cmsghdr""... $ac_c" 1>&6
-echo "configure:90000: checking for struct cmsghdr" >&5
+echo "configure:90171: checking for struct cmsghdr" >&5
 if eval "test \"`echo '$''{'ac_cv_cmsghdr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 90006 "configure"
+#line 90177 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -90011,7 +90182,7 @@ int main() {
 struct cmsghdr s; s
 ; return 0; }
 EOF
-if { (eval echo configure:90015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:90186: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_cmsghdr=yes
 else
@@ -90036,12 +90207,12 @@ EOF
   for ac_func in hstrerror socketpair
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:90040: checking for $ac_func" >&5
+echo "configure:90211: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 90045 "configure"
+#line 90216 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -90064,7 +90235,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:90068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:90239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -90092,17 +90263,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:90096: checking for $ac_hdr" >&5
+echo "configure:90267: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 90101 "configure"
+#line 90272 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:90106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:90277: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -90129,7 +90300,7 @@ fi
 done
 
   cat > conftest.$ac_ext <<EOF
-#line 90133 "configure"
+#line 90304 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -90139,7 +90310,7 @@ int main() {
 static struct msghdr tp; int n = (int) tp.msg_flags; return n
 ; return 0; }
 EOF
-if { (eval echo configure:90143: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:90314: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -90456,7 +90627,7 @@ fi
 php_enable_spl=yes
 
 echo $ac_n "checking enable SPL suppport""... $ac_c" 1>&6
-echo "configure:90460: checking enable SPL suppport" >&5
+echo "configure:90631: checking enable SPL suppport" >&5
 # Check whether --enable-spl or --disable-spl was given.
 if test "${enable_spl+set}" = set; then
   enableval="$enable_spl"
@@ -90501,7 +90672,7 @@ echo "$ac_t""$ext_output" 1>&6
 
 if test "$PHP_SPL" != "no"; then
   echo $ac_n "checking whether zend_object_value is packed""... $ac_c" 1>&6
-echo "configure:90505: checking whether zend_object_value is packed" >&5
+echo "configure:90676: checking whether zend_object_value is packed" >&5
   old_CPPFLAGS=$CPPFLAGS
   CPPFLAGS="$INCLUDES -I$abs_srcdir $CPPFLAGS"
   if test "$cross_compiling" = yes; then
@@ -90511,7 +90682,7 @@ echo "configure:90505: checking whether zend_object_value is packed" >&5
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 90515 "configure"
+#line 90686 "configure"
 #include "confdefs.h"
 
 #include "Zend/zend_types.h"
@@ -90520,7 +90691,7 @@ int main(int argc, char **argv) {
 }
   
 EOF
-if { (eval echo configure:90524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:90695: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     ac_result=1
@@ -90885,7 +91056,7 @@ fi
 php_with_sqlite=yes
 
 echo $ac_n "checking for sqlite support""... $ac_c" 1>&6
-echo "configure:90889: checking for sqlite support" >&5
+echo "configure:91060: checking for sqlite support" >&5
 # Check whether --with-sqlite or --without-sqlite was given.
 if test "${with_sqlite+set}" = set; then
   withval="$with_sqlite"
@@ -90932,7 +91103,7 @@ echo "$ac_t""$ext_output" 1>&6
 php_enable_sqlite_utf8=no
 
 echo $ac_n "checking whether to enable UTF-8 support in sqlite (default: ISO-8859-1)""... $ac_c" 1>&6
-echo "configure:90936: checking whether to enable UTF-8 support in sqlite (default: ISO-8859-1)" >&5
+echo "configure:91107: checking whether to enable UTF-8 support in sqlite (default: ISO-8859-1)" >&5
 # Check whether --enable-sqlite-utf8 or --disable-sqlite-utf8 was given.
 if test "${enable_sqlite_utf8+set}" = set; then
   enableval="$enable_sqlite_utf8"
@@ -90963,13 +91134,13 @@ if test "$PHP_SQLITE" != "no"; then
   if test "$PHP_PDO" != "no"; then
     
   echo $ac_n "checking for PDO includes""... $ac_c" 1>&6
-echo "configure:90967: checking for PDO includes" >&5
+echo "configure:91138: checking for PDO includes" >&5
 if eval "test \"`echo '$''{'pdo_inc_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     echo $ac_n "checking for PDO includes""... $ac_c" 1>&6
-echo "configure:90973: checking for PDO includes" >&5
+echo "configure:91144: checking for PDO includes" >&5
     if test -f $abs_srcdir/include/php/ext/pdo/php_pdo_driver.h; then
       pdo_inc_path=$abs_srcdir/ext
     elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then
@@ -91003,7 +91174,7 @@ EOF
       SQLITE_DIR=$PHP_SQLITE
     else # search default path list
       echo $ac_n "checking for sqlite files in default path""... $ac_c" 1>&6
-echo "configure:91007: checking for sqlite files in default path" >&5
+echo "configure:91178: checking for sqlite files in default path" >&5
       for i in $SEARCH_PATH ; do
         if test -r $i/$SEARCH_FOR; then
           SQLITE_DIR=$i
@@ -91115,7 +91286,7 @@ echo "configure:91007: checking for sqlite files in default path" >&5
   done
 
   echo $ac_n "checking for sqlite_open in -lsqlite""... $ac_c" 1>&6
-echo "configure:91119: checking for sqlite_open in -lsqlite" >&5
+echo "configure:91290: checking for sqlite_open in -lsqlite" >&5
 ac_lib_var=`echo sqlite'_'sqlite_open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -91123,7 +91294,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsqlite  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 91127 "configure"
+#line 91298 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -91134,7 +91305,7 @@ int main() {
 sqlite_open()
 ; return 0; }
 EOF
-if { (eval echo configure:91138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:91309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -91307,7 +91478,7 @@ fi
   # Extract the first word of "lemon", so it can be a program name with args.
 set dummy lemon; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:91311: checking for $ac_word" >&5
+echo "configure:91482: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LEMON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -91335,7 +91506,7 @@ fi
 
   if test "$LEMON"; then
     echo $ac_n "checking for lemon version""... $ac_c" 1>&6
-echo "configure:91339: checking for lemon version" >&5
+echo "configure:91510: checking for lemon version" >&5
 if eval "test \"`echo '$''{'php_cv_lemon_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -91748,7 +91919,7 @@ but you've either not enabled pdo, or have disabled it.
   
 
     echo $ac_n "checking size of char *""... $ac_c" 1>&6
-echo "configure:91752: checking size of char *" >&5
+echo "configure:91923: checking size of char *" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_char_p'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -91756,7 +91927,7 @@ else
   ac_cv_sizeof_char_p=4
 else
   cat > conftest.$ac_ext <<EOF
-#line 91760 "configure"
+#line 91931 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main()
@@ -91767,7 +91938,7 @@ int main()
   return(0);
 }
 EOF
-if { (eval echo configure:91771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:91942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_char_p=`cat conftestval`
 else
@@ -91829,12 +92000,12 @@ EOF
   for ac_func in usleep nanosleep
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:91833: checking for $ac_func" >&5
+echo "configure:92004: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 91838 "configure"
+#line 92009 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -91857,7 +92028,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:91861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:92032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -91885,17 +92056,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:91889: checking for $ac_hdr" >&5
+echo "configure:92060: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 91894 "configure"
+#line 92065 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:91899: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:92070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -91926,7 +92097,7 @@ fi
 
 
 echo $ac_n "checking whether flush should be called explicitly after a buffered io""... $ac_c" 1>&6
-echo "configure:91930: checking whether flush should be called explicitly after a buffered io" >&5
+echo "configure:92101: checking whether flush should be called explicitly after a buffered io" >&5
 if eval "test \"`echo '$''{'ac_cv_flush_io'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -91937,7 +92108,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 91941 "configure"
+#line 92112 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -91975,7 +92146,7 @@ int main(int argc, char **argv)
 }
 
 EOF
-if { (eval echo configure:91979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:92150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   ac_cv_flush_io=no
@@ -92003,7 +92174,7 @@ fi
 
 if test "$ac_cv_func_crypt" = "no"; then
   echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:92007: checking for crypt in -lcrypt" >&5
+echo "configure:92178: checking for crypt in -lcrypt" >&5
 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -92011,7 +92182,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 92015 "configure"
+#line 92186 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -92022,7 +92193,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:92026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:92197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -92051,7 +92222,7 @@ fi
 fi
   
 echo $ac_n "checking for standard DES crypt""... $ac_c" 1>&6
-echo "configure:92055: checking for standard DES crypt" >&5
+echo "configure:92226: checking for standard DES crypt" >&5
 if eval "test \"`echo '$''{'ac_cv_crypt_des'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -92062,7 +92233,7 @@ else
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 92066 "configure"
+#line 92237 "configure"
 #include "confdefs.h"
 
 #if HAVE_UNISTD_H
@@ -92081,7 +92252,7 @@ main() {
 #endif
 }
 EOF
-if { (eval echo configure:92085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:92256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   ac_cv_crypt_des=yes
@@ -92111,7 +92282,7 @@ EOF
 
 
 echo $ac_n "checking for extended DES crypt""... $ac_c" 1>&6
-echo "configure:92115: checking for extended DES crypt" >&5
+echo "configure:92286: checking for extended DES crypt" >&5
 if eval "test \"`echo '$''{'ac_cv_crypt_ext_des'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -92122,7 +92293,7 @@ else
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 92126 "configure"
+#line 92297 "configure"
 #include "confdefs.h"
 
 #if HAVE_UNISTD_H
@@ -92141,7 +92312,7 @@ main() {
 #endif
 }
 EOF
-if { (eval echo configure:92145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:92316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   ac_cv_crypt_ext_des=yes
@@ -92171,7 +92342,7 @@ EOF
 
 
 echo $ac_n "checking for MD5 crypt""... $ac_c" 1>&6
-echo "configure:92175: checking for MD5 crypt" >&5
+echo "configure:92346: checking for MD5 crypt" >&5
 if eval "test \"`echo '$''{'ac_cv_crypt_md5'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -92182,7 +92353,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 92186 "configure"
+#line 92357 "configure"
 #include "confdefs.h"
 
 #if HAVE_UNISTD_H
@@ -92210,7 +92381,7 @@ main() {
 #endif
 }
 EOF
-if { (eval echo configure:92214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:92385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   ac_cv_crypt_md5=yes
@@ -92269,7 +92440,7 @@ EOF
 
 
 echo $ac_n "checking for Blowfish crypt""... $ac_c" 1>&6
-echo "configure:92273: checking for Blowfish crypt" >&5
+echo "configure:92444: checking for Blowfish crypt" >&5
 if eval "test \"`echo '$''{'ac_cv_crypt_blowfish'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -92280,7 +92451,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 92284 "configure"
+#line 92455 "configure"
 #include "confdefs.h"
 
 #if HAVE_UNISTD_H
@@ -92305,7 +92476,7 @@ main() {
 #endif
 }
 EOF
-if { (eval echo configure:92309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:92480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   ac_cv_crypt_blowfish=yes
@@ -92337,12 +92508,12 @@ EOF
 for ac_func in getcwd getwd asinh acosh atanh log1p hypot glob strfmon nice fpclass isinf isnan
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:92341: checking for $ac_func" >&5
+echo "configure:92512: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 92346 "configure"
+#line 92517 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -92365,7 +92536,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:92369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:92540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -92390,7 +92561,7 @@ fi
 done
 
 echo $ac_n "checking for working fnmatch""... $ac_c" 1>&6
-echo "configure:92394: checking for working fnmatch" >&5
+echo "configure:92565: checking for working fnmatch" >&5
 if eval "test \"`echo '$''{'ac_cv_func_fnmatch_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -92401,11 +92572,11 @@ if test "$cross_compiling" = yes; then
   ac_cv_func_fnmatch_works=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 92405 "configure"
+#line 92576 "configure"
 #include "confdefs.h"
 main() { exit (fnmatch ("a*", "abc", 0) != 0); }
 EOF
-if { (eval echo configure:92409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:92580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_fnmatch_works=yes
 else
@@ -92536,13 +92707,13 @@ elif test "$REGEX_TYPE" = "system"; then
 EOF
 
     echo $ac_n "checking whether field re_magic exists in struct regex_t""... $ac_c" 1>&6
-echo "configure:92540: checking whether field re_magic exists in struct regex_t" >&5
+echo "configure:92711: checking whether field re_magic exists in struct regex_t" >&5
 if eval "test \"`echo '$''{'ac_cv_regex_t_re_magic'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 92546 "configure"
+#line 92717 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <regex.h>
@@ -92550,7 +92721,7 @@ int main() {
 regex_t rt; rt.re_magic;
 ; return 0; }
 EOF
-if { (eval echo configure:92554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:92725: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_regex_t_re_magic=yes
 else
@@ -92571,11 +92742,11 @@ EOF
   fi 
 fi   
 echo $ac_n "checking which regex library to use""... $ac_c" 1>&6
-echo "configure:92575: checking which regex library to use" >&5
+echo "configure:92746: checking which regex library to use" >&5
 echo "$ac_t""$REGEX_TYPE" 1>&6
 
 echo $ac_n "checking whether rounding works as expected""... $ac_c" 1>&6
-echo "configure:92579: checking whether rounding works as expected" >&5
+echo "configure:92750: checking whether rounding works as expected" >&5
 if test "$cross_compiling" = yes; then
   
   PHP_ROUND_FUZZ=0.50000000001
@@ -92583,7 +92754,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 92587 "configure"
+#line 92758 "configure"
 #include "confdefs.h"
 
 #include <math.h>
@@ -92596,7 +92767,7 @@ else
   }
 
 EOF
-if { (eval echo configure:92600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:92771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   PHP_ROUND_FUZZ=0.5
@@ -92626,12 +92797,12 @@ else
 for ac_func in fork CreateProcess
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:92630: checking for $ac_func" >&5
+echo "configure:92801: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 92635 "configure"
+#line 92806 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -92654,7 +92825,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:92658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:92829: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -92686,7 +92857,7 @@ done
 fi
 
 echo $ac_n "checking if your OS can spawn processes with inherited handles""... $ac_c" 1>&6
-echo "configure:92690: checking if your OS can spawn processes with inherited handles" >&5
+echo "configure:92861: checking if your OS can spawn processes with inherited handles" >&5
 if test "$php_can_support_proc_open" = "yes"; then
   echo "$ac_t""yes" 1>&6
   cat >> confdefs.h <<\EOF
@@ -92711,12 +92882,12 @@ fi
   unset found
   
   echo $ac_n "checking for res_nmkquery""... $ac_c" 1>&6
-echo "configure:92715: checking for res_nmkquery" >&5
+echo "configure:92886: checking for res_nmkquery" >&5
 if eval "test \"`echo '$''{'ac_cv_func_res_nmkquery'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 92720 "configure"
+#line 92891 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char res_nmkquery(); below.  */
@@ -92739,7 +92910,7 @@ res_nmkquery();
 
 ; return 0; }
 EOF
-if { (eval echo configure:92743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:92914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_res_nmkquery=yes"
 else
@@ -92757,12 +92928,12 @@ if eval "test \"`echo '$ac_cv_func_'res_nmkquery`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
  echo $ac_n "checking for __res_nmkquery""... $ac_c" 1>&6
-echo "configure:92761: checking for __res_nmkquery" >&5
+echo "configure:92932: checking for __res_nmkquery" >&5
 if eval "test \"`echo '$''{'ac_cv_func___res_nmkquery'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 92766 "configure"
+#line 92937 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char __res_nmkquery(); below.  */
@@ -92785,7 +92956,7 @@ __res_nmkquery();
 
 ; return 0; }
 EOF
-if { (eval echo configure:92789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:92960: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func___res_nmkquery=yes"
 else
@@ -92823,7 +92994,7 @@ EOF
   unset ac_cv_lib_resolv___res_nmkquery
   unset found
   echo $ac_n "checking for res_nmkquery in -lresolv""... $ac_c" 1>&6
-echo "configure:92827: checking for res_nmkquery in -lresolv" >&5
+echo "configure:92998: checking for res_nmkquery in -lresolv" >&5
 ac_lib_var=`echo resolv'_'res_nmkquery | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -92831,7 +93002,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 92835 "configure"
+#line 93006 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -92842,7 +93013,7 @@ int main() {
 res_nmkquery()
 ; return 0; }
 EOF
-if { (eval echo configure:92846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -92862,7 +93033,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for __res_nmkquery in -lresolv""... $ac_c" 1>&6
-echo "configure:92866: checking for __res_nmkquery in -lresolv" >&5
+echo "configure:93037: checking for __res_nmkquery in -lresolv" >&5
 ac_lib_var=`echo resolv'_'__res_nmkquery | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -92870,7 +93041,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 92874 "configure"
+#line 93045 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -92881,7 +93052,7 @@ int main() {
 __res_nmkquery()
 ; return 0; }
 EOF
-if { (eval echo configure:92885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -92913,11 +93084,11 @@ fi
   found=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 92917 "configure"
+#line 93088 "configure"
 #include "confdefs.h"
 main() { return (0); }
 EOF
-if { (eval echo configure:92921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:93092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   found=yes
 else
@@ -92959,7 +93130,7 @@ EOF
   unset ac_cv_lib_bind___res_nmkquery
   unset found
   echo $ac_n "checking for res_nmkquery in -lbind""... $ac_c" 1>&6
-echo "configure:92963: checking for res_nmkquery in -lbind" >&5
+echo "configure:93134: checking for res_nmkquery in -lbind" >&5
 ac_lib_var=`echo bind'_'res_nmkquery | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -92967,7 +93138,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbind  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 92971 "configure"
+#line 93142 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -92978,7 +93149,7 @@ int main() {
 res_nmkquery()
 ; return 0; }
 EOF
-if { (eval echo configure:92982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -92998,7 +93169,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for __res_nmkquery in -lbind""... $ac_c" 1>&6
-echo "configure:93002: checking for __res_nmkquery in -lbind" >&5
+echo "configure:93173: checking for __res_nmkquery in -lbind" >&5
 ac_lib_var=`echo bind'_'__res_nmkquery | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93006,7 +93177,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbind  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93010 "configure"
+#line 93181 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93017,7 +93188,7 @@ int main() {
 __res_nmkquery()
 ; return 0; }
 EOF
-if { (eval echo configure:93021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93049,11 +93220,11 @@ fi
   found=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 93053 "configure"
+#line 93224 "configure"
 #include "confdefs.h"
 main() { return (0); }
 EOF
-if { (eval echo configure:93057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:93228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   found=yes
 else
@@ -93095,7 +93266,7 @@ EOF
   unset ac_cv_lib_socket___res_nmkquery
   unset found
   echo $ac_n "checking for res_nmkquery in -lsocket""... $ac_c" 1>&6
-echo "configure:93099: checking for res_nmkquery in -lsocket" >&5
+echo "configure:93270: checking for res_nmkquery in -lsocket" >&5
 ac_lib_var=`echo socket'_'res_nmkquery | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93103,7 +93274,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93107 "configure"
+#line 93278 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93114,7 +93285,7 @@ int main() {
 res_nmkquery()
 ; return 0; }
 EOF
-if { (eval echo configure:93118: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93134,7 +93305,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for __res_nmkquery in -lsocket""... $ac_c" 1>&6
-echo "configure:93138: checking for __res_nmkquery in -lsocket" >&5
+echo "configure:93309: checking for __res_nmkquery in -lsocket" >&5
 ac_lib_var=`echo socket'_'__res_nmkquery | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93142,7 +93313,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93146 "configure"
+#line 93317 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93153,7 +93324,7 @@ int main() {
 __res_nmkquery()
 ; return 0; }
 EOF
-if { (eval echo configure:93157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93185,11 +93356,11 @@ fi
   found=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 93189 "configure"
+#line 93360 "configure"
 #include "confdefs.h"
 main() { return (0); }
 EOF
-if { (eval echo configure:93193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:93364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   found=yes
 else
@@ -93246,12 +93417,12 @@ EOF
   unset found
   
   echo $ac_n "checking for res_nsend""... $ac_c" 1>&6
-echo "configure:93250: checking for res_nsend" >&5
+echo "configure:93421: checking for res_nsend" >&5
 if eval "test \"`echo '$''{'ac_cv_func_res_nsend'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 93255 "configure"
+#line 93426 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char res_nsend(); below.  */
@@ -93274,7 +93445,7 @@ res_nsend();
 
 ; return 0; }
 EOF
-if { (eval echo configure:93278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_res_nsend=yes"
 else
@@ -93292,12 +93463,12 @@ if eval "test \"`echo '$ac_cv_func_'res_nsend`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
  echo $ac_n "checking for __res_nsend""... $ac_c" 1>&6
-echo "configure:93296: checking for __res_nsend" >&5
+echo "configure:93467: checking for __res_nsend" >&5
 if eval "test \"`echo '$''{'ac_cv_func___res_nsend'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 93301 "configure"
+#line 93472 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char __res_nsend(); below.  */
@@ -93320,7 +93491,7 @@ __res_nsend();
 
 ; return 0; }
 EOF
-if { (eval echo configure:93324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func___res_nsend=yes"
 else
@@ -93358,7 +93529,7 @@ EOF
   unset ac_cv_lib_resolv___res_nsend
   unset found
   echo $ac_n "checking for res_nsend in -lresolv""... $ac_c" 1>&6
-echo "configure:93362: checking for res_nsend in -lresolv" >&5
+echo "configure:93533: checking for res_nsend in -lresolv" >&5
 ac_lib_var=`echo resolv'_'res_nsend | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93366,7 +93537,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93370 "configure"
+#line 93541 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93377,7 +93548,7 @@ int main() {
 res_nsend()
 ; return 0; }
 EOF
-if { (eval echo configure:93381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93397,7 +93568,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for __res_nsend in -lresolv""... $ac_c" 1>&6
-echo "configure:93401: checking for __res_nsend in -lresolv" >&5
+echo "configure:93572: checking for __res_nsend in -lresolv" >&5
 ac_lib_var=`echo resolv'_'__res_nsend | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93405,7 +93576,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93409 "configure"
+#line 93580 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93416,7 +93587,7 @@ int main() {
 __res_nsend()
 ; return 0; }
 EOF
-if { (eval echo configure:93420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93448,11 +93619,11 @@ fi
   found=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 93452 "configure"
+#line 93623 "configure"
 #include "confdefs.h"
 main() { return (0); }
 EOF
-if { (eval echo configure:93456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:93627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   found=yes
 else
@@ -93494,7 +93665,7 @@ EOF
   unset ac_cv_lib_bind___res_nsend
   unset found
   echo $ac_n "checking for res_nsend in -lbind""... $ac_c" 1>&6
-echo "configure:93498: checking for res_nsend in -lbind" >&5
+echo "configure:93669: checking for res_nsend in -lbind" >&5
 ac_lib_var=`echo bind'_'res_nsend | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93502,7 +93673,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbind  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93506 "configure"
+#line 93677 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93513,7 +93684,7 @@ int main() {
 res_nsend()
 ; return 0; }
 EOF
-if { (eval echo configure:93517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93533,7 +93704,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for __res_nsend in -lbind""... $ac_c" 1>&6
-echo "configure:93537: checking for __res_nsend in -lbind" >&5
+echo "configure:93708: checking for __res_nsend in -lbind" >&5
 ac_lib_var=`echo bind'_'__res_nsend | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93541,7 +93712,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbind  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93545 "configure"
+#line 93716 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93552,7 +93723,7 @@ int main() {
 __res_nsend()
 ; return 0; }
 EOF
-if { (eval echo configure:93556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93584,11 +93755,11 @@ fi
   found=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 93588 "configure"
+#line 93759 "configure"
 #include "confdefs.h"
 main() { return (0); }
 EOF
-if { (eval echo configure:93592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:93763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   found=yes
 else
@@ -93630,7 +93801,7 @@ EOF
   unset ac_cv_lib_socket___res_nsend
   unset found
   echo $ac_n "checking for res_nsend in -lsocket""... $ac_c" 1>&6
-echo "configure:93634: checking for res_nsend in -lsocket" >&5
+echo "configure:93805: checking for res_nsend in -lsocket" >&5
 ac_lib_var=`echo socket'_'res_nsend | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93638,7 +93809,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93642 "configure"
+#line 93813 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93649,7 +93820,7 @@ int main() {
 res_nsend()
 ; return 0; }
 EOF
-if { (eval echo configure:93653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93669,7 +93840,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for __res_nsend in -lsocket""... $ac_c" 1>&6
-echo "configure:93673: checking for __res_nsend in -lsocket" >&5
+echo "configure:93844: checking for __res_nsend in -lsocket" >&5
 ac_lib_var=`echo socket'_'__res_nsend | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93677,7 +93848,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93681 "configure"
+#line 93852 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93688,7 +93859,7 @@ int main() {
 __res_nsend()
 ; return 0; }
 EOF
-if { (eval echo configure:93692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93720,11 +93891,11 @@ fi
   found=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 93724 "configure"
+#line 93895 "configure"
 #include "confdefs.h"
 main() { return (0); }
 EOF
-if { (eval echo configure:93728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:93899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   found=yes
 else
@@ -93781,12 +93952,12 @@ EOF
   unset found
   
   echo $ac_n "checking for dn_expand""... $ac_c" 1>&6
-echo "configure:93785: checking for dn_expand" >&5
+echo "configure:93956: checking for dn_expand" >&5
 if eval "test \"`echo '$''{'ac_cv_func_dn_expand'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 93790 "configure"
+#line 93961 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dn_expand(); below.  */
@@ -93809,7 +93980,7 @@ dn_expand();
 
 ; return 0; }
 EOF
-if { (eval echo configure:93813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:93984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_dn_expand=yes"
 else
@@ -93827,12 +93998,12 @@ if eval "test \"`echo '$ac_cv_func_'dn_expand`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
  echo $ac_n "checking for __dn_expand""... $ac_c" 1>&6
-echo "configure:93831: checking for __dn_expand" >&5
+echo "configure:94002: checking for __dn_expand" >&5
 if eval "test \"`echo '$''{'ac_cv_func___dn_expand'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 93836 "configure"
+#line 94007 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char __dn_expand(); below.  */
@@ -93855,7 +94026,7 @@ __dn_expand();
 
 ; return 0; }
 EOF
-if { (eval echo configure:93859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:94030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func___dn_expand=yes"
 else
@@ -93893,7 +94064,7 @@ EOF
   unset ac_cv_lib_resolv___dn_expand
   unset found
   echo $ac_n "checking for dn_expand in -lresolv""... $ac_c" 1>&6
-echo "configure:93897: checking for dn_expand in -lresolv" >&5
+echo "configure:94068: checking for dn_expand in -lresolv" >&5
 ac_lib_var=`echo resolv'_'dn_expand | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93901,7 +94072,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93905 "configure"
+#line 94076 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93912,7 +94083,7 @@ int main() {
 dn_expand()
 ; return 0; }
 EOF
-if { (eval echo configure:93916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:94087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93932,7 +94103,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for __dn_expand in -lresolv""... $ac_c" 1>&6
-echo "configure:93936: checking for __dn_expand in -lresolv" >&5
+echo "configure:94107: checking for __dn_expand in -lresolv" >&5
 ac_lib_var=`echo resolv'_'__dn_expand | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -93940,7 +94111,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 93944 "configure"
+#line 94115 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -93951,7 +94122,7 @@ int main() {
 __dn_expand()
 ; return 0; }
 EOF
-if { (eval echo configure:93955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:94126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -93983,11 +94154,11 @@ fi
   found=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 93987 "configure"
+#line 94158 "configure"
 #include "confdefs.h"
 main() { return (0); }
 EOF
-if { (eval echo configure:93991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:94162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   found=yes
 else
@@ -94029,7 +94200,7 @@ EOF
   unset ac_cv_lib_bind___dn_expand
   unset found
   echo $ac_n "checking for dn_expand in -lbind""... $ac_c" 1>&6
-echo "configure:94033: checking for dn_expand in -lbind" >&5
+echo "configure:94204: checking for dn_expand in -lbind" >&5
 ac_lib_var=`echo bind'_'dn_expand | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -94037,7 +94208,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbind  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 94041 "configure"
+#line 94212 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -94048,7 +94219,7 @@ int main() {
 dn_expand()
 ; return 0; }
 EOF
-if { (eval echo configure:94052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:94223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -94068,7 +94239,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for __dn_expand in -lbind""... $ac_c" 1>&6
-echo "configure:94072: checking for __dn_expand in -lbind" >&5
+echo "configure:94243: checking for __dn_expand in -lbind" >&5
 ac_lib_var=`echo bind'_'__dn_expand | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -94076,7 +94247,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbind  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 94080 "configure"
+#line 94251 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -94087,7 +94258,7 @@ int main() {
 __dn_expand()
 ; return 0; }
 EOF
-if { (eval echo configure:94091: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:94262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -94119,11 +94290,11 @@ fi
   found=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 94123 "configure"
+#line 94294 "configure"
 #include "confdefs.h"
 main() { return (0); }
 EOF
-if { (eval echo configure:94127: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:94298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   found=yes
 else
@@ -94165,7 +94336,7 @@ EOF
   unset ac_cv_lib_socket___dn_expand
   unset found
   echo $ac_n "checking for dn_expand in -lsocket""... $ac_c" 1>&6
-echo "configure:94169: checking for dn_expand in -lsocket" >&5
+echo "configure:94340: checking for dn_expand in -lsocket" >&5
 ac_lib_var=`echo socket'_'dn_expand | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -94173,7 +94344,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 94177 "configure"
+#line 94348 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -94184,7 +94355,7 @@ int main() {
 dn_expand()
 ; return 0; }
 EOF
-if { (eval echo configure:94188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:94359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -94204,7 +94375,7 @@ else
   echo "$ac_t""no" 1>&6
 
     echo $ac_n "checking for __dn_expand in -lsocket""... $ac_c" 1>&6
-echo "configure:94208: checking for __dn_expand in -lsocket" >&5
+echo "configure:94379: checking for __dn_expand in -lsocket" >&5
 ac_lib_var=`echo socket'_'__dn_expand | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -94212,7 +94383,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 94216 "configure"
+#line 94387 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -94223,7 +94394,7 @@ int main() {
 __dn_expand()
 ; return 0; }
 EOF
-if { (eval echo configure:94227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:94398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -94255,11 +94426,11 @@ fi
   found=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 94259 "configure"
+#line 94430 "configure"
 #include "confdefs.h"
 main() { return (0); }
 EOF
-if { (eval echo configure:94263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:94434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   found=yes
 else
@@ -94312,7 +94483,7 @@ EOF
 
 
 echo $ac_n "checking whether atof() accepts NAN""... $ac_c" 1>&6
-echo "configure:94316: checking whether atof() accepts NAN" >&5
+echo "configure:94487: checking whether atof() accepts NAN" >&5
 if eval "test \"`echo '$''{'ac_cv_atof_accept_nan'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -94323,7 +94494,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 94327 "configure"
+#line 94498 "configure"
 #include "confdefs.h"
 
 #include <math.h>
@@ -94343,7 +94514,7 @@ int main(int argc, char** argv)
 }
 
 EOF
-if { (eval echo configure:94347: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:94518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   ac_cv_atof_accept_nan=yes
@@ -94370,7 +94541,7 @@ EOF
 fi
 
 echo $ac_n "checking whether atof() accepts INF""... $ac_c" 1>&6
-echo "configure:94374: checking whether atof() accepts INF" >&5
+echo "configure:94545: checking whether atof() accepts INF" >&5
 if eval "test \"`echo '$''{'ac_cv_atof_accept_inf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -94381,7 +94552,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 94385 "configure"
+#line 94556 "configure"
 #include "confdefs.h"
 
 #include <math.h>
@@ -94404,7 +94575,7 @@ int main(int argc, char** argv)
 }
 
 EOF
-if { (eval echo configure:94408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:94579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   ac_cv_atof_accept_inf=yes
@@ -94431,7 +94602,7 @@ EOF
 fi
 
 echo $ac_n "checking whether HUGE_VAL == INF""... $ac_c" 1>&6
-echo "configure:94435: checking whether HUGE_VAL == INF" >&5
+echo "configure:94606: checking whether HUGE_VAL == INF" >&5
 if eval "test \"`echo '$''{'ac_cv_huge_val_inf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -94442,7 +94613,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 94446 "configure"
+#line 94617 "configure"
 #include "confdefs.h"
 
 #include <math.h>
@@ -94465,7 +94636,7 @@ int main(int argc, char** argv)
 }
 
 EOF
-if { (eval echo configure:94469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:94640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   ac_cv_huge_val_inf=yes
@@ -94492,7 +94663,7 @@ EOF
 fi
 
 echo $ac_n "checking whether HUGE_VAL + -HUGEVAL == NAN""... $ac_c" 1>&6
-echo "configure:94496: checking whether HUGE_VAL + -HUGEVAL == NAN" >&5
+echo "configure:94667: checking whether HUGE_VAL + -HUGEVAL == NAN" >&5
 if eval "test \"`echo '$''{'ac_cv_huge_val_nan'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -94503,7 +94674,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 94507 "configure"
+#line 94678 "configure"
 #include "confdefs.h"
 
 #include <math.h>
@@ -94528,7 +94699,7 @@ int main(int argc, char** argv)
 }
 
 EOF
-if { (eval echo configure:94532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:94703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   ac_cv_huge_val_nan=yes
@@ -94555,13 +94726,13 @@ EOF
 fi
 
 echo $ac_n "checking whether strptime() declaration fails""... $ac_c" 1>&6
-echo "configure:94559: checking whether strptime() declaration fails" >&5
+echo "configure:94730: checking whether strptime() declaration fails" >&5
 if eval "test \"`echo '$''{'ac_cv_strptime_decl_fails'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 94565 "configure"
+#line 94736 "configure"
 #include "confdefs.h"
 
 #include <time.h>
@@ -94577,7 +94748,7 @@ int strptime(const char *s, const char *format, struct tm *tm);
 
 ; return 0; }
 EOF
-if { (eval echo configure:94581: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:94752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
   ac_cv_strptime_decl_fails=no
@@ -94605,17 +94776,17 @@ for ac_hdr in wchar.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:94609: checking for $ac_hdr" >&5
+echo "configure:94780: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 94614 "configure"
+#line 94785 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:94619: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:94790: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -94644,12 +94815,12 @@ done
 for ac_func in mblen
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:94648: checking for $ac_func" >&5
+echo "configure:94819: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 94653 "configure"
+#line 94824 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -94672,7 +94843,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:94676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:94847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -94699,12 +94870,12 @@ done
 for ac_func in mbrlen mbsinit
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:94703: checking for $ac_func" >&5
+echo "configure:94874: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 94708 "configure"
+#line 94879 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -94727,7 +94898,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:94731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:94902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -94752,13 +94923,13 @@ fi
 done
 
 echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:94756: checking for mbstate_t" >&5
+echo "configure:94927: checking for mbstate_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_mbstate_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 94762 "configure"
+#line 94933 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_WCHAR_H
@@ -94771,7 +94942,7 @@ int __tmp__() { mbstate_t a; }
 
 ; return 0; }
 EOF
-if { (eval echo configure:94775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:94946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
   ac_cv_type_mbstate_t=yes
@@ -94829,7 +95000,7 @@ fi
                             info.c iptc.c lcg.c link.c mail.c math.c md5.c metaphone.c \
                             microtime.c pack.c pageinfo.c quot_print.c rand.c \
                             reg.c soundex.c string.c scanf.c syslog.c type.c uniqid.c url.c \
-                            url_scanner.c var.c versioning.c assert.c strnatcmp.c levenshtein.c \
+                            var.c versioning.c assert.c strnatcmp.c levenshtein.c \
                             incomplete_class.c url_scanner_ex.c ftp_fopen_wrapper.c \
                             http_fopen_wrapper.c php_fopen_wrapper.c credits.c css.c \
                             var_unserializer.c ftok.c sha1.c user_filters.c uuencode.c \
@@ -94888,7 +95059,7 @@ EOF
                             info.c iptc.c lcg.c link.c mail.c math.c md5.c metaphone.c \
                             microtime.c pack.c pageinfo.c quot_print.c rand.c \
                             reg.c soundex.c string.c scanf.c syslog.c type.c uniqid.c url.c \
-                            url_scanner.c var.c versioning.c assert.c strnatcmp.c levenshtein.c \
+                            var.c versioning.c assert.c strnatcmp.c levenshtein.c \
                             incomplete_class.c url_scanner_ex.c ftp_fopen_wrapper.c \
                             http_fopen_wrapper.c php_fopen_wrapper.c credits.c css.c \
                             var_unserializer.c ftok.c sha1.c user_filters.c uuencode.c \
@@ -95027,7 +95198,7 @@ EOF
                             info.c iptc.c lcg.c link.c mail.c math.c md5.c metaphone.c \
                             microtime.c pack.c pageinfo.c quot_print.c rand.c \
                             reg.c soundex.c string.c scanf.c syslog.c type.c uniqid.c url.c \
-                            url_scanner.c var.c versioning.c assert.c strnatcmp.c levenshtein.c \
+                            var.c versioning.c assert.c strnatcmp.c levenshtein.c \
                             incomplete_class.c url_scanner_ex.c ftp_fopen_wrapper.c \
                             http_fopen_wrapper.c php_fopen_wrapper.c credits.c css.c \
                             var_unserializer.c ftok.c sha1.c user_filters.c uuencode.c \
@@ -95083,7 +95254,7 @@ EOF
                             info.c iptc.c lcg.c link.c mail.c math.c md5.c metaphone.c \
                             microtime.c pack.c pageinfo.c quot_print.c rand.c \
                             reg.c soundex.c string.c scanf.c syslog.c type.c uniqid.c url.c \
-                            url_scanner.c var.c versioning.c assert.c strnatcmp.c levenshtein.c \
+                            var.c versioning.c assert.c strnatcmp.c levenshtein.c \
                             incomplete_class.c url_scanner_ex.c ftp_fopen_wrapper.c \
                             http_fopen_wrapper.c php_fopen_wrapper.c credits.c css.c \
                             var_unserializer.c ftok.c sha1.c user_filters.c uuencode.c \
@@ -95158,7 +95329,7 @@ EOF
 php_with_sybase=no
 
 echo $ac_n "checking for Sybase support""... $ac_c" 1>&6
-echo "configure:95162: checking for Sybase support" >&5
+echo "configure:95333: checking for Sybase support" >&5
 # Check whether --with-sybase or --without-sybase was given.
 if test "${with_sybase+set}" = set; then
   withval="$with_sybase"
@@ -95630,7 +95801,7 @@ EOF
   fi
 
   echo $ac_n "checking for dnet_addr in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:95634: checking for dnet_addr in -ldnet_stub" >&5
+echo "configure:95805: checking for dnet_addr in -ldnet_stub" >&5
 ac_lib_var=`echo dnet_stub'_'dnet_addr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -95638,7 +95809,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 95642 "configure"
+#line 95813 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -95649,7 +95820,7 @@ int main() {
 dnet_addr()
 ; return 0; }
 EOF
-if { (eval echo configure:95653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:95824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -95775,7 +95946,7 @@ fi
 EOF
 
   echo $ac_n "checking for tdsdbopen in -lsybdb""... $ac_c" 1>&6
-echo "configure:95779: checking for tdsdbopen in -lsybdb" >&5
+echo "configure:95950: checking for tdsdbopen in -lsybdb" >&5
 ac_lib_var=`echo sybdb'_'tdsdbopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -95783,7 +95954,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsybdb  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 95787 "configure"
+#line 95958 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -95794,7 +95965,7 @@ int main() {
 tdsdbopen()
 ; return 0; }
 EOF
-if { (eval echo configure:95798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:95969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -95836,7 +96007,7 @@ fi
 php_with_sybase_ct=no
 
 echo $ac_n "checking for Sybase-CT support""... $ac_c" 1>&6
-echo "configure:95840: checking for Sybase-CT support" >&5
+echo "configure:96011: checking for Sybase-CT support" >&5
 # Check whether --with-sybase-ct or --without-sybase-ct was given.
 if test "${with_sybase_ct+set}" = set; then
   withval="$with_sybase_ct"
@@ -96486,7 +96657,7 @@ EOF
   done
 
   echo $ac_n "checking for netg_errstr in -ltcl""... $ac_c" 1>&6
-echo "configure:96490: checking for netg_errstr in -ltcl" >&5
+echo "configure:96661: checking for netg_errstr in -ltcl" >&5
 ac_lib_var=`echo tcl'_'netg_errstr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -96494,7 +96665,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltcl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 96498 "configure"
+#line 96669 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -96505,7 +96676,7 @@ int main() {
 netg_errstr()
 ; return 0; }
 EOF
-if { (eval echo configure:96509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:96680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -96680,7 +96851,7 @@ fi
   done
 
   echo $ac_n "checking for insck__getVdate in -linsck""... $ac_c" 1>&6
-echo "configure:96684: checking for insck__getVdate in -linsck" >&5
+echo "configure:96855: checking for insck__getVdate in -linsck" >&5
 ac_lib_var=`echo insck'_'insck__getVdate | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -96688,7 +96859,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-linsck  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 96692 "configure"
+#line 96863 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -96699,7 +96870,7 @@ int main() {
 insck__getVdate()
 ; return 0; }
 EOF
-if { (eval echo configure:96703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:96874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -96847,7 +97018,7 @@ fi
   done
 
   echo $ac_n "checking for bsd_tcp in -linsck""... $ac_c" 1>&6
-echo "configure:96851: checking for bsd_tcp in -linsck" >&5
+echo "configure:97022: checking for bsd_tcp in -linsck" >&5
 ac_lib_var=`echo insck'_'bsd_tcp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -96855,7 +97026,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-linsck  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 96859 "configure"
+#line 97030 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -96866,7 +97037,7 @@ int main() {
 bsd_tcp()
 ; return 0; }
 EOF
-if { (eval echo configure:96870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:97041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -96926,7 +97097,7 @@ fi
 php_enable_sysvmsg=no
 
 echo $ac_n "checking whether to enable System V IPC support""... $ac_c" 1>&6
-echo "configure:96930: checking whether to enable System V IPC support" >&5
+echo "configure:97101: checking whether to enable System V IPC support" >&5
 # Check whether --enable-sysvmsg or --disable-sysvmsg was given.
 if test "${enable_sysvmsg+set}" = set; then
   enableval="$enable_sysvmsg"
@@ -96972,17 +97143,17 @@ echo "$ac_t""$ext_output" 1>&6
 if test "$PHP_SYSVMSG" != "no"; then
   ac_safe=`echo "sys/msg.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/msg.h""... $ac_c" 1>&6
-echo "configure:96976: checking for sys/msg.h" >&5
+echo "configure:97147: checking for sys/msg.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 96981 "configure"
+#line 97152 "configure"
 #include "confdefs.h"
 #include <sys/msg.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:96986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:97157: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -97309,7 +97480,7 @@ fi
 php_enable_sysvsem=no
 
 echo $ac_n "checking whether to enable System V semaphore support""... $ac_c" 1>&6
-echo "configure:97313: checking whether to enable System V semaphore support" >&5
+echo "configure:97484: checking whether to enable System V semaphore support" >&5
 # Check whether --enable-sysvsem or --disable-sysvsem was given.
 if test "${enable_sysvsem+set}" = set; then
   enableval="$enable_sysvsem"
@@ -97650,12 +97821,12 @@ EOF
 EOF
 
  echo $ac_n "checking for union semun""... $ac_c" 1>&6
-echo "configure:97654: checking for union semun" >&5
+echo "configure:97825: checking for union semun" >&5
 if eval "test \"`echo '$''{'php_cv_semun'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 97659 "configure"
+#line 97830 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -97666,7 +97837,7 @@ int main() {
 union semun x;
 ; return 0; }
 EOF
-if { (eval echo configure:97670: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:97841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
      php_cv_semun=yes
@@ -97702,7 +97873,7 @@ fi
 php_enable_sysvshm=no
 
 echo $ac_n "checking whether to enable System V shared memory support""... $ac_c" 1>&6
-echo "configure:97706: checking whether to enable System V shared memory support" >&5
+echo "configure:97877: checking whether to enable System V shared memory support" >&5
 # Check whether --enable-sysvshm or --disable-sysvshm was given.
 if test "${enable_sysvshm+set}" = set; then
   enableval="$enable_sysvshm"
@@ -98049,7 +98220,7 @@ fi
 php_with_tidy=no
 
 echo $ac_n "checking for TIDY support""... $ac_c" 1>&6
-echo "configure:98053: checking for TIDY support" >&5
+echo "configure:98224: checking for TIDY support" >&5
 # Check whether --with-tidy or --without-tidy was given.
 if test "${with_tidy+set}" = set; then
   withval="$with_tidy"
@@ -98341,7 +98512,7 @@ if test "$PHP_TIDY" != "no"; then
   done
 
   echo $ac_n "checking for tidyOptGetDoc in -ltidy""... $ac_c" 1>&6
-echo "configure:98345: checking for tidyOptGetDoc in -ltidy" >&5
+echo "configure:98516: checking for tidyOptGetDoc in -ltidy" >&5
 ac_lib_var=`echo tidy'_'tidyOptGetDoc | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -98349,7 +98520,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltidy  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 98353 "configure"
+#line 98524 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -98360,7 +98531,7 @@ int main() {
 tidyOptGetDoc()
 ; return 0; }
 EOF
-if { (eval echo configure:98364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:98535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -98704,7 +98875,7 @@ fi
 php_enable_tokenizer=yes
 
 echo $ac_n "checking whether to enable tokenizer support""... $ac_c" 1>&6
-echo "configure:98708: checking whether to enable tokenizer support" >&5
+echo "configure:98879: checking whether to enable tokenizer support" >&5
 # Check whether --enable-tokenizer or --disable-tokenizer was given.
 if test "${enable_tokenizer+set}" = set; then
   enableval="$enable_tokenizer"
@@ -99053,7 +99224,7 @@ fi
 php_enable_wddx=no
 
 echo $ac_n "checking whether to enable WDDX support""... $ac_c" 1>&6
-echo "configure:99057: checking whether to enable WDDX support" >&5
+echo "configure:99228: checking whether to enable WDDX support" >&5
 # Check whether --enable-wddx or --disable-wddx was given.
 if test "${enable_wddx+set}" = set; then
   enableval="$enable_wddx"
@@ -99101,7 +99272,7 @@ if test -z "$PHP_LIBXML_DIR"; then
 php_with_libxml_dir=no
 
 echo $ac_n "checking libxml2 install dir""... $ac_c" 1>&6
-echo "configure:99105: checking libxml2 install dir" >&5
+echo "configure:99276: checking libxml2 install dir" >&5
 # Check whether --with-libxml-dir or --without-libxml-dir was given.
 if test "${with_libxml_dir+set}" = set; then
   withval="$with_libxml_dir"
@@ -99128,7 +99299,7 @@ fi
 php_with_libexpat_dir=no
 
 echo $ac_n "checking libexpat dir for WDDX""... $ac_c" 1>&6
-echo "configure:99132: checking libexpat dir for WDDX" >&5
+echo "configure:99303: checking libexpat dir for WDDX" >&5
 # Check whether --with-libexpat-dir or --without-libexpat-dir was given.
 if test "${with_libexpat_dir+set}" = set; then
   withval="$with_libexpat_dir"
@@ -99159,7 +99330,7 @@ if test "$PHP_WDDX" != "no"; then
 
     
 echo $ac_n "checking for xml2-config path""... $ac_c" 1>&6
-echo "configure:99163: checking for xml2-config path" >&5
+echo "configure:99334: checking for xml2-config path" >&5
 if eval "test \"`echo '$''{'ac_cv_php_xml2_config_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -99317,7 +99488,7 @@ echo "$ac_t""$ac_cv_php_xml2_config_path" 1>&6
 
 
             echo $ac_n "checking whether libxml build works""... $ac_c" 1>&6
-echo "configure:99321: checking whether libxml build works" >&5
+echo "configure:99492: checking whether libxml build works" >&5
 if eval "test \"`echo '$''{'php_cv_libxml_build_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -99333,7 +99504,7 @@ else
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 99337 "configure"
+#line 99508 "configure"
 #include "confdefs.h"
 
     
@@ -99344,7 +99515,7 @@ else
     }
   
 EOF
-if { (eval echo configure:99348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:99519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     LIBS=$old_LIBS
@@ -99911,7 +100082,7 @@ fi
 php_enable_xml=yes
 
 echo $ac_n "checking whether to enable XML support""... $ac_c" 1>&6
-echo "configure:99915: checking whether to enable XML support" >&5
+echo "configure:100086: checking whether to enable XML support" >&5
 # Check whether --enable-xml or --disable-xml was given.
 if test "${enable_xml+set}" = set; then
   enableval="$enable_xml"
@@ -99959,7 +100130,7 @@ if test -z "$PHP_LIBXML_DIR"; then
 php_with_libxml_dir=no
 
 echo $ac_n "checking libxml2 install dir""... $ac_c" 1>&6
-echo "configure:99963: checking libxml2 install dir" >&5
+echo "configure:100134: checking libxml2 install dir" >&5
 # Check whether --with-libxml-dir or --without-libxml-dir was given.
 if test "${with_libxml_dir+set}" = set; then
   withval="$with_libxml_dir"
@@ -99986,7 +100157,7 @@ fi
 php_with_libexpat_dir=no
 
 echo $ac_n "checking libexpat install dir""... $ac_c" 1>&6
-echo "configure:99990: checking libexpat install dir" >&5
+echo "configure:100161: checking libexpat install dir" >&5
 # Check whether --with-libexpat-dir or --without-libexpat-dir was given.
 if test "${with_libexpat_dir+set}" = set; then
   withval="$with_libexpat_dir"
@@ -100018,7 +100189,7 @@ if test "$PHP_XML" != "no"; then
 
     
 echo $ac_n "checking for xml2-config path""... $ac_c" 1>&6
-echo "configure:100022: checking for xml2-config path" >&5
+echo "configure:100193: checking for xml2-config path" >&5
 if eval "test \"`echo '$''{'ac_cv_php_xml2_config_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -100176,7 +100347,7 @@ echo "$ac_t""$ac_cv_php_xml2_config_path" 1>&6
 
 
             echo $ac_n "checking whether libxml build works""... $ac_c" 1>&6
-echo "configure:100180: checking whether libxml build works" >&5
+echo "configure:100351: checking whether libxml build works" >&5
 if eval "test \"`echo '$''{'php_cv_libxml_build_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -100192,7 +100363,7 @@ else
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 100196 "configure"
+#line 100367 "configure"
 #include "confdefs.h"
 
     
@@ -100203,7 +100374,7 @@ else
     }
   
 EOF
-if { (eval echo configure:100207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:100378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     LIBS=$old_LIBS
@@ -100739,7 +100910,7 @@ fi
 php_enable_xmlreader=yes
 
 echo $ac_n "checking whether to enable XMLReader support""... $ac_c" 1>&6
-echo "configure:100743: checking whether to enable XMLReader support" >&5
+echo "configure:100914: checking whether to enable XMLReader support" >&5
 # Check whether --enable-xmlreader or --disable-xmlreader was given.
 if test "${enable_xmlreader+set}" = set; then
   enableval="$enable_xmlreader"
@@ -100787,7 +100958,7 @@ if test -z "$PHP_LIBXML_DIR"; then
 php_with_libxml_dir=no
 
 echo $ac_n "checking libxml2 install dir""... $ac_c" 1>&6
-echo "configure:100791: checking libxml2 install dir" >&5
+echo "configure:100962: checking libxml2 install dir" >&5
 # Check whether --with-libxml-dir or --without-libxml-dir was given.
 if test "${with_libxml_dir+set}" = set; then
   withval="$with_libxml_dir"
@@ -100818,7 +100989,7 @@ if test "$PHP_XMLREADER" != "no"; then
 
   
 echo $ac_n "checking for xml2-config path""... $ac_c" 1>&6
-echo "configure:100822: checking for xml2-config path" >&5
+echo "configure:100993: checking for xml2-config path" >&5
 if eval "test \"`echo '$''{'ac_cv_php_xml2_config_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -100976,7 +101147,7 @@ echo "$ac_t""$ac_cv_php_xml2_config_path" 1>&6
 
 
             echo $ac_n "checking whether libxml build works""... $ac_c" 1>&6
-echo "configure:100980: checking whether libxml build works" >&5
+echo "configure:101151: checking whether libxml build works" >&5
 if eval "test \"`echo '$''{'php_cv_libxml_build_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -100992,7 +101163,7 @@ else
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 100996 "configure"
+#line 101167 "configure"
 #include "confdefs.h"
 
     
@@ -101003,7 +101174,7 @@ else
     }
   
 EOF
-if { (eval echo configure:101007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:101178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     LIBS=$old_LIBS
@@ -101385,7 +101556,7 @@ fi
 php_with_xmlrpc=no
 
 echo $ac_n "checking for XMLRPC-EPI support""... $ac_c" 1>&6
-echo "configure:101389: checking for XMLRPC-EPI support" >&5
+echo "configure:101560: checking for XMLRPC-EPI support" >&5
 # Check whether --with-xmlrpc or --without-xmlrpc was given.
 if test "${with_xmlrpc+set}" = set; then
   withval="$with_xmlrpc"
@@ -101433,7 +101604,7 @@ if test -z "$PHP_LIBXML_DIR"; then
 php_with_libxml_dir=no
 
 echo $ac_n "checking libxml2 install dir""... $ac_c" 1>&6
-echo "configure:101437: checking libxml2 install dir" >&5
+echo "configure:101608: checking libxml2 install dir" >&5
 # Check whether --with-libxml-dir or --without-libxml-dir was given.
 if test "${with_libxml_dir+set}" = set; then
   withval="$with_libxml_dir"
@@ -101460,7 +101631,7 @@ fi
 php_with_libexpat_dir=no
 
 echo $ac_n "checking libexpat dir for XMLRPC-EPI""... $ac_c" 1>&6
-echo "configure:101464: checking libexpat dir for XMLRPC-EPI" >&5
+echo "configure:101635: checking libexpat dir for XMLRPC-EPI" >&5
 # Check whether --with-libexpat-dir or --without-libexpat-dir was given.
 if test "${with_libexpat_dir+set}" = set; then
   withval="$with_libexpat_dir"
@@ -101486,7 +101657,7 @@ echo "$ac_t""$ext_output" 1>&6
 php_with_iconv_dir=no
 
 echo $ac_n "checking iconv dir for XMLRPC-EPI""... $ac_c" 1>&6
-echo "configure:101490: checking iconv dir for XMLRPC-EPI" >&5
+echo "configure:101661: checking iconv dir for XMLRPC-EPI" >&5
 # Check whether --with-iconv-dir or --without-iconv-dir was given.
 if test "${with_iconv_dir+set}" = set; then
   withval="$with_iconv_dir"
@@ -101545,7 +101716,7 @@ EOF
 
     
 echo $ac_n "checking for xml2-config path""... $ac_c" 1>&6
-echo "configure:101549: checking for xml2-config path" >&5
+echo "configure:101720: checking for xml2-config path" >&5
 if eval "test \"`echo '$''{'ac_cv_php_xml2_config_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -101703,7 +101874,7 @@ echo "$ac_t""$ac_cv_php_xml2_config_path" 1>&6
 
 
             echo $ac_n "checking whether libxml build works""... $ac_c" 1>&6
-echo "configure:101707: checking whether libxml build works" >&5
+echo "configure:101878: checking whether libxml build works" >&5
 if eval "test \"`echo '$''{'php_cv_libxml_build_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -101719,7 +101890,7 @@ else
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 101723 "configure"
+#line 101894 "configure"
 #include "confdefs.h"
 
     
@@ -101730,7 +101901,7 @@ else
     }
   
 EOF
-if { (eval echo configure:101734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:101905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     LIBS=$old_LIBS
@@ -101998,12 +102169,12 @@ EOF
 
         if test "$PHP_ICONV" = "yes"; then
     echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:102002: checking for iconv" >&5
+echo "configure:102173: checking for iconv" >&5
 if eval "test \"`echo '$''{'ac_cv_func_iconv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 102007 "configure"
+#line 102178 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char iconv(); below.  */
@@ -102026,7 +102197,7 @@ iconv();
 
 ; return 0; }
 EOF
-if { (eval echo configure:102030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:102201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_iconv=yes"
 else
@@ -102047,12 +102218,12 @@ else
   echo "$ac_t""no" 1>&6
 
       echo $ac_n "checking for libiconv""... $ac_c" 1>&6
-echo "configure:102051: checking for libiconv" >&5
+echo "configure:102222: checking for libiconv" >&5
 if eval "test \"`echo '$''{'ac_cv_func_libiconv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 102056 "configure"
+#line 102227 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char libiconv(); below.  */
@@ -102075,7 +102246,7 @@ libiconv();
 
 ; return 0; }
 EOF
-if { (eval echo configure:102079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:102250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_libiconv=yes"
 else
@@ -102231,7 +102402,7 @@ EOF
   done
 
   echo $ac_n "checking for libiconv in -l$iconv_lib_name""... $ac_c" 1>&6
-echo "configure:102235: checking for libiconv in -l$iconv_lib_name" >&5
+echo "configure:102406: checking for libiconv in -l$iconv_lib_name" >&5
 ac_lib_var=`echo $iconv_lib_name'_'libiconv | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -102239,7 +102410,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$iconv_lib_name  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 102243 "configure"
+#line 102414 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -102250,7 +102421,7 @@ int main() {
 libiconv()
 ; return 0; }
 EOF
-if { (eval echo configure:102254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:102425: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -102384,7 +102555,7 @@ else
   done
 
   echo $ac_n "checking for iconv in -l$iconv_lib_name""... $ac_c" 1>&6
-echo "configure:102388: checking for iconv in -l$iconv_lib_name" >&5
+echo "configure:102559: checking for iconv in -l$iconv_lib_name" >&5
 ac_lib_var=`echo $iconv_lib_name'_'iconv | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -102392,7 +102563,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$iconv_lib_name  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 102396 "configure"
+#line 102567 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -102403,7 +102574,7 @@ int main() {
 iconv()
 ; return 0; }
 EOF
-if { (eval echo configure:102407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:102578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -102593,7 +102764,7 @@ if test "$PHP_XMLRPC" = "yes"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:102597: checking for $ac_word" >&5
+echo "configure:102768: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -102621,21 +102792,21 @@ else
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:102625: checking for inline" >&5
+echo "configure:102796: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 102632 "configure"
+#line 102803 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:102639: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:102810: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -102673,12 +102844,12 @@ EOF
 
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:102677: checking for ANSI C header files" >&5
+echo "configure:102848: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 102682 "configure"
+#line 102853 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -102686,7 +102857,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:102690: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:102861: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -102703,7 +102874,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 102707 "configure"
+#line 102878 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -102721,7 +102892,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 102725 "configure"
+#line 102896 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -102742,7 +102913,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 102746 "configure"
+#line 102917 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -102753,7 +102924,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:102757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:102928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -102780,17 +102951,17 @@ for ac_hdr in xmlparse.h xmltok.h stdlib.h strings.h string.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:102784: checking for $ac_hdr" >&5
+echo "configure:102955: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 102789 "configure"
+#line 102960 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:102794: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:102965: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -102822,7 +102993,7 @@ done
 
 
 echo $ac_n "checking size of char""... $ac_c" 1>&6
-echo "configure:102826: checking size of char" >&5
+echo "configure:102997: checking size of char" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_char'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -102830,7 +103001,7 @@ else
   ac_cv_sizeof_char=1
 else
   cat > conftest.$ac_ext <<EOF
-#line 102834 "configure"
+#line 103005 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main()
@@ -102841,7 +103012,7 @@ int main()
   return(0);
 }
 EOF
-if { (eval echo configure:102845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:103016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_char=`cat conftestval`
 else
@@ -102862,7 +103033,7 @@ EOF
 
 
 echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:102866: checking size of int" >&5
+echo "configure:103037: checking size of int" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -102870,7 +103041,7 @@ else
   ac_cv_sizeof_int=4
 else
   cat > conftest.$ac_ext <<EOF
-#line 102874 "configure"
+#line 103045 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main()
@@ -102881,7 +103052,7 @@ int main()
   return(0);
 }
 EOF
-if { (eval echo configure:102885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:103056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_int=`cat conftestval`
 else
@@ -102901,7 +103072,7 @@ EOF
 
 
 echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:102905: checking size of long" >&5
+echo "configure:103076: checking size of long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -102909,7 +103080,7 @@ else
   ac_cv_sizeof_long=4
 else
   cat > conftest.$ac_ext <<EOF
-#line 102913 "configure"
+#line 103084 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main()
@@ -102920,7 +103091,7 @@ int main()
   return(0);
 }
 EOF
-if { (eval echo configure:102924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:103095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_long=`cat conftestval`
 else
@@ -102940,7 +103111,7 @@ EOF
 
 
 echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:102944: checking size of long long" >&5
+echo "configure:103115: checking size of long long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -102948,7 +103119,7 @@ else
   ac_cv_sizeof_long_long=8
 else
   cat > conftest.$ac_ext <<EOF
-#line 102952 "configure"
+#line 103123 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main()
@@ -102959,7 +103130,7 @@ int main()
   return(0);
 }
 EOF
-if { (eval echo configure:102963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:103134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_long_long=`cat conftestval`
 else
@@ -102979,12 +103150,12 @@ EOF
 
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:102983: checking for size_t" >&5
+echo "configure:103154: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 102988 "configure"
+#line 103159 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -103012,12 +103183,12 @@ EOF
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:103016: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:103187: checking whether time.h and sys/time.h may both be included" >&5
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 103021 "configure"
+#line 103192 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -103026,7 +103197,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:103030: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:103201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -103047,12 +103218,12 @@ EOF
 fi
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:103051: checking for uid_t in sys/types.h" >&5
+echo "configure:103222: checking for uid_t in sys/types.h" >&5
 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 103056 "configure"
+#line 103227 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -103092,12 +103263,12 @@ for ac_func in \
  memcpy memmove
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:103096: checking for $ac_func" >&5
+echo "configure:103267: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 103101 "configure"
+#line 103272 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -103120,7 +103291,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:103124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:103295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -103474,7 +103645,7 @@ elif test "$PHP_XMLRPC" != "no"; then
     XMLRPC_DIR=$PHP_XMLRPC/include/xmlrpc-epi
   else
     echo $ac_n "checking for XMLRPC-EPI in default path""... $ac_c" 1>&6
-echo "configure:103478: checking for XMLRPC-EPI in default path" >&5
+echo "configure:103649: checking for XMLRPC-EPI in default path" >&5
     for i in /usr/local /usr; do
       if test -r $i/include/xmlrpc.h; then
         XMLRPC_DIR=$i/include
@@ -103917,7 +104088,7 @@ fi
 php_enable_xmlwriter=yes
 
 echo $ac_n "checking whether to enable XMLWriter support""... $ac_c" 1>&6
-echo "configure:103921: checking whether to enable XMLWriter support" >&5
+echo "configure:104092: checking whether to enable XMLWriter support" >&5
 # Check whether --enable-xmlwriter or --disable-xmlwriter was given.
 if test "${enable_xmlwriter+set}" = set; then
   enableval="$enable_xmlwriter"
@@ -103965,7 +104136,7 @@ if test -z "$PHP_LIBXML_DIR"; then
 php_with_libxml_dir=no
 
 echo $ac_n "checking libxml2 install dir""... $ac_c" 1>&6
-echo "configure:103969: checking libxml2 install dir" >&5
+echo "configure:104140: checking libxml2 install dir" >&5
 # Check whether --with-libxml-dir or --without-libxml-dir was given.
 if test "${with_libxml_dir+set}" = set; then
   withval="$with_libxml_dir"
@@ -103996,7 +104167,7 @@ if test "$PHP_XMLWRITER" != "no"; then
 
   
 echo $ac_n "checking for xml2-config path""... $ac_c" 1>&6
-echo "configure:104000: checking for xml2-config path" >&5
+echo "configure:104171: checking for xml2-config path" >&5
 if eval "test \"`echo '$''{'ac_cv_php_xml2_config_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -104154,7 +104325,7 @@ echo "$ac_t""$ac_cv_php_xml2_config_path" 1>&6
 
 
             echo $ac_n "checking whether libxml build works""... $ac_c" 1>&6
-echo "configure:104158: checking whether libxml build works" >&5
+echo "configure:104329: checking whether libxml build works" >&5
 if eval "test \"`echo '$''{'php_cv_libxml_build_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -104170,7 +104341,7 @@ else
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 104174 "configure"
+#line 104345 "configure"
 #include "confdefs.h"
 
     
@@ -104181,7 +104352,7 @@ else
     }
   
 EOF
-if { (eval echo configure:104185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:104356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
     LIBS=$old_LIBS
@@ -104531,7 +104702,7 @@ fi
 php_with_xsl=no
 
 echo $ac_n "checking for XSL support""... $ac_c" 1>&6
-echo "configure:104535: checking for XSL support" >&5
+echo "configure:104706: checking for XSL support" >&5
 # Check whether --with-xsl or --without-xsl was given.
 if test "${with_xsl+set}" = set; then
   withval="$with_xsl"
@@ -104734,7 +104905,7 @@ if test "$PHP_XSL" != "no"; then
 
       
       echo $ac_n "checking for EXSLT support""... $ac_c" 1>&6
-echo "configure:104738: checking for EXSLT support" >&5
+echo "configure:104909: checking for EXSLT support" >&5
       for i in $PHP_XSL /usr/local /usr; do
         if test -r "$i/include/libexslt/exslt.h"; then
           PHP_XSL_EXSL_DIR=$i
@@ -105210,7 +105381,7 @@ fi
 php_enable_zip=no
 
 echo $ac_n "checking for zip archive read/writesupport""... $ac_c" 1>&6
-echo "configure:105214: checking for zip archive read/writesupport" >&5
+echo "configure:105385: checking for zip archive read/writesupport" >&5
 # Check whether --enable-zip or --disable-zip was given.
 if test "${enable_zip+set}" = set; then
   enableval="$enable_zip"
@@ -105258,7 +105429,7 @@ if test -z "$PHP_ZLIB_DIR"; then
 php_with_zlib_dir=no
 
 echo $ac_n "checking for the location of libz""... $ac_c" 1>&6
-echo "configure:105262: checking for the location of libz" >&5
+echo "configure:105433: checking for the location of libz" >&5
 # Check whether --with-zlib-dir or --without-zlib-dir was given.
 if test "${with_zlib_dir+set}" = set; then
   withval="$with_zlib_dir"
@@ -105306,7 +105477,7 @@ if test "$PHP_ZIP" != "no"; then
 	fi
 
 		echo $ac_n "checking for the location of zlib""... $ac_c" 1>&6
-echo "configure:105310: checking for the location of zlib" >&5
+echo "configure:105481: checking for the location of zlib" >&5
 	if test "$PHP_ZLIB_DIR" = "no"; then
 		{ echo "configure: error: zip support requires ZLIB. Use --with-zlib-dir=<DIR> to specify prefix where ZLIB include and library are located" 1>&2; exit 1; }
 	else
@@ -105841,7 +106012,7 @@ fi
 php_with_pear=DEFAULT
 
 echo $ac_n "checking whether to install PEAR""... $ac_c" 1>&6
-echo "configure:105845: checking whether to install PEAR" >&5
+echo "configure:106016: checking whether to install PEAR" >&5
 # Check whether --with-pear or --without-pear was given.
 if test "${with_pear+set}" = set; then
   withval="$with_pear"
@@ -105951,7 +106122,7 @@ fi
   bison_version=none
   if test "$YACC"; then
     echo $ac_n "checking for bison version""... $ac_c" 1>&6
-echo "configure:105955: checking for bison version" >&5
+echo "configure:106126: checking for bison version" >&5
 if eval "test \"`echo '$''{'php_cv_bison_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -106008,17 +106179,17 @@ dlfcn.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:106012: checking for $ac_hdr" >&5
+echo "configure:106183: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106017 "configure"
+#line 106188 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:106022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:106193: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -106046,12 +106217,12 @@ done
 
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:106050: checking for size_t" >&5
+echo "configure:106221: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106055 "configure"
+#line 106226 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -106079,12 +106250,12 @@ EOF
 fi
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:106083: checking return type of signal handlers" >&5
+echo "configure:106254: checking return type of signal handlers" >&5
 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106088 "configure"
+#line 106259 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -106101,7 +106272,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:106105: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:106276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -106125,12 +106296,12 @@ EOF
 
 
 echo $ac_n "checking for uint""... $ac_c" 1>&6
-echo "configure:106129: checking for uint" >&5
+echo "configure:106300: checking for uint" >&5
 if eval "test \"`echo '$''{'ac_cv_type_uint'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106134 "configure"
+#line 106305 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -106158,12 +106329,12 @@ EOF
 fi
 
 echo $ac_n "checking for ulong""... $ac_c" 1>&6
-echo "configure:106162: checking for ulong" >&5
+echo "configure:106333: checking for ulong" >&5
 if eval "test \"`echo '$''{'ac_cv_type_ulong'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106167 "configure"
+#line 106338 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -106193,9 +106364,9 @@ fi
 
 
 echo $ac_n "checking for int32_t""... $ac_c" 1>&6
-echo "configure:106197: checking for int32_t" >&5
+echo "configure:106368: checking for int32_t" >&5
 cat > conftest.$ac_ext <<EOF
-#line 106199 "configure"
+#line 106370 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_TYPES_H  
@@ -106214,7 +106385,7 @@ if (sizeof (int32_t))
 
 ; return 0; }
 EOF
-if { (eval echo configure:106218: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:106389: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
   cat >> confdefs.h <<EOF
@@ -106233,9 +106404,9 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for uint32_t""... $ac_c" 1>&6
-echo "configure:106237: checking for uint32_t" >&5
+echo "configure:106408: checking for uint32_t" >&5
 cat > conftest.$ac_ext <<EOF
-#line 106239 "configure"
+#line 106410 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_TYPES_H  
@@ -106254,7 +106425,7 @@ if (sizeof (uint32_t))
 
 ; return 0; }
 EOF
-if { (eval echo configure:106258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:106429: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
   cat >> confdefs.h <<EOF
@@ -106273,12 +106444,12 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:106277: checking for vprintf" >&5
+echo "configure:106448: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106282 "configure"
+#line 106453 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -106301,7 +106472,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:106305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:106476: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -106325,12 +106496,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:106329: checking for _doprnt" >&5
+echo "configure:106500: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106334 "configure"
+#line 106505 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -106353,7 +106524,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:106357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:106528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -106378,7 +106549,7 @@ fi
 fi
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:106382: checking for 8-bit clean memcmp" >&5
+echo "configure:106553: checking for 8-bit clean memcmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -106386,7 +106557,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 106390 "configure"
+#line 106561 "configure"
 #include "confdefs.h"
 
 main()
@@ -106396,7 +106567,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:106400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:106571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -106416,19 +106587,19 @@ test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:106420: checking for working alloca.h" >&5
+echo "configure:106591: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106425 "configure"
+#line 106596 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:106432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:106603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -106449,12 +106620,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:106453: checking for alloca" >&5
+echo "configure:106624: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106458 "configure"
+#line 106629 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -106482,7 +106653,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:106486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:106657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -106514,12 +106685,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:106518: checking whether alloca needs Cray hooks" >&5
+echo "configure:106689: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106523 "configure"
+#line 106694 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -106544,12 +106715,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:106548: checking for $ac_func" >&5
+echo "configure:106719: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106553 "configure"
+#line 106724 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -106572,7 +106743,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:106576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:106747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -106599,7 +106770,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:106603: checking stack direction for C alloca" >&5
+echo "configure:106774: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -106607,7 +106778,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 106611 "configure"
+#line 106782 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -106626,7 +106797,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:106630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:106801: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -106650,12 +106821,12 @@ fi
 for ac_func in memcpy strdup getpid kill strtod strtol finite fpclass
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:106654: checking for $ac_func" >&5
+echo "configure:106825: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106659 "configure"
+#line 106830 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -106678,7 +106849,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:106682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:106853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -106704,7 +106875,7 @@ done
 
 
   echo $ac_n "checking whether sprintf is broken""... $ac_c" 1>&6
-echo "configure:106708: checking whether sprintf is broken" >&5
+echo "configure:106879: checking whether sprintf is broken" >&5
 if eval "test \"`echo '$''{'ac_cv_broken_sprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -106715,11 +106886,11 @@ else
     
 else
   cat > conftest.$ac_ext <<EOF
-#line 106719 "configure"
+#line 106890 "configure"
 #include "confdefs.h"
 main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }
 EOF
-if { (eval echo configure:106723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:106894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
       ac_cv_broken_sprintf=no
@@ -106753,12 +106924,12 @@ EOF
 for ac_func in finite isfinite isinf isnan
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:106757: checking for $ac_func" >&5
+echo "configure:106928: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106762 "configure"
+#line 106933 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -106781,7 +106952,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:106785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:106956: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -106808,13 +106979,13 @@ done
 
 
   echo $ac_n "checking whether fp_except is defined""... $ac_c" 1>&6
-echo "configure:106812: checking whether fp_except is defined" >&5
+echo "configure:106983: checking whether fp_except is defined" >&5
 if eval "test \"`echo '$''{'ac_cv_type_fp_except'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 106818 "configure"
+#line 106989 "configure"
 #include "confdefs.h"
 
 #include <floatingpoint.h>
@@ -106825,7 +106996,7 @@ fp_except x = (fp_except) 0;
 
 ; return 0; }
 EOF
-if { (eval echo configure:106829: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:107000: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
      ac_cv_type_fp_except=yes
@@ -106855,17 +107026,17 @@ for ac_hdr in dlfcn.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:106859: checking for $ac_hdr" >&5
+echo "configure:107030: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 106864 "configure"
+#line 107035 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:106869: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:107040: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -106893,14 +107064,14 @@ done
 
 
 echo $ac_n "checking whether dlsym() requires a leading underscore in symbol names""... $ac_c" 1>&6
-echo "configure:106897: checking whether dlsym() requires a leading underscore in symbol names" >&5
+echo "configure:107068: checking whether dlsym() requires a leading underscore in symbol names" >&5
 if test "$cross_compiling" = yes; then :
   
 else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 106904 "configure"
+#line 107075 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -106961,7 +107132,7 @@ int main ()
     exit (status);
 }
 EOF
-  if { (eval echo configure:106965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  if { (eval echo configure:107136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -107044,23 +107215,23 @@ fi
 
 
 echo $ac_n "checking virtual machine dispatch method""... $ac_c" 1>&6
-echo "configure:107048: checking virtual machine dispatch method" >&5
+echo "configure:107219: checking virtual machine dispatch method" >&5
 echo "$ac_t""$PHP_ZEND_VM" 1>&6
 
 echo $ac_n "checking whether to enable thread-safety""... $ac_c" 1>&6
-echo "configure:107052: checking whether to enable thread-safety" >&5
+echo "configure:107223: checking whether to enable thread-safety" >&5
 echo "$ac_t""$ZEND_MAINTAINER_ZTS" 1>&6
 
 echo $ac_n "checking whether to enable inline optimization for GCC""... $ac_c" 1>&6
-echo "configure:107056: checking whether to enable inline optimization for GCC" >&5
+echo "configure:107227: checking whether to enable inline optimization for GCC" >&5
 echo "$ac_t""$ZEND_INLINE_OPTIMIZATION" 1>&6
 
 echo $ac_n "checking whether to enable Zend debugging""... $ac_c" 1>&6
-echo "configure:107060: checking whether to enable Zend debugging" >&5
+echo "configure:107231: checking whether to enable Zend debugging" >&5
 echo "$ac_t""$ZEND_DEBUG" 1>&6
 
 echo $ac_n "checking whether to enable Zend multibyte""... $ac_c" 1>&6
-echo "configure:107064: checking whether to enable Zend multibyte" >&5
+echo "configure:107235: checking whether to enable Zend multibyte" >&5
 echo "$ac_t""$ZEND_MULTIBYTE" 1>&6
 	
 case $PHP_ZEND_VM in
@@ -107133,21 +107304,21 @@ fi
 
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:107137: checking for inline" >&5
+echo "configure:107308: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 107144 "configure"
+#line 107315 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:107151: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:107322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -107176,7 +107347,7 @@ esac
 
 
 echo $ac_n "checking target system is Darwin""... $ac_c" 1>&6
-echo "configure:107180: checking target system is Darwin" >&5
+echo "configure:107351: checking target system is Darwin" >&5
 if echo "$target" | grep "darwin" > /dev/null; then
   cat >> confdefs.h <<\EOF
 #define DARWIN 1
@@ -107188,7 +107359,7 @@ else
 fi
 
 echo $ac_n "checking for MM alignment and log values""... $ac_c" 1>&6
-echo "configure:107192: checking for MM alignment and log values" >&5
+echo "configure:107363: checking for MM alignment and log values" >&5
 
 if test "$cross_compiling" = yes; then
   
@@ -107196,7 +107367,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 107200 "configure"
+#line 107371 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -107232,7 +107403,7 @@ int main()
 }
 
 EOF
-if { (eval echo configure:107236: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:107407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   LIBZEND_MM_ALIGN=`cat conftest.zend | cut -d ' ' -f 1`
@@ -107257,7 +107428,7 @@ fi
 echo "$ac_t""done" 1>&6
 
 echo $ac_n "checking for memory allocation using mmap(MAP_ANON)""... $ac_c" 1>&6
-echo "configure:107261: checking for memory allocation using mmap(MAP_ANON)" >&5
+echo "configure:107432: checking for memory allocation using mmap(MAP_ANON)" >&5
 
 if test "$cross_compiling" = yes; then
   
@@ -107265,7 +107436,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 107269 "configure"
+#line 107440 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -107301,7 +107472,7 @@ int main()
 }
 
 EOF
-if { (eval echo configure:107305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:107476: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   cat >> confdefs.h <<\EOF
@@ -107323,7 +107494,7 @@ fi
 
 
 echo $ac_n "checking for memory allocation using mmap("/dev/zero")""... $ac_c" 1>&6
-echo "configure:107327: checking for memory allocation using mmap("/dev/zero")" >&5
+echo "configure:107498: checking for memory allocation using mmap("/dev/zero")" >&5
 
 if test "$cross_compiling" = yes; then
   
@@ -107331,7 +107502,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 107335 "configure"
+#line 107506 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -107377,7 +107548,7 @@ int main()
 }
 
 EOF
-if { (eval echo configure:107381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:107552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   cat >> confdefs.h <<\EOF
@@ -107401,12 +107572,12 @@ fi
 for ac_func in mremap
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:107405: checking for $ac_func" >&5
+echo "configure:107576: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 107410 "configure"
+#line 107581 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -107429,7 +107600,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:107433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:107604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -107496,17 +107667,17 @@ for ac_hdr in stdarg.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:107500: checking for $ac_hdr" >&5
+echo "configure:107671: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 107505 "configure"
+#line 107676 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:107510: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:107681: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -107583,7 +107754,7 @@ if test "$TSRM_PTH" != "no"; then
   
 
 echo $ac_n "checking for GNU Pth""... $ac_c" 1>&6
-echo "configure:107587: checking for GNU Pth" >&5
+echo "configure:107758: checking for GNU Pth" >&5
 PTH_PREFIX="`$TSRM_PTH --prefix`"
 if test -z "$PTH_PREFIX"; then
   echo "$ac_t""Please check your Pth installation" 1>&6
@@ -107613,17 +107784,17 @@ elif test "$TSRM_ST" != "no"; then
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:107617: checking for $ac_hdr" >&5
+echo "configure:107788: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 107622 "configure"
+#line 107793 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:107627: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:107798: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -107653,7 +107824,7 @@ done
 
   LIBS="$LIBS -lst"
   echo $ac_n "checking for SGI's State Threads""... $ac_c" 1>&6
-echo "configure:107657: checking for SGI's State Threads" >&5
+echo "configure:107828: checking for SGI's State Threads" >&5
   echo "$ac_t""yes" 1>&6
   cat >> confdefs.h <<\EOF
 #define TSRM_ST 1
@@ -107692,7 +107863,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 107696 "configure"
+#line 107867 "configure"
 #include "confdefs.h"
 
 #include <pthread.h>
@@ -107710,7 +107881,7 @@ int main() {
     return pthread_create(&thd, NULL, thread_routine, &data);
 } 
 EOF
-if { (eval echo configure:107714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:107885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   pthreads_working=yes
@@ -107730,7 +107901,7 @@ fi
   CFLAGS=$save_CFLAGS
 
   echo $ac_n "checking for pthreads_cflags""... $ac_c" 1>&6
-echo "configure:107734: checking for pthreads_cflags" >&5
+echo "configure:107905: checking for pthreads_cflags" >&5
 if eval "test \"`echo '$''{'ac_cv_pthreads_cflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -107752,7 +107923,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 107756 "configure"
+#line 107927 "configure"
 #include "confdefs.h"
 
 #include <pthread.h>
@@ -107770,7 +107941,7 @@ int main() {
     return pthread_create(&thd, NULL, thread_routine, &data);
 } 
 EOF
-if { (eval echo configure:107774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:107945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   pthreads_working=yes
@@ -107800,7 +107971,7 @@ fi
 echo "$ac_t""$ac_cv_pthreads_cflags" 1>&6
 
 echo $ac_n "checking for pthreads_lib""... $ac_c" 1>&6
-echo "configure:107804: checking for pthreads_lib" >&5
+echo "configure:107975: checking for pthreads_lib" >&5
 if eval "test \"`echo '$''{'ac_cv_pthreads_lib'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -107822,7 +107993,7 @@ if test "$cross_compiling" = yes; then
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 107826 "configure"
+#line 107997 "configure"
 #include "confdefs.h"
 
 #include <pthread.h>
@@ -107840,7 +108011,7 @@ int main() {
     return pthread_create(&thd, NULL, thread_routine, &data);
 } 
 EOF
-if { (eval echo configure:107844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:108015: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
   pthreads_working=yes
@@ -107891,7 +108062,7 @@ EOF
 
 
   echo $ac_n "checking for POSIX threads""... $ac_c" 1>&6
-echo "configure:107895: checking for POSIX threads" >&5
+echo "configure:108066: checking for POSIX threads" >&5
   echo "$ac_t""yes" 1>&6
 fi
 
@@ -108523,7 +108694,7 @@ fi
 
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:108527: checking build system type" >&5
+echo "configure:108698: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -108552,7 +108723,7 @@ ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
   echo $ac_n "checking for ld used by $CC""... $ac_c" 1>&6
-echo "configure:108556: checking for ld used by $CC" >&5
+echo "configure:108727: checking for ld used by $CC" >&5
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -108582,10 +108753,10 @@ echo "configure:108556: checking for ld used by $CC" >&5
   esac
 elif test "$with_gnu_ld" = yes; then
   echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:108586: checking for GNU ld" >&5
+echo "configure:108757: checking for GNU ld" >&5
 else
   echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:108589: checking for non-GNU ld" >&5
+echo "configure:108760: checking for non-GNU ld" >&5
 fi
 if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -108624,7 +108795,7 @@ else
 fi
 test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
 echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:108628: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:108799: checking if the linker ($LD) is GNU ld" >&5
 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -108644,7 +108815,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
 echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:108648: checking for $LD option to reload object files" >&5
+echo "configure:108819: checking for $LD option to reload object files" >&5
 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -108669,7 +108840,7 @@ case $host_os in
 esac
 
 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:108673: checking for BSD-compatible nm" >&5
+echo "configure:108844: checking for BSD-compatible nm" >&5
 if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -108715,7 +108886,7 @@ echo "$ac_t""$lt_cv_path_NM" 1>&6
 NM="$lt_cv_path_NM"
 
 echo $ac_n "checking how to recognise dependent libraries""... $ac_c" 1>&6
-echo "configure:108719: checking how to recognise dependent libraries" >&5
+echo "configure:108890: checking how to recognise dependent libraries" >&5
 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -108893,13 +109064,13 @@ deplibs_check_method=$lt_cv_deplibs_check_method
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:108897: checking for object suffix" >&5
+echo "configure:109068: checking for object suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   rm -f conftest*
 echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:108903: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:109074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   for ac_file in conftest.*; do
     case $ac_file in
     *.c) ;;
@@ -108919,7 +109090,7 @@ ac_objext=$ac_cv_objext
 
 
 echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:108923: checking for executable suffix" >&5
+echo "configure:109094: checking for executable suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -108929,7 +109100,7 @@ else
   rm -f conftest*
   echo 'int main () { return 0; }' > conftest.$ac_ext
   ac_cv_exeext=
-  if { (eval echo configure:108933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  if { (eval echo configure:109104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
     for file in conftest.*; do
       case $file in
       *.c | *.o | *.obj) ;;
@@ -108972,7 +109143,7 @@ case $host in
 ia64-*-hpux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
-  if { (eval echo configure:108976: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  if { (eval echo configure:109147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
     case `/usr/bin/file conftest.$ac_objext` in
     *ELF-32*)
       HPUX_IA64_MODE="32"
@@ -108986,8 +109157,8 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 108990 "configure"' > conftest.$ac_ext
-  if { (eval echo configure:108991: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  echo '#line 109161 "configure"' > conftest.$ac_ext
+  if { (eval echo configure:109162: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    if test "$lt_cv_prog_gnu_ld" = yes; then
     case `/usr/bin/file conftest.$ac_objext` in
     *32-bit*)
@@ -109020,7 +109191,7 @@ ia64-*-hpux*)
 x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
-  if { (eval echo configure:109024: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  if { (eval echo configure:109195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
     case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
@@ -109064,7 +109235,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
   SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"
   echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:109068: checking whether the C compiler needs -belf" >&5
+echo "configure:109239: checking whether the C compiler needs -belf" >&5
 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109077,14 +109248,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
 cross_compiling=$ac_cv_prog_cc_cross
 
      cat > conftest.$ac_ext <<EOF
-#line 109081 "configure"
+#line 109252 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:109088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:109259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   lt_cv_cc_needs_belf=yes
 else
@@ -109129,7 +109300,7 @@ fi
 
 # find the maximum length of command line arguments
 echo $ac_n "checking the maximum length of command line arguments""... $ac_c" 1>&6
-echo "configure:109133: checking the maximum length of command line arguments" >&5
+echo "configure:109304: checking the maximum length of command line arguments" >&5
 if eval "test \"`echo '$''{'lt_cv_sys_max_cmd_len'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109230,7 +109401,7 @@ fi
 
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 echo $ac_n "checking command to parse $NM output from $compiler object""... $ac_c" 1>&6
-echo "configure:109234: checking command to parse $NM output from $compiler object" >&5
+echo "configure:109405: checking command to parse $NM output from $compiler object" >&5
 if eval "test \"`echo '$''{'lt_cv_sys_global_symbol_pipe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109325,10 +109496,10 @@ void nm_test_func(){}
 int main(){nm_test_var='a';nm_test_func();return(0);}
 EOF
 
-  if { (eval echo configure:109329: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  if { (eval echo configure:109500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if { (eval echo configure:109332: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5; } && test -s "$nlist"; then
+    if { (eval echo configure:109503: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5; } && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
 	mv -f "$nlist"T "$nlist"
@@ -109379,7 +109550,7 @@ EOF
 	  lt_save_CFLAGS="$CFLAGS"
 	  LIBS="conftstm.$ac_objext"
 	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-	  if { (eval echo configure:109383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+	  if { (eval echo configure:109554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
 	    pipe_works=yes
 	  fi
 	  LIBS="$lt_save_LIBS"
@@ -109419,7 +109590,7 @@ else
 fi
 
 echo $ac_n "checking for objdir""... $ac_c" 1>&6
-echo "configure:109423: checking for objdir" >&5
+echo "configure:109594: checking for objdir" >&5
 if eval "test \"`echo '$''{'lt_cv_objdir'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109485,7 +109656,7 @@ with_gnu_ld="$lt_cv_prog_gnu_ld"
 # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:109489: checking for $ac_word" >&5
+echo "configure:109660: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109517,7 +109688,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:109521: checking for $ac_word" >&5
+echo "configure:109692: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109552,7 +109723,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:109556: checking for $ac_word" >&5
+echo "configure:109727: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109584,7 +109755,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:109588: checking for $ac_word" >&5
+echo "configure:109759: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109619,7 +109790,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:109623: checking for $ac_word" >&5
+echo "configure:109794: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109651,7 +109822,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:109655: checking for $ac_word" >&5
+echo "configure:109826: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109737,7 +109908,7 @@ case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:109741: checking for ${ac_tool_prefix}file" >&5
+echo "configure:109912: checking for ${ac_tool_prefix}file" >&5
 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109797,7 +109968,7 @@ fi
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:109801: checking for file" >&5
+echo "configure:109972: checking for file" >&5
 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -109956,7 +110127,7 @@ fi
 # Check to make sure the static flag actually works.
 #
 echo $ac_n "checking if $compiler static flag $lt_prog_compiler_static works""... $ac_c" 1>&6
-echo "configure:109960: checking if $compiler static flag $lt_prog_compiler_static works" >&5
+echo "configure:110131: checking if $compiler static flag $lt_prog_compiler_static works" >&5
 if eval "test \"`echo '$''{'lt_prog_compiler_static_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -110006,7 +110177,7 @@ if test "$GCC" = yes; then
 
   
 echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions""... $ac_c" 1>&6
-echo "configure:110010: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo "configure:110181: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 if eval "test \"`echo '$''{'lt_cv_prog_compiler_rtti_exceptions'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -110023,11 +110194,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"configure:110027: $lt_compile\"" >&5)
+   (eval echo "\"configure:110198: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "configure:110031: \$? = $ac_status" >&5
+   echo "configure:110202: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -110056,7 +110227,7 @@ lt_prog_compiler_pic=
 lt_prog_compiler_static=
 
 echo $ac_n "checking for $compiler option to produce PIC""... $ac_c" 1>&6
-echo "configure:110060: checking for $compiler option to produce PIC" >&5
+echo "configure:110231: checking for $compiler option to produce PIC" >&5
  
   if test "$GCC" = yes; then
     lt_prog_compiler_wl='-Wl,'
@@ -110275,7 +110446,7 @@ echo "$ac_t""$lt_prog_compiler_pic" 1>&6
 if test -n "$lt_prog_compiler_pic"; then
   
 echo $ac_n "checking if $compiler PIC flag $lt_prog_compiler_pic works""... $ac_c" 1>&6
-echo "configure:110279: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo "configure:110450: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 if eval "test \"`echo '$''{'lt_prog_compiler_pic_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -110292,11 +110463,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"configure:110296: $lt_compile\"" >&5)
+   (eval echo "\"configure:110467: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "configure:110300: \$? = $ac_status" >&5
+   echo "configure:110471: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -110334,7 +110505,7 @@ case $host_os in
 esac
 
 echo $ac_n "checking if $compiler supports -c -o file.$ac_objext""... $ac_c" 1>&6
-echo "configure:110338: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo "configure:110509: checking if $compiler supports -c -o file.$ac_objext" >&5
 if eval "test \"`echo '$''{'lt_cv_prog_compiler_c_o'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -110354,11 +110525,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"configure:110358: $lt_compile\"" >&5)
+   (eval echo "\"configure:110529: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "configure:110362: \$? = $ac_status" >&5
+   echo "configure:110533: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -110388,7 +110559,7 @@ hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
   echo $ac_n "checking if we can lock with hard links""... $ac_c" 1>&6
-echo "configure:110392: checking if we can lock with hard links" >&5
+echo "configure:110563: checking if we can lock with hard links" >&5
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
@@ -110405,7 +110576,7 @@ else
 fi
 
 echo $ac_n "checking whether the $compiler linker ($LD) supports shared libraries""... $ac_c" 1>&6
-echo "configure:110409: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo "configure:110580: checking whether the $compiler linker ($LD) supports shared libraries" >&5
 
   runpath_var=
   allow_undefined_flag=
@@ -110758,12 +110929,12 @@ EOF
        # Determine the default libpath from the value encoded in an empty executable.
        
 cat > conftest.$ac_ext <<EOF
-#line 110762 "configure"
+#line 110933 "configure"
 #include "confdefs.h"
 int main() {
 ; return 0; }
 EOF
-if { (eval echo configure:110767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:110938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   
 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
 }'`
@@ -110789,12 +110960,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	 # Determine the default libpath from the value encoded in an empty executable.
 	 
 cat > conftest.$ac_ext <<EOF
-#line 110793 "configure"
+#line 110964 "configure"
 #include "confdefs.h"
 int main() {
 ; return 0; }
 EOF
-if { (eval echo configure:110798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:110969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   
 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
 }'`
@@ -111266,11 +111437,11 @@ x|xyes)
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
       echo $ac_n "checking whether -lc should be explicitly linked in""... $ac_c" 1>&6
-echo "configure:111270: checking whether -lc should be explicitly linked in" >&5
+echo "configure:111441: checking whether -lc should be explicitly linked in" >&5
       $rm conftest*
       printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-      if { (eval echo configure:111274: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } 2>conftest.err; then
+      if { (eval echo configure:111445: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } 2>conftest.err; then
         soname=conftest
         lib=conftest
         libobjs=conftest.$ac_objext
@@ -111283,7 +111454,7 @@ echo "configure:111270: checking whether -lc should be explicitly linked in" >&5
         libname=conftest
         lt_save_allow_undefined_flag=$allow_undefined_flag
         allow_undefined_flag=
-        if { (eval echo configure:111287: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; }
+        if { (eval echo configure:111458: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; }
         then
 	  archive_cmds_need_lc=no
         else
@@ -111302,7 +111473,7 @@ echo "configure:111270: checking whether -lc should be explicitly linked in" >&5
 esac
 
 echo $ac_n "checking dynamic linker characteristics""... $ac_c" 1>&6
-echo "configure:111306: checking dynamic linker characteristics" >&5
+echo "configure:111477: checking dynamic linker characteristics" >&5
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -111676,8 +111847,8 @@ linux*)
   libsuff=
   case $host_cpu in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 111680 "configure"' > conftest.$ac_ext
-    if { (eval echo configure:111681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+    echo '#line 111851 "configure"' > conftest.$ac_ext
+    if { (eval echo configure:111852: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
       case `/usr/bin/file conftest.$ac_objext` in
       *64-bit*)
         libsuff=64
@@ -111876,7 +112047,7 @@ echo "$ac_t""$dynamic_linker" 1>&6
 test "$dynamic_linker" = no && can_build_shared=no
 
 echo $ac_n "checking how to hardcode library paths into programs""... $ac_c" 1>&6
-echo "configure:111880: checking how to hardcode library paths into programs" >&5
+echo "configure:112051: checking how to hardcode library paths into programs" >&5
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
    test -n "$runpath_var" || \
@@ -111914,7 +112085,7 @@ fi
 striplib=
 old_striplib=
 echo $ac_n "checking whether stripping libraries is possible""... $ac_c" 1>&6
-echo "configure:111918: checking whether stripping libraries is possible" >&5
+echo "configure:112089: checking whether stripping libraries is possible" >&5
 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
@@ -111964,7 +112135,7 @@ else
   darwin*)
   # if libdl is installed we need to link against it
     echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:111968: checking for dlopen in -ldl" >&5
+echo "configure:112139: checking for dlopen in -ldl" >&5
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -111972,7 +112143,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 111976 "configure"
+#line 112147 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -111983,7 +112154,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:111987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:112158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -112012,12 +112183,12 @@ fi
 
   *)
     echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "configure:112016: checking for shl_load" >&5
+echo "configure:112187: checking for shl_load" >&5
 if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 112021 "configure"
+#line 112192 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shl_load(); below.  */
@@ -112040,7 +112211,7 @@ shl_load();
 
 ; return 0; }
 EOF
-if { (eval echo configure:112044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:112215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_shl_load=yes"
 else
@@ -112058,7 +112229,7 @@ if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:112062: checking for shl_load in -ldld" >&5
+echo "configure:112233: checking for shl_load in -ldld" >&5
 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -112066,7 +112237,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 112070 "configure"
+#line 112241 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -112077,7 +112248,7 @@ int main() {
 shl_load()
 ; return 0; }
 EOF
-if { (eval echo configure:112081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:112252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -112096,12 +112267,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "configure:112100: checking for dlopen" >&5
+echo "configure:112271: checking for dlopen" >&5
 if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 112105 "configure"
+#line 112276 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dlopen(); below.  */
@@ -112124,7 +112295,7 @@ dlopen();
 
 ; return 0; }
 EOF
-if { (eval echo configure:112128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:112299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_dlopen=yes"
 else
@@ -112142,7 +112313,7 @@ if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:112146: checking for dlopen in -ldl" >&5
+echo "configure:112317: checking for dlopen in -ldl" >&5
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -112150,7 +112321,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 112154 "configure"
+#line 112325 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -112161,7 +112332,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:112165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:112336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -112180,7 +112351,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6
-echo "configure:112184: checking for dlopen in -lsvld" >&5
+echo "configure:112355: checking for dlopen in -lsvld" >&5
 ac_lib_var=`echo svld'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -112188,7 +112359,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsvld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 112192 "configure"
+#line 112363 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -112199,7 +112370,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:112203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:112374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -112218,7 +112389,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
-echo "configure:112222: checking for dld_link in -ldld" >&5
+echo "configure:112393: checking for dld_link in -ldld" >&5
 ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -112226,7 +112397,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 112230 "configure"
+#line 112401 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -112237,7 +112408,7 @@ int main() {
 dld_link()
 ; return 0; }
 EOF
-if { (eval echo configure:112241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:112412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -112293,7 +112464,7 @@ fi
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
     echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "configure:112297: checking whether a program can dlopen itself" >&5
+echo "configure:112468: checking whether a program can dlopen itself" >&5
 if eval "test \"`echo '$''{'lt_cv_dlopen_self'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -112303,7 +112474,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 112307 "configure"
+#line 112478 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -112364,7 +112535,7 @@ int main ()
     exit (status);
 }
 EOF
-  if { (eval echo configure:112368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  if { (eval echo configure:112539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -112387,7 +112558,7 @@ echo "$ac_t""$lt_cv_dlopen_self" 1>&6
     if test "x$lt_cv_dlopen_self" = xyes; then
       LDFLAGS="$LDFLAGS $link_static_flag"
       echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "configure:112391: checking whether a statically linked program can dlopen itself" >&5
+echo "configure:112562: checking whether a statically linked program can dlopen itself" >&5
 if eval "test \"`echo '$''{'lt_cv_dlopen_self_static'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -112397,7 +112568,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 112401 "configure"
+#line 112572 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -112458,7 +112629,7 @@ int main ()
     exit (status);
 }
 EOF
-  if { (eval echo configure:112462: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  if { (eval echo configure:112633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -112499,11 +112670,11 @@ fi
 
 # Report which librarie types wil actually be built
 echo $ac_n "checking if libtool supports shared libraries""... $ac_c" 1>&6
-echo "configure:112503: checking if libtool supports shared libraries" >&5
+echo "configure:112674: checking if libtool supports shared libraries" >&5
 echo "$ac_t""$can_build_shared" 1>&6
 
 echo $ac_n "checking whether to build shared libraries""... $ac_c" 1>&6
-echo "configure:112507: checking whether to build shared libraries" >&5
+echo "configure:112678: checking whether to build shared libraries" >&5
 test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
@@ -112526,7 +112697,7 @@ esac
 echo "$ac_t""$enable_shared" 1>&6
 
 echo $ac_n "checking whether to build static libraries""... $ac_c" 1>&6
-echo "configure:112530: checking whether to build static libraries" >&5
+echo "configure:112701: checking whether to build static libraries" >&5
 # Make sure either enable_shared or enable_static is yes.
 test "$enable_shared" = yes || enable_static=yes
 echo "$ac_t""$enable_static" 1>&6
@@ -113195,7 +113366,7 @@ ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
   echo $ac_n "checking for ld used by $CC""... $ac_c" 1>&6
-echo "configure:113199: checking for ld used by $CC" >&5
+echo "configure:113370: checking for ld used by $CC" >&5
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -113225,10 +113396,10 @@ echo "configure:113199: checking for ld used by $CC" >&5
   esac
 elif test "$with_gnu_ld" = yes; then
   echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:113229: checking for GNU ld" >&5
+echo "configure:113400: checking for GNU ld" >&5
 else
   echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:113232: checking for non-GNU ld" >&5
+echo "configure:113403: checking for non-GNU ld" >&5
 fi
 if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -113267,7 +113438,7 @@ else
 fi
 test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
 echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:113271: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:113442: checking if the linker ($LD) is GNU ld" >&5
 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -113333,7 +113504,7 @@ fi
 
 # PORTME: fill in a description of your system's C++ link characteristics
 echo $ac_n "checking whether the $compiler linker ($LD) supports shared libraries""... $ac_c" 1>&6
-echo "configure:113337: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo "configure:113508: checking whether the $compiler linker ($LD) supports shared libraries" >&5
 ld_shlibs_CXX=yes
 case $host_os in
   aix3*)
@@ -113429,12 +113600,12 @@ case $host_os in
       # Determine the default libpath from the value encoded in an empty executable.
       
 cat > conftest.$ac_ext <<EOF
-#line 113433 "configure"
+#line 113604 "configure"
 #include "confdefs.h"
 int main() {
 ; return 0; }
 EOF
-if { (eval echo configure:113438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:113609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   
 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
 }'`
@@ -113461,12 +113632,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	# Determine the default libpath from the value encoded in an empty executable.
 	
 cat > conftest.$ac_ext <<EOF
-#line 113465 "configure"
+#line 113636 "configure"
 #include "confdefs.h"
 int main() {
 ; return 0; }
 EOF
-if { (eval echo configure:113470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:113641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   
 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
 }'`
@@ -114173,7 +114344,7 @@ private:
 };
 EOF
 
-if { (eval echo configure:114177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:114348: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   # Parse the compiler output and extract the necessary
   # objects, libraries and library flags.
 
@@ -114283,7 +114454,7 @@ lt_prog_compiler_pic_CXX=
 lt_prog_compiler_static_CXX=
 
 echo $ac_n "checking for $compiler option to produce PIC""... $ac_c" 1>&6
-echo "configure:114287: checking for $compiler option to produce PIC" >&5
+echo "configure:114458: checking for $compiler option to produce PIC" >&5
  
   # C++ specific cases for pic, static, wl, etc.
   if test "$GXX" = yes; then
@@ -114564,7 +114735,7 @@ echo "$ac_t""$lt_prog_compiler_pic_CXX" 1>&6
 if test -n "$lt_prog_compiler_pic_CXX"; then
   
 echo $ac_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works""... $ac_c" 1>&6
-echo "configure:114568: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo "configure:114739: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
 if eval "test \"`echo '$''{'lt_prog_compiler_pic_works_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -114581,11 +114752,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"configure:114585: $lt_compile\"" >&5)
+   (eval echo "\"configure:114756: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "configure:114589: \$? = $ac_status" >&5
+   echo "configure:114760: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -114623,7 +114794,7 @@ case $host_os in
 esac
 
 echo $ac_n "checking if $compiler supports -c -o file.$ac_objext""... $ac_c" 1>&6
-echo "configure:114627: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo "configure:114798: checking if $compiler supports -c -o file.$ac_objext" >&5
 if eval "test \"`echo '$''{'lt_cv_prog_compiler_c_o_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -114643,11 +114814,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"configure:114647: $lt_compile\"" >&5)
+   (eval echo "\"configure:114818: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "configure:114651: \$? = $ac_status" >&5
+   echo "configure:114822: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -114677,7 +114848,7 @@ hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
   echo $ac_n "checking if we can lock with hard links""... $ac_c" 1>&6
-echo "configure:114681: checking if we can lock with hard links" >&5
+echo "configure:114852: checking if we can lock with hard links" >&5
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
@@ -114694,7 +114865,7 @@ else
 fi
 
 echo $ac_n "checking whether the $compiler linker ($LD) supports shared libraries""... $ac_c" 1>&6
-echo "configure:114698: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo "configure:114869: checking whether the $compiler linker ($LD) supports shared libraries" >&5
 
   export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   case $host_os in
@@ -114744,11 +114915,11 @@ x|xyes)
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
       echo $ac_n "checking whether -lc should be explicitly linked in""... $ac_c" 1>&6
-echo "configure:114748: checking whether -lc should be explicitly linked in" >&5
+echo "configure:114919: checking whether -lc should be explicitly linked in" >&5
       $rm conftest*
       printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-      if { (eval echo configure:114752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } 2>conftest.err; then
+      if { (eval echo configure:114923: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } 2>conftest.err; then
         soname=conftest
         lib=conftest
         libobjs=conftest.$ac_objext
@@ -114761,7 +114932,7 @@ echo "configure:114748: checking whether -lc should be explicitly linked in" >&5
         libname=conftest
         lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
         allow_undefined_flag_CXX=
-        if { (eval echo configure:114765: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; }
+        if { (eval echo configure:114936: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; }
         then
 	  archive_cmds_need_lc_CXX=no
         else
@@ -114780,7 +114951,7 @@ echo "configure:114748: checking whether -lc should be explicitly linked in" >&5
 esac
 
 echo $ac_n "checking dynamic linker characteristics""... $ac_c" 1>&6
-echo "configure:114784: checking dynamic linker characteristics" >&5
+echo "configure:114955: checking dynamic linker characteristics" >&5
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -115154,8 +115325,8 @@ linux*)
   libsuff=
   case $host_cpu in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 115158 "configure"' > conftest.$ac_ext
-    if { (eval echo configure:115159: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+    echo '#line 115329 "configure"' > conftest.$ac_ext
+    if { (eval echo configure:115330: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
       case `/usr/bin/file conftest.$ac_objext` in
       *64-bit*)
         libsuff=64
@@ -115354,7 +115525,7 @@ echo "$ac_t""$dynamic_linker" 1>&6
 test "$dynamic_linker" = no && can_build_shared=no
 
 echo $ac_n "checking how to hardcode library paths into programs""... $ac_c" 1>&6
-echo "configure:115358: checking how to hardcode library paths into programs" >&5
+echo "configure:115529: checking how to hardcode library paths into programs" >&5
 hardcode_action_CXX=
 if test -n "$hardcode_libdir_flag_spec_CXX" || \
    test -n "$runpath_var_CXX" || \
@@ -115392,7 +115563,7 @@ fi
 striplib=
 old_striplib=
 echo $ac_n "checking whether stripping libraries is possible""... $ac_c" 1>&6
-echo "configure:115396: checking whether stripping libraries is possible" >&5
+echo "configure:115567: checking whether stripping libraries is possible" >&5
 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
@@ -115442,7 +115613,7 @@ else
   darwin*)
   # if libdl is installed we need to link against it
     echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:115446: checking for dlopen in -ldl" >&5
+echo "configure:115617: checking for dlopen in -ldl" >&5
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -115450,7 +115621,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 115454 "configure"
+#line 115625 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -115464,7 +115635,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:115468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:115639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -115493,12 +115664,12 @@ fi
 
   *)
     echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "configure:115497: checking for shl_load" >&5
+echo "configure:115668: checking for shl_load" >&5
 if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 115502 "configure"
+#line 115673 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shl_load(); below.  */
@@ -115524,7 +115695,7 @@ shl_load();
 
 ; return 0; }
 EOF
-if { (eval echo configure:115528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:115699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_shl_load=yes"
 else
@@ -115542,7 +115713,7 @@ if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:115546: checking for shl_load in -ldld" >&5
+echo "configure:115717: checking for shl_load in -ldld" >&5
 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -115550,7 +115721,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 115554 "configure"
+#line 115725 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -115564,7 +115735,7 @@ int main() {
 shl_load()
 ; return 0; }
 EOF
-if { (eval echo configure:115568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:115739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -115583,12 +115754,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "configure:115587: checking for dlopen" >&5
+echo "configure:115758: checking for dlopen" >&5
 if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 115592 "configure"
+#line 115763 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dlopen(); below.  */
@@ -115614,7 +115785,7 @@ dlopen();
 
 ; return 0; }
 EOF
-if { (eval echo configure:115618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:115789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_dlopen=yes"
 else
@@ -115632,7 +115803,7 @@ if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:115636: checking for dlopen in -ldl" >&5
+echo "configure:115807: checking for dlopen in -ldl" >&5
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -115640,7 +115811,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 115644 "configure"
+#line 115815 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -115654,7 +115825,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:115658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:115829: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -115673,7 +115844,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6
-echo "configure:115677: checking for dlopen in -lsvld" >&5
+echo "configure:115848: checking for dlopen in -lsvld" >&5
 ac_lib_var=`echo svld'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -115681,7 +115852,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsvld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 115685 "configure"
+#line 115856 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -115695,7 +115866,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:115699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:115870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -115714,7 +115885,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
-echo "configure:115718: checking for dld_link in -ldld" >&5
+echo "configure:115889: checking for dld_link in -ldld" >&5
 ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -115722,7 +115893,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 115726 "configure"
+#line 115897 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -115736,7 +115907,7 @@ int main() {
 dld_link()
 ; return 0; }
 EOF
-if { (eval echo configure:115740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:115911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -115792,7 +115963,7 @@ fi
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
     echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "configure:115796: checking whether a program can dlopen itself" >&5
+echo "configure:115967: checking whether a program can dlopen itself" >&5
 if eval "test \"`echo '$''{'lt_cv_dlopen_self'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -115802,7 +115973,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 115806 "configure"
+#line 115977 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -115863,7 +116034,7 @@ int main ()
     exit (status);
 }
 EOF
-  if { (eval echo configure:115867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  if { (eval echo configure:116038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -115886,7 +116057,7 @@ echo "$ac_t""$lt_cv_dlopen_self" 1>&6
     if test "x$lt_cv_dlopen_self" = xyes; then
       LDFLAGS="$LDFLAGS $link_static_flag"
       echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "configure:115890: checking whether a statically linked program can dlopen itself" >&5
+echo "configure:116061: checking whether a statically linked program can dlopen itself" >&5
 if eval "test \"`echo '$''{'lt_cv_dlopen_self_static'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -115896,7 +116067,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 115900 "configure"
+#line 116071 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -115957,7 +116128,7 @@ int main ()
     exit (status);
 }
 EOF
-  if { (eval echo configure:115961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  if { (eval echo configure:116132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -117616,13 +117787,18 @@ X
     fi
 
     if test "$PHP_SIGCHILD" != "yes"; then
+      if test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
 cat <<X
 +--------------------------------------------------------------------+
 | Notice:                                                            |
-| If you encounter <defunc> processes when using a local Oracle-DB   |
-| please recompile PHP and specify --enable-sigchild when configuring|
-| (This problem has been reported under Linux using Oracle >= 8.1.5) |
+| If you encounter <defunc> processes when using a local Oracle      |
+| database, set the value BEQUEATH_DETACH=YES in Oracle Net's        |
+| sqlnet.ora file on the PHP host, or set the environment variable   |
+| BEQUEATH_DETACH to YES before starting Apache.  If the problem     |
+| still occurs, then recompile PHP and specify --enable-sigchild     |
+| when configuring.                                                  |
 X
+      fi
     fi
   fi
 
diff --git a/configure.in b/configure.in
index 366e815..74f3446 100644
--- a/configure.in
+++ b/configure.in
@@ -1,4 +1,4 @@
-## $Id: configure.in,v 1.579.2.52.2.139 2009/06/17 12:22:41 iliaa Exp $ -*- autoconf -*-
+## $Id: configure.in 288372 2009-09-16 12:54:51Z iliaa $ -*- autoconf -*-
 dnl ## Process this file with autoconf to produce a configure script.
 
 divert(1)
@@ -31,7 +31,7 @@ dnl Basic autoconf + automake initialization, generation of config.nice.
 dnl -------------------------------------------------------------------------
 
 AC_PREREQ(2.13)
-AC_INIT(README.CVS-RULES)
+AC_INIT(README.SVN-RULES)
 
 PHP_CONFIG_NICE(config.nice)
 
@@ -41,7 +41,7 @@ AC_CONFIG_HEADER(main/php_config.h)
 
 PHP_MAJOR_VERSION=5
 PHP_MINOR_VERSION=2
-PHP_RELEASE_VERSION=10
+PHP_RELEASE_VERSION=11
 PHP_EXTRA_VERSION=""
 PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
 PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
@@ -171,7 +171,7 @@ dnl Check if bison generated files exist when bison does not..
 case $php_cv_bison_version in
   ""|invalid[)]
     if ! test -f "$abs_srcdir/Zend/zend_language_parser.h" || ! test -f "$abs_srcdir/Zend/zend_language_parser.c" ; then
-      AC_MSG_ERROR([bison is required to build PHP/Zend when building a CVS checkout!])
+      AC_MSG_ERROR([bison is required to build PHP/Zend when building a SVN checkout!])
     fi
     ;;
 esac
@@ -1556,13 +1556,18 @@ X
     fi
 
     if test "$PHP_SIGCHILD" != "yes"; then
+      if test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
 cat <<X
 +--------------------------------------------------------------------+
 | Notice:                                                            |
-| If you encounter <defunc> processes when using a local Oracle-DB   |
-| please recompile PHP and specify --enable-sigchild when configuring|
-| (This problem has been reported under Linux using Oracle >= 8.1.5) |
+| If you encounter <defunc> processes when using a local Oracle      |
+| database, set the value BEQUEATH_DETACH=YES in Oracle Net's        |
+| sqlnet.ora file on the PHP host, or set the environment variable   |
+| BEQUEATH_DETACH to YES before starting Apache.  If the problem     |
+| still occurs, then recompile PHP and specify --enable-sigchild     |
+| when configuring.                                                  |
 X
+      fi
     fi
   fi
 
diff --git a/cvsclean b/cvsclean
deleted file mode 100755
index 3d084df..0000000
--- a/cvsclean
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh
-
-${MAKE:-make} -f build/build.mk cvsclean-work
diff --git a/cvsclean.bat b/cvsclean.bat
deleted file mode 100755
index 4c0118d..0000000
--- a/cvsclean.bat
+++ /dev/null
@@ -1,2 +0,0 @@
- at echo off
-cscript /nologo win32\build\cvsclean.js
diff --git a/ext/bcmath/bcmath.c b/ext/bcmath/bcmath.c
index 4aac12c..67970c4 100644
--- a/ext/bcmath/bcmath.c
+++ b/ext/bcmath/bcmath.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: bcmath.c,v 1.62.2.2.2.10 2008/12/31 11:17:35 sebastian Exp $ */
+/* $Id: bcmath.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/bcmath/config.m4 b/ext/bcmath/config.m4
index ea794df..06aaf5c 100644
--- a/ext/bcmath/config.m4
+++ b/ext/bcmath/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.17 2005/05/29 23:16:40 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl
 
 PHP_ARG_ENABLE(bcmath, whether to enable bc style precision math functions,
diff --git a/ext/bcmath/config.w32 b/ext/bcmath/config.w32
index 7496c67..e091aa9 100644
--- a/ext/bcmath/config.w32
+++ b/ext/bcmath/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2 2003/12/10 00:47:02 wez Exp $
+// $Id: config.w32 146077 2003-12-10 00:47:02Z wez $
 // vim:ft=javascript
 
 ARG_ENABLE("bcmath", "bc style precision math functions", "yes");
diff --git a/ext/bcmath/php_bcmath.h b/ext/bcmath/php_bcmath.h
index 78a9dc5..49cdc1a 100644
--- a/ext/bcmath/php_bcmath.h
+++ b/ext/bcmath/php_bcmath.h
@@ -16,13 +16,11 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_bcmath.h,v 1.20.2.1.2.4 2008/12/31 11:17:35 sebastian Exp $ */
+/* $Id: php_bcmath.h 287499 2009-08-20 11:19:20Z jani $ */
 
 #ifndef PHP_BCMATH_H
 #define PHP_BCMATH_H
 
-#if HAVE_BCMATH
-
 #include "libbcmath/src/bcmath.h"
 
 extern zend_module_entry bcmath_module_entry;
@@ -50,18 +48,12 @@ ZEND_BEGIN_MODULE_GLOBALS(bcmath)
 	long bc_precision;
 ZEND_END_MODULE_GLOBALS(bcmath)
 	
-#if ZTS
-#define BCG(v) TSRMG(bcmath_globals_id, zend_bcmath_globals *, v)
+#ifdef ZTS
+# define BCG(v) TSRMG(bcmath_globals_id, zend_bcmath_globals *, v)
 #else
-#define BCG(v) (bcmath_globals.v)
+# define BCG(v) (bcmath_globals.v)
 #endif
 
 ZEND_EXTERN_MODULE_GLOBALS(bcmath)
 
-#else
-
-#define phpext_bcmath_ptr NULL
-
-#endif
-
 #endif /* PHP_BCMATH_H */
diff --git a/ext/bcmath/tests/bcdiv_error1.phpt b/ext/bcmath/tests/bcdiv_error1.phpt
new file mode 100755
index 0000000..c69d36b
--- /dev/null
+++ b/ext/bcmath/tests/bcdiv_error1.phpt
@@ -0,0 +1,14 @@
+--TEST--
+bcdiv — Divide two arbitrary precision numbers
+--CREDITS--
+TestFest2009
+Antoni Torrents
+antoni at solucionsinternet.com
+--SKIPIF--
+<?php if(!extension_loaded("bcmath")) print "skip"; ?>
+--FILE--
+<?php
+echo bcdiv('10.99', '0');
+?>
+--EXPECTF--
+Warning: bcdiv(): Division by zero in %s.php on line %d
diff --git a/ext/bcmath/tests/bcdiv_error2.phpt b/ext/bcmath/tests/bcdiv_error2.phpt
new file mode 100644
index 0000000..9daf532
--- /dev/null
+++ b/ext/bcmath/tests/bcdiv_error2.phpt
@@ -0,0 +1,13 @@
+--TEST--
+bcdiv — Divide two arbitrary precision numbers
+--CREDITS--
+Antoni Torrents
+antoni at solucionsinternet.com
+--SKIPIF--
+<?php if(!extension_loaded("bcmath")) print "skip"; ?>
+--FILE--
+<?php
+echo bcdiv('1', '2', '3', '4');
+?>
+--EXPECTF--
+Warning: Wrong parameter count for bcdiv() in %s.php on line %d
diff --git a/ext/bcmath/tests/bcmod_error1.phpt b/ext/bcmath/tests/bcmod_error1.phpt
new file mode 100644
index 0000000..69b96cc
--- /dev/null
+++ b/ext/bcmath/tests/bcmod_error1.phpt
@@ -0,0 +1,13 @@
+--TEST--
+bcmod — Get modulus of an arbitrary precision number
+--CREDITS--
+Antoni Torrents
+antoni at solucionsinternet.com
+--SKIPIF--
+<?php if(!extension_loaded("bcmath")) print "skip"; ?>
+--FILE--
+<?php
+echo bcmod('1', '2', '3');
+?>
+--EXPECTF--
+Warning: Wrong parameter count for bcmod() in %s.php on line %d
diff --git a/ext/bcmath/tests/bcpowmod_error1.phpt b/ext/bcmath/tests/bcpowmod_error1.phpt
new file mode 100755
index 0000000..2dc292e
--- /dev/null
+++ b/ext/bcmath/tests/bcpowmod_error1.phpt
@@ -0,0 +1,13 @@
+--TEST--
+bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
+--CREDITS--
+Antoni Torrents
+antoni at solucionsinternet.com
+--SKIPIF--
+<?php if(!extension_loaded("bcmath")) print "skip"; ?>
+--FILE--
+<?php
+echo bcpowmod('1');
+?>
+--EXPECTF--
+Warning: bcpowmod() expects at least 3 parameters, 1 given in %s.php on line %d
diff --git a/ext/bcmath/tests/bcpowmod_error2.phpt b/ext/bcmath/tests/bcpowmod_error2.phpt
new file mode 100755
index 0000000..e0a9963
--- /dev/null
+++ b/ext/bcmath/tests/bcpowmod_error2.phpt
@@ -0,0 +1,13 @@
+--TEST--
+bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
+--CREDITS--
+Antoni Torrents
+antoni at solucionsinternet.com
+--SKIPIF--
+<?php if(!extension_loaded("bcmath")) print "skip"; ?>
+--FILE--
+<?php
+echo bcpowmod('1', '2');
+?>
+--EXPECTF--
+Warning: bcpowmod() expects at least 3 parameters, 2 given in %s.php on line %d
diff --git a/ext/bcmath/tests/bcpowmod_error3.phpt b/ext/bcmath/tests/bcpowmod_error3.phpt
new file mode 100644
index 0000000..c3f8df8
--- /dev/null
+++ b/ext/bcmath/tests/bcpowmod_error3.phpt
@@ -0,0 +1,13 @@
+--TEST--
+bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
+--CREDITS--
+Antoni Torrents
+antoni at solucionsinternet.com
+--SKIPIF--
+<?php if(!extension_loaded("bcmath")) print "skip"; ?>
+--FILE--
+<?php
+echo bcpowmod('1', '2', '3', '4', '5');
+?>
+--EXPECTF--
+Warning: bcpowmod() expects at most 4 parameters, 5 given in %s.php on line %d
diff --git a/ext/bcmath/tests/bcsqrt_error1.phpt b/ext/bcmath/tests/bcsqrt_error1.phpt
new file mode 100755
index 0000000..1f213db
--- /dev/null
+++ b/ext/bcmath/tests/bcsqrt_error1.phpt
@@ -0,0 +1,13 @@
+--TEST--
+bcsqrt — Get the square root of an arbitrary precision number
+--CREDITS--
+Antoni Torrents
+antoni at solucionsinternet.com
+--SKIPIF--
+<?php if(!extension_loaded("bcmath")) print "skip"; ?>
+--FILE--
+<?php
+echo bcsqrt('-9');
+?>
+--EXPECTF--
+Warning: bcsqrt(): Square root of negative number in %s.php on line %d
diff --git a/ext/bz2/bz2.c b/ext/bz2/bz2.c
index ae71a9c..5f44485 100644
--- a/ext/bz2/bz2.c
+++ b/ext/bz2/bz2.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
  
-/* $Id: bz2.c,v 1.14.2.3.2.16 2008/12/31 11:17:35 sebastian Exp $ */
+/* $Id: bz2.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/bz2/bz2_filter.c b/ext/bz2/bz2_filter.c
index ba4278a..82612f2 100644
--- a/ext/bz2/bz2_filter.c
+++ b/ext/bz2/bz2_filter.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: bz2_filter.c,v 1.3.2.2.2.12 2009/02/09 03:44:59 cellog Exp $ */
+/* $Id: bz2_filter.c 275383 2009-02-09 03:44:59Z cellog $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/bz2/config.m4 b/ext/bz2/config.m4
index 4c574e8..57ca433 100644
--- a/ext/bz2/config.m4
+++ b/ext/bz2/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.5 2004/11/03 14:32:48 jorton Exp $
+dnl $Id: config.m4 172020 2004-11-03 14:32:52Z jorton $
 dnl
 
 PHP_ARG_WITH(bz2, for BZip2 support,
diff --git a/ext/bz2/config.w32 b/ext/bz2/config.w32
index 2df7940..e3369e4 100644
--- a/ext/bz2/config.w32
+++ b/ext/bz2/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.4 2004/07/20 05:26:33 pollita Exp $
+// $Id: config.w32 163711 2004-07-20 05:26:33Z pollita $
 // vim:ft=javascript
 
 ARG_WITH("bz2", "BZip2", "no");
diff --git a/ext/bz2/php_bz2.h b/ext/bz2/php_bz2.h
index 93e978a..1b810b6 100644
--- a/ext/bz2/php_bz2.h
+++ b/ext/bz2/php_bz2.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_bz2.h,v 1.7.2.1.2.6 2008/12/31 11:17:35 sebastian Exp $ */
+/* $Id: php_bz2.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_BZ2_H
 #define PHP_BZ2_H
diff --git a/ext/bz2/tests/bz2_filter_compress.phpt b/ext/bz2/tests/bz2_filter_compress.phpt
index b3d7b0a..11f5d69 100644
--- a/ext/bz2/tests/bz2_filter_compress.phpt
+++ b/ext/bz2/tests/bz2_filter_compress.phpt
@@ -3,7 +3,7 @@ bzip2.compress (with convert.base64-encode)
 --SKIPIF--
 <?php if (!extension_loaded("bz2")) print "skip"; ?>
 --FILE--
-<?php /* $Id: bz2_filter_compress.phpt,v 1.1 2004/07/20 05:26:33 pollita Exp $ */
+<?php /* $Id: bz2_filter_compress.phpt 163711 2004-07-20 05:26:33Z pollita $ */
 $text = 'I am the very model of a modern major general, I\'ve information vegetable, animal, and mineral.';
 
 $fp = fopen('php://stdout', 'w');
diff --git a/ext/bz2/tests/bz2_filter_decompress.phpt b/ext/bz2/tests/bz2_filter_decompress.phpt
index f1f38aa..f23fb8a 100644
--- a/ext/bz2/tests/bz2_filter_decompress.phpt
+++ b/ext/bz2/tests/bz2_filter_decompress.phpt
@@ -3,7 +3,7 @@ bzip2.decompress (with convert.base64-decode)
 --SKIPIF--
 <?php if (!extension_loaded("bz2")) print "skip"; ?>
 --FILE--
-<?php /* $Id: bz2_filter_decompress.phpt,v 1.1 2004/07/20 05:26:33 pollita Exp $ */
+<?php /* $Id: bz2_filter_decompress.phpt 163711 2004-07-20 05:26:33Z pollita $ */
 $text = 'QlpoNDFBWSZTWRN6QG0AAAoVgECFACA395UgIABIintI1N6mpowIQ0E1MTTAQGYTNcRyMZm5kgW3ib7hVboE7Tmqj3ToGZ5G3q1ZauD2G58hibSck8KS95EEAbx1Cn+LuSKcKEgJvSA2gA==';
 
 $fp = fopen('php://stdout', 'w');
diff --git a/ext/bz2/tests/with_files.phpt b/ext/bz2/tests/with_files.phpt
index 4d9e1cd..196ee23 100644
--- a/ext/bz2/tests/with_files.phpt
+++ b/ext/bz2/tests/with_files.phpt
@@ -3,7 +3,7 @@ BZ2 with files
 --SKIPIF--
 <?php if (!extension_loaded("bz2")) print "skip"; ?>
 --FILE--
-<?php // $Id: with_files.phpt,v 1.2 2004/05/19 08:56:50 helly Exp $
+<?php // $Id: with_files.phpt 158958 2004-05-19 08:56:50Z helly $
 
 error_reporting(E_ALL);
 
diff --git a/ext/bz2/tests/with_strings.phpt b/ext/bz2/tests/with_strings.phpt
index 7d41ba3..0764cbb 100644
--- a/ext/bz2/tests/with_strings.phpt
+++ b/ext/bz2/tests/with_strings.phpt
@@ -3,7 +3,7 @@ BZ2 with strings
 --SKIPIF--
 <?php if (!extension_loaded("bz2")) print "skip"; ?>
 --FILE--
-<?php // $Id: with_strings.phpt,v 1.3 2004/05/19 08:56:50 helly Exp $
+<?php // $Id: with_strings.phpt 158958 2004-05-19 08:56:50Z helly $
 
 error_reporting(E_ALL);
 
diff --git a/ext/calendar/calendar.c b/ext/calendar/calendar.c
index 7cd0ca6..7cbc7db 100644
--- a/ext/calendar/calendar.c
+++ b/ext/calendar/calendar.c
@@ -18,7 +18,7 @@
    |          Wez Furlong               <wez at thebrainroom.com>            |
    +----------------------------------------------------------------------+
  */
-/* $Id: calendar.c,v 1.46.2.2.2.6 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: calendar.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/calendar/config.m4 b/ext/calendar/config.m4
index 69831e6..5ca114e 100644
--- a/ext/calendar/config.m4
+++ b/ext/calendar/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.6 2002/03/12 16:10:56 sas Exp $
+dnl $Id: config.m4 72968 2002-03-12 16:44:00Z sas $
 dnl
 
 PHP_ARG_ENABLE(calendar,whether to enable calendar conversion support,
diff --git a/ext/calendar/config.w32 b/ext/calendar/config.w32
index a0e2d2f..75f9188 100644
--- a/ext/calendar/config.w32
+++ b/ext/calendar/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/02 23:16:49 wez Exp $
+// $Id: config.w32 145409 2003-12-02 23:17:04Z wez $
 // vim:ft=javascript
 
 ARG_ENABLE("calendar", "calendar conversion support", "yes");
diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c
index 5050286..70ac945 100644
--- a/ext/com_dotnet/com_com.c
+++ b/ext/com_dotnet/com_com.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_com.c,v 1.16.2.2.2.7 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_com.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/com_dotnet/com_dotnet.c b/ext/com_dotnet/com_dotnet.c
index 2ebbc1b..3cbcd4c 100644
--- a/ext/com_dotnet/com_dotnet.c
+++ b/ext/com_dotnet/com_dotnet.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_dotnet.c,v 1.14.2.1.2.6 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_dotnet.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c
index 5155d35..b3d785f 100644
--- a/ext/com_dotnet/com_extension.c
+++ b/ext/com_dotnet/com_extension.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_extension.c,v 1.17.2.2.2.8 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_extension.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/com_dotnet/com_handlers.c b/ext/com_dotnet/com_handlers.c
index af5b6b7..06b358d 100644
--- a/ext/com_dotnet/com_handlers.c
+++ b/ext/com_dotnet/com_handlers.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_handlers.c,v 1.30.2.5.2.8 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_handlers.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/com_dotnet/com_iterator.c b/ext/com_dotnet/com_iterator.c
index 32c92ad..3bacb7f 100644
--- a/ext/com_dotnet/com_iterator.c
+++ b/ext/com_dotnet/com_iterator.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_iterator.c,v 1.9.2.2.2.4 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_iterator.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/com_dotnet/com_misc.c b/ext/com_dotnet/com_misc.c
index e24f437..18a94b5 100644
--- a/ext/com_dotnet/com_misc.c
+++ b/ext/com_dotnet/com_misc.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_misc.c,v 1.8.2.2.2.5 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_misc.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/com_dotnet/com_olechar.c b/ext/com_dotnet/com_olechar.c
index bb48db8..410643a 100644
--- a/ext/com_dotnet/com_olechar.c
+++ b/ext/com_dotnet/com_olechar.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_olechar.c,v 1.5.2.1.2.5 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_olechar.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/com_dotnet/com_persist.c b/ext/com_dotnet/com_persist.c
index dcc9e2f..6f62131 100755
--- a/ext/com_dotnet/com_persist.c
+++ b/ext/com_dotnet/com_persist.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_persist.c,v 1.5.2.3.2.4 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_persist.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Infrastructure for working with persistent COM objects.
  * Implements: IStream* wrapper for PHP streams.
diff --git a/ext/com_dotnet/com_saproxy.c b/ext/com_dotnet/com_saproxy.c
index d0060ee..ebaafdc 100644
--- a/ext/com_dotnet/com_saproxy.c
+++ b/ext/com_dotnet/com_saproxy.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_saproxy.c,v 1.15.2.2.2.5 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_saproxy.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* This module implements a SafeArray proxy which is used internally
  * by the engine when resolving multi-dimensional array accesses on
diff --git a/ext/com_dotnet/com_typeinfo.c b/ext/com_dotnet/com_typeinfo.c
index febc771..41b54dc 100644
--- a/ext/com_dotnet/com_typeinfo.c
+++ b/ext/com_dotnet/com_typeinfo.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_typeinfo.c,v 1.7.2.1.2.5 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_typeinfo.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/com_dotnet/com_variant.c b/ext/com_dotnet/com_variant.c
index 47275c8..5a90c3e 100644
--- a/ext/com_dotnet/com_variant.c
+++ b/ext/com_dotnet/com_variant.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_variant.c,v 1.11.2.2.2.8 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_variant.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/com_dotnet/com_wrapper.c b/ext/com_dotnet/com_wrapper.c
index 3093275..e470cd3 100644
--- a/ext/com_dotnet/com_wrapper.c
+++ b/ext/com_dotnet/com_wrapper.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: com_wrapper.c,v 1.9.2.1.2.7 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: com_wrapper.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* This module exports a PHP object as a COM object by wrapping it
  * using IDispatchEx */
diff --git a/ext/com_dotnet/config.w32 b/ext/com_dotnet/config.w32
index 587d0a0..a253b23 100644
--- a/ext/com_dotnet/config.w32
+++ b/ext/com_dotnet/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.6 2004/05/09 15:21:29 wez Exp $
+// $Id: config.w32 158251 2004-05-09 15:21:29Z wez $
 // vim:ft=javascript
 
 ARG_ENABLE("com-dotnet", "COM and .Net support", "yes");
diff --git a/ext/com_dotnet/php_com_dotnet.h b/ext/com_dotnet/php_com_dotnet.h
index 92fb48f..8a6da29 100644
--- a/ext/com_dotnet/php_com_dotnet.h
+++ b/ext/com_dotnet/php_com_dotnet.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_com_dotnet.h,v 1.5.2.1.2.4 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: php_com_dotnet.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_COM_DOTNET_H
 #define PHP_COM_DOTNET_H
diff --git a/ext/com_dotnet/php_com_dotnet_internal.h b/ext/com_dotnet/php_com_dotnet_internal.h
index 130ef9c..cdec311 100644
--- a/ext/com_dotnet/php_com_dotnet_internal.h
+++ b/ext/com_dotnet/php_com_dotnet_internal.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_com_dotnet_internal.h,v 1.14.2.3.2.6 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: php_com_dotnet_internal.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_COM_DOTNET_INTERNAL_H
 #define PHP_COM_DOTNET_INTERNAL_H
diff --git a/ext/com_dotnet/tests/27974.phpt b/ext/com_dotnet/tests/27974.phpt
index b764e8d..8eb1447 100755
--- a/ext/com_dotnet/tests/27974.phpt
+++ b/ext/com_dotnet/tests/27974.phpt
@@ -4,7 +4,7 @@ COM: mapping a safearray
 <?php # vim:ft=php
 if (!extension_loaded("com_dotnet")) print "skip COM/.Net support not present"; ?>
 --FILE--
-<?php // $Id: 27974.phpt,v 1.2.4.1 2006/02/04 10:57:28 rrichards Exp $
+<?php // $Id: 27974.phpt 206395 2006-02-04 10:57:28Z rrichards $
 error_reporting(E_ALL);
 
 try {
diff --git a/ext/com_dotnet/tests/bug39606.phpt b/ext/com_dotnet/tests/bug39606.phpt
index 07ebef3..040f350 100644
--- a/ext/com_dotnet/tests/bug39606.phpt
+++ b/ext/com_dotnet/tests/bug39606.phpt
@@ -4,7 +4,7 @@ COM: Loading typelib corrupts memory
 <?php # vim:ft=php
 if (!extension_loaded("com_dotnet")) print "skip COM/.Net support not present"; ?>
 --FILE--
-<?php // $Id: bug39606.phpt,v 1.1.2.1 2006/12/09 10:52:09 rrichards Exp $
+<?php // $Id: bug39606.phpt 224684 2006-12-09 10:52:09Z rrichards $
 error_reporting(E_ALL);
 
 $arEnv = array_change_key_case($_SERVER, CASE_UPPER);
diff --git a/ext/com_dotnet/tests/bug45280.phpt b/ext/com_dotnet/tests/bug45280.phpt
new file mode 100644
index 0000000..a1f7e18
--- /dev/null
+++ b/ext/com_dotnet/tests/bug45280.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Bug #45280 (Reflection of instantiated COM classes causes PHP to crash)
+--SKIPIF--
+<?php
+if (!extension_loaded("reflection")){ echo "skip, no reflection support present"; }
+if (!extension_loaded("com_dotnet")){ echo "skip COM/.Net support not present"; }
+?>
+--FILE--
+<?php
+$dict = new COM("Scripting.Dictionary");
+
+ob_start();
+ReflectionObject::export($dict);
+ob_get_clean();
+
+echo 'done';
+?>
+--EXPECT--
+done
diff --git a/ext/com_dotnet/tests/variants.phpt b/ext/com_dotnet/tests/variants.phpt
index a7fce6b..2d6731e 100644
--- a/ext/com_dotnet/tests/variants.phpt
+++ b/ext/com_dotnet/tests/variants.phpt
@@ -4,7 +4,7 @@ COM: General variant tests
 <?php # vim:ft=php
 if (!extension_loaded("com_dotnet")) print "skip COM/.Net support not present"; ?>
 --FILE--
-<?php // $Id: variants.phpt,v 1.3 2004/05/03 18:19:07 wez Exp $
+<?php // $Id: variants.phpt 157854 2004-05-03 18:19:07Z wez $
 error_reporting(E_ALL);
 
 $v = new VARIANT();
diff --git a/ext/ctype/config.m4 b/ext/ctype/config.m4
index 31846e2..d016af3 100644
--- a/ext/ctype/config.m4
+++ b/ext/ctype/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.5 2002/03/12 16:44:00 sas Exp $
+dnl $Id: config.m4 72968 2002-03-12 16:44:00Z sas $
 dnl
 
 PHP_ARG_ENABLE(ctype, whether to enable ctype functions,
diff --git a/ext/ctype/config.w32 b/ext/ctype/config.w32
index e5511dc..e75fe80 100644
--- a/ext/ctype/config.w32
+++ b/ext/ctype/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/02 23:16:51 wez Exp $
+// $Id: config.w32 145409 2003-12-02 23:17:04Z wez $
 // vim:ft=javascript
 
 ARG_ENABLE("ctype", "ctype", "yes");
diff --git a/ext/curl/config.m4 b/ext/curl/config.m4
index 92063bb..1f4c3b6 100644
--- a/ext/curl/config.m4
+++ b/ext/curl/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.28.2.3.2.9 2009/05/02 19:55:14 jani Exp $ 
+dnl $Id: config.m4 286324 2009-07-25 20:58:51Z jani $ 
 dnl
 
 PHP_ARG_WITH(curl, for cURL support,
@@ -7,7 +7,7 @@ PHP_ARG_WITH(curl, for cURL support,
 
 dnl Temporary option while we develop this aspect of the extension
 PHP_ARG_WITH(curlwrappers, if we should use cURL for url streams,
-[  --with-curlwrappers     Use cURL for url streams], no, no)
+[  --with-curlwrappers     EXPERIMENTAL: Use cURL for url streams], no, no)
 
 if test "$PHP_CURL" != "no"; then
   if test -r $PHP_CURL/include/curl/easy.h; then
diff --git a/ext/curl/config.w32 b/ext/curl/config.w32
index 7fa5f79..fa851ec 100644
--- a/ext/curl/config.w32
+++ b/ext/curl/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.3.4.1.2.2 2006/11/14 19:57:13 edink Exp $
+// $Id: config.w32 223346 2006-11-14 19:57:13Z edink $
 // vim:ft=javascript
 
 ARG_WITH("curl", "cURL support", "no");
diff --git a/ext/curl/interface.c b/ext/curl/interface.c
index 7a10bf2..625a142 100644
--- a/ext/curl/interface.c
+++ b/ext/curl/interface.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: interface.c,v 1.62.2.14.2.57 2009/06/15 12:38:11 iliaa Exp $ */
+/* $Id: interface.c 287784 2009-08-26 22:24:10Z pajoye $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -183,7 +183,7 @@ static int php_curl_option_url(php_curl *ch, const char *url, const int len) /*
 			return 0;
 		}
 
-		if (!strncasecmp("file", uri->scheme, sizeof("file"))) {
+		if (uri->scheme && !strncasecmp("file", uri->scheme, sizeof("file"))) {
 			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Protocol 'file' disabled in cURL");
 			php_url_free(uri);
 			return 0;
@@ -696,13 +696,24 @@ PHP_MINIT_FUNCTION(curl)
 		char **p = (char **)info->protocols;
 
 		while (*p != NULL) {
-			php_register_url_stream_wrapper(*p++, &php_curl_wrapper TSRMLS_CC);
+			/* Do not enable cURL "file" protocol and make sure cURL is always used when --with-curlwrappers is enabled */
+			if (strncasecmp(*p, "file", sizeof("file")-1) != 0) {
+				php_unregister_url_stream_wrapper(*p TSRMLS_CC);
+				php_register_url_stream_wrapper(*p, &php_curl_wrapper TSRMLS_CC);
+			}
+			(void) *p++;
 		}
 	}
 # else
+	php_unregister_url_stream_wrapper("http");
 	php_register_url_stream_wrapper("http", &php_curl_wrapper TSRMLS_CC);
+	php_unregister_url_stream_wrapper("https");
 	php_register_url_stream_wrapper("https", &php_curl_wrapper TSRMLS_CC);
+	php_unregister_url_stream_wrapper("ftp");
 	php_register_url_stream_wrapper("ftp", &php_curl_wrapper TSRMLS_CC);
+	php_unregister_url_stream_wrapper("ftps");
+	php_register_url_stream_wrapper("ftps", &php_curl_wrapper TSRMLS_CC);
+	php_unregister_url_stream_wrapper("ldap");
 	php_register_url_stream_wrapper("ldap", &php_curl_wrapper TSRMLS_CC);
 # endif
 #endif
@@ -1131,6 +1142,7 @@ PHP_FUNCTION(curl_init)
 {
 	php_curl	*ch;
 	zval		**url;
+	zval		*clone;
 	CURL		*cp;
 	int			argc = ZEND_NUM_ARGS();
 
@@ -1160,6 +1172,9 @@ PHP_FUNCTION(curl_init)
 
 	ch->uses = 0;
 
+	MAKE_STD_ZVAL(clone);
+	ch->clone = clone;
+
 	curl_easy_setopt(ch->cp, CURLOPT_NOPROGRESS,        1);
 	curl_easy_setopt(ch->cp, CURLOPT_VERBOSE,           0);
 	curl_easy_setopt(ch->cp, CURLOPT_ERRORBUFFER,       ch->err.str);
@@ -1255,6 +1270,10 @@ PHP_FUNCTION(curl_copy_handle)
 	zend_llist_copy(&dupch->to_free.slist, &ch->to_free.slist);
 	zend_llist_copy(&dupch->to_free.post, &ch->to_free.post);
 
+	/* Keep track of cloned copies to avoid invoking curl destructors for every clone */
+	ch->clone->refcount++;
+	dupch->clone = ch->clone;
+
 	ZEND_REGISTER_RESOURCE(return_value, dupch, le_curl);
 	dupch->id = Z_LVAL_P(return_value);
 }
@@ -1436,7 +1455,7 @@ static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue, zval *retu
 			error = CURLE_OK;
 			switch (option) {
 				case CURLOPT_FILE:
-					if (((php_stream *) what)->mode[0] != 'r') {
+					if (((php_stream *) what)->mode[0] != 'r' || ((php_stream *) what)->mode[1] == '+') {
 						zend_list_addref(Z_LVAL_PP(zvalue));
 						ch->handlers->write->fp = fp;
 						ch->handlers->write->method = PHP_CURL_FILE;
@@ -1447,7 +1466,7 @@ static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue, zval *retu
 					}
 					break;
 				case CURLOPT_WRITEHEADER:
-					if (((php_stream *) what)->mode[0] != 'r') {
+					if (((php_stream *) what)->mode[0] != 'r' || ((php_stream *) what)->mode[1] == '+') {
 						zend_list_addref(Z_LVAL_PP(zvalue));
 						ch->handlers->write_header->fp = fp;
 						ch->handlers->write_header->method = PHP_CURL_FILE;
@@ -1463,7 +1482,7 @@ static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue, zval *retu
 					ch->handlers->read->fd = Z_LVAL_PP(zvalue);
 					break;
 				case CURLOPT_STDERR:
-					if (((php_stream *) what)->mode[0] != 'r') {
+					if (((php_stream *) what)->mode[0] != 'r' || ((php_stream *) what)->mode[1] == '+') {
 						if (ch->handlers->std_err) {
 							zval_ptr_dtor(&ch->handlers->std_err);
 						}
@@ -1573,35 +1592,32 @@ static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue, zval *retu
 					 * must be explicitly cast to long in curl_formadd
 					 * use since curl needs a long not an int. */
 					if (*postval == '@') {
-						char *type;
+						char *type, *filename;
 						++postval;
 
-						if ((type = php_memnstr(postval, ";type=", sizeof(";type=") - 1, postval + strlen(postval)))) {
+						if ((type = php_memnstr(postval, ";type=", sizeof(";type=") - 1, postval + Z_STRLEN_PP(current)))) {
 							*type = '\0';
 						}
+						if ((filename = php_memnstr(postval, ";filename=", sizeof(";filename=") - 1, postval + Z_STRLEN_PP(current)))) {
+							*filename = '\0';
+						}
 						/* safe_mode / open_basedir check */
 						if (php_check_open_basedir(postval TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(postval, "rb+", CHECKUID_CHECK_MODE_PARAM))) {
-							if (type) {
-								*type = ';';
-							}
 							RETVAL_FALSE;
 							return 1;
 						}
+						error = curl_formadd(&first, &last,
+										CURLFORM_COPYNAME, string_key,
+										CURLFORM_NAMELENGTH, (long)string_key_len - 1,
+										CURLFORM_FILENAME, filename ? filename : postval,
+										CURLFORM_CONTENTTYPE, type ? type + sizeof(";type=") - 1 : "application/octet-stream",
+										CURLFORM_FILE, postval,
+										CURLFORM_END);
 						if (type) {
-							error = curl_formadd(&first, &last,
-											 CURLFORM_COPYNAME, string_key,
-											 CURLFORM_NAMELENGTH, (long)string_key_len - 1,
-											 CURLFORM_FILE, postval,
-											 CURLFORM_CONTENTTYPE, type + sizeof(";type=") - 1,
-											 CURLFORM_END);
 							*type = ';';
-						} else {
-							error = curl_formadd(&first, &last,
-											 CURLFORM_COPYNAME, string_key,
-											 CURLFORM_NAMELENGTH, (long)string_key_len - 1,
-											 CURLFORM_FILE, postval,
-											 CURLFORM_END);
-
+						}
+						if (filename) {
+							*filename = ';';
 						}
 					} else {
 						error = curl_formadd(&first, &last,
@@ -1829,6 +1845,14 @@ PHP_FUNCTION(curl_exec)
 		RETURN_STRINGL(ch->handlers->write->buf.c, ch->handlers->write->buf.len, 1);
 	}
 
+	/* flush the file handle, so any remaining data is synched to disk */
+	if (ch->handlers->write->method == PHP_CURL_FILE && ch->handlers->write->fp) {
+		fflush(ch->handlers->write->fp);
+	}
+	if (ch->handlers->write_header->method == PHP_CURL_FILE && ch->handlers->write_header->fp) {
+		fflush(ch->handlers->write_header->fp);
+	}
+
 	if (ch->handlers->write->method == PHP_CURL_RETURN) {
 		RETURN_EMPTY_STRING();
 	} else {
@@ -2068,8 +2092,19 @@ static void _php_curl_close_ex(php_curl *ch TSRMLS_DC)
 #if LIBCURL_VERSION_NUM < 0x071101
 	zend_llist_clean(&ch->to_free.str);
 #endif
-	zend_llist_clean(&ch->to_free.slist);
-	zend_llist_clean(&ch->to_free.post);
+
+	/* cURL destructors should be invoked only by last curl handle */
+	if (ch->clone->refcount <= 1) {
+		zend_llist_clean(&ch->to_free.slist);
+		zend_llist_clean(&ch->to_free.post);
+		FREE_ZVAL(ch->clone);
+	} else {
+		ch->clone->refcount--;
+		ch->to_free.slist.dtor = NULL;
+		ch->to_free.post.dtor = NULL;
+		zend_llist_clean(&ch->to_free.slist);
+		zend_llist_clean(&ch->to_free.post);
+	}
 
 	if (ch->handlers->write->buf.len > 0) {
 		smart_str_free(&ch->handlers->write->buf);
diff --git a/ext/curl/multi.c b/ext/curl/multi.c
index 2e6580a..e90e7aa 100644
--- a/ext/curl/multi.c
+++ b/ext/curl/multi.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: multi.c,v 1.19.2.3.2.10 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: multi.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
diff --git a/ext/curl/php_curl.h b/ext/curl/php_curl.h
index f75d02a..56e3ad8 100644
--- a/ext/curl/php_curl.h
+++ b/ext/curl/php_curl.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_curl.h,v 1.44.2.2.2.7 2009/05/27 22:38:53 pajoye Exp $ */
+/* $Id: php_curl.h 284557 2009-07-21 20:32:32Z srinatar $ */
 
 #ifndef _PHP_CURL_H
 #define _PHP_CURL_H
@@ -132,6 +132,7 @@ typedef struct {
 	long                     id;
 	unsigned int             uses;
 	zend_bool                in_callback;
+	zval                     *clone;
 } php_curl;
 
 typedef struct {
diff --git a/ext/curl/streams.c b/ext/curl/streams.c
index d908d6f..8a7b97d 100644
--- a/ext/curl/streams.c
+++ b/ext/curl/streams.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: streams.c,v 1.14.2.2.2.14 2009/05/05 00:33:02 jani Exp $ */
+/* $Id: streams.c 284748 2009-07-25 13:09:03Z jani $ */
 
 /* This file implements cURL based wrappers.
  * NOTE: If you are implementing your own streams that are intended to
@@ -129,7 +129,7 @@ static int on_progress_avail(php_stream *stream, double dltotal, double dlnow, d
 
 	/* our notification system only works in a single direction; we should detect which
 	 * direction is important and use the correct values in this call */
-	php_stream_notify_progress(stream->context, dlnow, dltotal);
+	php_stream_notify_progress(stream->context, (size_t) dlnow, (size_t) dltotal);
 	return 0;
 }
 
@@ -167,7 +167,8 @@ static size_t php_curl_stream_read(php_stream *stream, char *buf, size_t count T
 			tv.tv_sec = 15; /* TODO: allow this to be configured from the script */
 
 			/* wait for data */
-			switch (select(curlstream->maxfd + 1, &curlstream->readfds, &curlstream->writefds, &curlstream->excfds, &tv)) {
+			switch ((curlstream->maxfd < 0) ? 1 : 
+					select(curlstream->maxfd + 1, &curlstream->readfds, &curlstream->writefds, &curlstream->excfds, &tv)) {
 				case -1:
 					/* error */
 					return 0;
@@ -180,7 +181,8 @@ static size_t php_curl_stream_read(php_stream *stream, char *buf, size_t count T
 						curlstream->mcode = curl_multi_perform(curlstream->multi, &curlstream->pending);
 					} while (curlstream->mcode == CURLM_CALL_MULTI_PERFORM);
 			}
-		} while (curlstream->readbuffer.readpos >= curlstream->readbuffer.writepos && curlstream->pending > 0);
+		} while (curlstream->maxfd >= 0 &&
+				curlstream->readbuffer.readpos >= curlstream->readbuffer.writepos && curlstream->pending > 0);
 
 	}
 
@@ -469,8 +471,7 @@ php_stream *php_curl_stream_opener(php_stream_wrapper *wrapper, char *filename,
 #else 
 			php_error_docref(NULL TSRMLS_CC, E_WARNING, "There was an error mcode=%d", m);
 #endif
-			php_stream_close(stream);
-			return NULL;
+			goto exit_fail;
 		}
 		
 		/* we have only one curl handle here, even though we use multi syntax, 
@@ -488,14 +489,23 @@ php_stream *php_curl_stream_opener(php_stream_wrapper *wrapper, char *filename,
 			}
 		}
 		if (msg_found) {
-			php_stream_close(stream);
-			return NULL;
+			goto exit_fail;
 		}
 	}
+
+	/* context headers are not needed anymore */
 	if (slist) {
+		curl_easy_setopt(curlstream->curl, CURLOPT_HTTPHEADER, NULL);
 		curl_slist_free_all(slist);
 	}
 	return stream;
+
+exit_fail:
+	php_stream_close(stream);
+	if (slist) {
+		curl_slist_free_all(slist);
+	}
+	return NULL;
 }
 
 static php_stream_wrapper_ops php_curl_wrapper_ops = {
diff --git a/ext/curl/tests/bug46739.phpt b/ext/curl/tests/bug46739.phpt
index 52bfbc8..895bba7 100644
--- a/ext/curl/tests/bug46739.phpt
+++ b/ext/curl/tests/bug46739.phpt
@@ -5,9 +5,6 @@ Bug #46739 (array returned by curl_getinfo should contain content_type key)
 if (!extension_loaded("curl")) {
 	exit("skip curl extension not loaded");
 }
-if (false === getenv('PHP_CURL_HTTP_REMOTE_SERVER'))  {
-	exit("skip PHP_CURL_HTTP_REMOTE_SERVER env variable is not defined");
-}
 ?>
 --FILE--
 <?php
diff --git a/ext/curl/tests/bug48207.phpt b/ext/curl/tests/bug48207.phpt
new file mode 100644
index 0000000..b6caa61
--- /dev/null
+++ b/ext/curl/tests/bug48207.phpt
@@ -0,0 +1,47 @@
+--TEST--
+Test curl_setopt() CURLOPT_FILE readonly file handle
+--CREDITS--
+Mark van der Velden
+#testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+/*
+ * Description       : Adds a file which stores the received data from curl_exec();
+ * Source code       : ext/curl/multi.c
+ * Test documentation: http://wiki.php.net/qa/temp/ext/curl
+ */
+
+// Figure out what handler to use
+$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+if(!empty($host)) {
+
+    // Use the set Environment variable
+    $url = "$host/get.php";
+
+} else {
+
+    // Create a temporary file for the test
+    $tempname = tempnam(sys_get_temp_dir(), 'CURL_HANDLE');
+    $url = 'file://'. $tempname;
+
+    // add the test data to the file
+    file_put_contents($tempname, "Hello World!\nHello World!");
+}
+
+
+$tempfile	= tempnam(sys_get_temp_dir(), 'CURL_FILE_HANDLE');
+
+$ch = curl_init($url);
+$fp = fopen($tempfile, "r"); // Opening 'fubar' with the incorrect readonly flag
+curl_setopt($ch, CURLOPT_FILE, $fp);
+curl_exec($ch);
+curl_close($ch);
+is_file($tempfile) and @unlink($tempfile);
+isset($tempname) and is_file($tempname) and @unlink($tempname);
+?>
+--EXPECTF--
+Warning: curl_setopt(): the provided file handle is not writable in %s on line %d
+Hello World!
+Hello World!
diff --git a/ext/curl/tests/curl_CURLOPT_READDATA.phpt b/ext/curl/tests/curl_CURLOPT_READDATA.phpt
new file mode 100644
index 0000000..00f3ea9
--- /dev/null
+++ b/ext/curl/tests/curl_CURLOPT_READDATA.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test CURLOPT_READDATA without a callback function
+--CREDITS--
+Mattijs Hoitink mattijshoitink at gmail.com
+#Testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+// The URL to POST to
+$url = getenv('PHP_CURL_HTTP_REMOTE_SERVER') . '/get.php?test=post';
+
+// Create a temporary file to read the data from
+$tempname = tempnam(sys_get_temp_dir(), 'CURL_DATA');
+$datalen = file_put_contents($tempname, "hello=world&smurf=blue");
+
+ob_start();
+
+$ch = curl_init($url);
+curl_setopt($ch, CURLOPT_URL, $url);
+curl_setopt($ch, CURLOPT_POST, true);
+curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+curl_setopt($ch, CURLOPT_READDATA, fopen($tempname, 'rb'));
+curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:', "Content-Length: {$datalen}"));
+
+if (false === $response = curl_exec($ch)) {
+    echo 'Error #' . curl_errno($ch) . ': ' . curl_error($ch);
+} else {
+    echo $response;
+}
+
+curl_close($ch);
+
+// Clean the temporary file
+ at unlink($tempname);
+
+--EXPECT--
+array(2) {
+  ["hello"]=>
+  string(5) "world"
+  ["smurf"]=>
+  string(4) "blue"
+}
diff --git a/ext/curl/tests/curl_close_basic.phpt b/ext/curl/tests/curl_close_basic.phpt
new file mode 100644
index 0000000..9c01b02
--- /dev/null
+++ b/ext/curl/tests/curl_close_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+curl_close
+--CREDITS--
+Stefan Koopmanschap <stefan at php.net>
+#testfest Utrecht 2009
+--SKIPIF--
+<?php
+if (!extension_loaded('curl')) print 'skip';
+?>
+--FILE--
+<?php
+$ch = curl_init();
+curl_close($ch);
+var_dump($ch);
+?>
+===DONE===
+--EXPECTF--
+resource(%d) of type (Unknown)
+===DONE===
diff --git a/ext/curl/tests/curl_copy_handle_basic.phpt b/ext/curl/tests/curl_copy_handle_basic.phpt
new file mode 100644
index 0000000..1a6ff41
--- /dev/null
+++ b/ext/curl/tests/curl_copy_handle_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Test curl_copy_handle() function with basic functionality 
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("curl")) exit("skip curl extension not loaded");
+?>
+--FILE--
+<?php
+echo "*** Testing curl_copy_handle(): basic ***\n";
+
+// create a new cURL resource
+$ch = curl_init();
+
+// set URL and other appropriate options
+curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
+curl_setopt($ch, CURLOPT_HEADER, 0);
+
+// copy the handle
+$ch2 = curl_copy_handle($ch);
+
+var_dump(curl_getinfo($ch) === curl_getinfo($ch2));
+?>
+===DONE===
+--EXPECTF--
+*** Testing curl_copy_handle(): basic ***
+bool(true)
+===DONE===
diff --git a/ext/curl/tests/curl_copy_handle_basic_001.phpt b/ext/curl/tests/curl_copy_handle_basic_001.phpt
new file mode 100644
index 0000000..db4bf02
--- /dev/null
+++ b/ext/curl/tests/curl_copy_handle_basic_001.phpt
@@ -0,0 +1,42 @@
+--TEST--
+Test curl_copy_handle() with simple get
+--CREDITS--
+Rick Buitenman <rick at meritos.nl>
+#testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+  $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+  echo '*** Testing curl copy handle with simple GET ***' . "\n";
+
+  $url = "{$host}/get.php?test=getpost&get_param=Hello%20World";
+  $ch = curl_init();
+
+  ob_start(); // start output buffering
+  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+  curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
+  
+  $copy = curl_copy_handle($ch);
+  curl_close($ch);
+  
+  $curl_content = curl_exec($copy);
+  curl_close($copy);
+
+  var_dump( $curl_content );
+?>
+===DONE===
+--EXPECTF--
+*** Testing curl copy handle with simple GET ***
+string(106) "array(2) {
+  ["test"]=>
+  string(7) "getpost"
+  ["get_param"]=>
+  string(11) "Hello World"
+}
+array(0) {
+}
+"
+===DONE=== 
\ No newline at end of file
diff --git a/ext/curl/tests/curl_copy_handle_basic_002.phpt b/ext/curl/tests/curl_copy_handle_basic_002.phpt
new file mode 100644
index 0000000..8a35823
--- /dev/null
+++ b/ext/curl/tests/curl_copy_handle_basic_002.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Test curl_copy_handle() with simple POST
+--CREDITS--
+Rick Buitenman <rick at meritos.nl>
+#testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+  $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+  echo '*** Testing curl copy handle with simple POST ***' . "\n";
+
+  $url = "{$host}/get.php?test=getpost";
+  $ch = curl_init();
+
+  ob_start(); // start output buffering
+  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+  curl_setopt($ch, CURLOPT_POST, 1);
+  curl_setopt($ch, CURLOPT_POSTFIELDS, "Hello=World&Foo=Bar&Person=John%20Doe");
+  curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
+  
+  $copy = curl_copy_handle($ch);
+  curl_close($ch);
+ 
+  $curl_content = curl_exec($copy);
+  curl_close($copy);
+
+  var_dump( $curl_content );
+?>
+===DONE===
+--XFAIL--
+This test fails, the copy seems to be missing the CURLOPT_POSTFIELDS after the original is closed
+--EXPECTF--
+*** Testing curl copy handle with simple POST ***
+string(163) "array(1) {
+  ["test"]=>
+  string(7) "getpost"
+}
+array(3) {
+  ["Hello"]=>
+  string(5) "World"
+  ["Foo"]=>
+  string(3) "Bar"
+  ["Person"]=>
+  string(8) "John Doe"
+}
+"
+===DONE=== 
diff --git a/ext/curl/tests/curl_copy_handle_basic_004.phpt b/ext/curl/tests/curl_copy_handle_basic_004.phpt
new file mode 100644
index 0000000..2b75eb6
--- /dev/null
+++ b/ext/curl/tests/curl_copy_handle_basic_004.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test curl_copy_handle() after exec()
+--CREDITS--
+Rick Buitenman <rick at meritos.nl>
+#testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+  $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+  echo '*** Test curl_copy_handle() after exec() ***' . "\n";
+
+  $url = "{$host}/get.php?test=getpost&get_param=Hello%20World";
+  $ch = curl_init();
+
+  ob_start(); // start output buffering
+  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+  curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
+  
+  
+  $curl_content = curl_exec($ch);
+  $copy = curl_copy_handle($ch);
+  curl_close($ch);
+  
+  $curl_content_copy = curl_exec($copy); 
+  curl_close($copy);
+
+  var_dump( $curl_content_copy );
+?>
+===DONE===
+--EXPECTF--
+*** Test curl_copy_handle() after exec() ***
+string(106) "array(2) {
+  ["test"]=>
+  string(7) "getpost"
+  ["get_param"]=>
+  string(11) "Hello World"
+}
+array(0) {
+}
+"
+===DONE=== 
\ No newline at end of file
diff --git a/ext/curl/tests/curl_copy_handle_basic_005.phpt b/ext/curl/tests/curl_copy_handle_basic_005.phpt
new file mode 100644
index 0000000..dcc7e47
--- /dev/null
+++ b/ext/curl/tests/curl_copy_handle_basic_005.phpt
@@ -0,0 +1,52 @@
+--TEST--
+Test curl_copy_handle() after exec() with POST
+--CREDITS--
+Rick Buitenman <rick at meritos.nl>
+#testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+  $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+  echo '*** Test curl_copy_handle() after exec() with POST ***' . "\n";
+
+  $url = "{$host}/get.php?test=getpost";
+  $ch = curl_init();
+
+  ob_start(); // start output buffering
+  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+  curl_setopt($ch, CURLOPT_POST, 1);
+  curl_setopt($ch, CURLOPT_POSTFIELDS, "Hello=World&Foo=Bar&Person=John%20Doe");
+  curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
+  
+  
+  $curl_content = curl_exec($ch);
+  $copy = curl_copy_handle($ch);
+  curl_close($ch);
+  
+  $curl_content_copy = curl_exec($copy);
+  curl_close($copy);
+
+  var_dump( $curl_content_copy );
+?>
+===DONE===
+--XFAIL--
+This test fails, the output of the copy seems to be corrupted if the original is closed after exec()
+--EXPECTF--
+*** Test curl_copy_handle() after exec() with POST ***
+string(163) "array(1) {
+  ["test"]=>
+  string(7) "getpost"
+}
+array(3) {
+  ["Hello"]=>
+  string(5) "World"
+  ["Foo"]=>
+  string(3) "Bar"
+  ["Person"]=>
+  string(8) "John Doe"
+}
+"
+===DONE=== 
diff --git a/ext/curl/tests/curl_copy_handle_basic_006.phpt b/ext/curl/tests/curl_copy_handle_basic_006.phpt
new file mode 100644
index 0000000..d2374c7
--- /dev/null
+++ b/ext/curl/tests/curl_copy_handle_basic_006.phpt
@@ -0,0 +1,37 @@
+--TEST--
+Test curl_copy_handle() with User Agent
+--CREDITS--
+Rick Buitenman <rick at meritos.nl>
+#testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+  $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+  echo '*** Testing curl copy handle with User Agent ***' . "\n";
+
+  $url = "{$host}/get.php?test=useragent";
+  $ch = curl_init();
+
+  ob_start(); // start output buffering
+  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+  curl_setopt($ch, CURLOPT_USERAGENT, 'cURL phpt');
+  curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
+  
+  $copy = curl_copy_handle($ch);
+
+  var_dump( curl_exec($ch) );
+  var_dump( curl_exec($copy) );
+
+  curl_close($ch); // can not close original handle before curl_exec($copy) since it causes char * inputs to be invalid (see also: http://curl.haxx.se/libcurl/c/curl_easy_duphandle.html)
+  curl_close($copy);
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing curl copy handle with User Agent ***
+string(9) "cURL phpt"
+string(9) "cURL phpt"
+===DONE===  
diff --git a/ext/curl/tests/curl_copy_handle_basic_007.phpt b/ext/curl/tests/curl_copy_handle_basic_007.phpt
new file mode 100644
index 0000000..a51d9f6
--- /dev/null
+++ b/ext/curl/tests/curl_copy_handle_basic_007.phpt
@@ -0,0 +1,45 @@
+--TEST--
+Test curl_copy_handle() with simple POST
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+  $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+  echo '*** Testing curl copy handle with simple POST using array as arguments ***' . "\n";
+
+  $url = "{$host}/get.php?test=getpost";
+  $ch = curl_init();
+
+  ob_start(); // start output buffering
+  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+  curl_setopt($ch, CURLOPT_POST, 1);
+  curl_setopt($ch, CURLOPT_POSTFIELDS, array("Hello" => "World", "Foo" => "Bar", "Person" => "John Doe"));
+  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); // Disable Expect: header (lighttpd does not support it :)
+  curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
+  
+  $copy = curl_copy_handle($ch);
+  curl_close($ch);
+ 
+  $curl_content = curl_exec($copy);
+  curl_close($copy);
+
+  var_dump( $curl_content );
+?>
+===DONE===
+--EXPECTF--
+*** Testing curl copy handle with simple POST using array as arguments ***
+string(163) "array(1) {
+  ["test"]=>
+  string(7) "getpost"
+}
+array(3) {
+  ["Hello"]=>
+  string(5) "World"
+  ["Foo"]=>
+  string(3) "Bar"
+  ["Person"]=>
+  string(8) "John Doe"
+}
+"
+===DONE=== 
diff --git a/ext/curl/tests/curl_copy_handle_variation1.phpt b/ext/curl/tests/curl_copy_handle_variation1.phpt
new file mode 100644
index 0000000..da45221
--- /dev/null
+++ b/ext/curl/tests/curl_copy_handle_variation1.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Test curl_copy_handle() change options in one handle
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("curl")) exit("skip curl extension not loaded");
+?>
+--FILE--
+<?php
+echo "*** Testing curl_copy_handle(): basic ***\n";
+
+// create a new cURL resource
+$ch = curl_init();
+
+// set URL and other appropriate options
+curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
+
+// copy the handle
+$ch2 = curl_copy_handle($ch);
+
+// change the CURLOPT_URL for the second handle
+curl_setopt($ch2, CURLOPT_URL, 'http://www.bar.com/');
+
+var_dump(curl_getinfo($ch) === curl_getinfo($ch2));
+?>
+===DONE===
+--EXPECTF--
+*** Testing curl_copy_handle(): basic ***
+bool(false)
+===DONE===
diff --git a/ext/curl/tests/curl_copy_handle_variation2.phpt b/ext/curl/tests/curl_copy_handle_variation2.phpt
new file mode 100644
index 0000000..924bf6a
--- /dev/null
+++ b/ext/curl/tests/curl_copy_handle_variation2.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test curl_copy_handle() add options to the handles
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("curl")) exit("skip curl extension not loaded");
+?>
+--COMMENT--
+the only way to test if a option is setten on a curl handle is using the curl_getinfo() function.
+but this can only check on a limited amount of options...
+--FILE--
+<?php
+echo "*** Testing curl_copy_handle(): add options after copy ***\n";
+
+// create a new cURL resource
+$ch = curl_init();
+
+// copy the handle
+$ch2 = curl_copy_handle($ch);
+var_dump(curl_getinfo($ch) === curl_getinfo($ch2));
+
+// add some CURLOPT to the second handle
+curl_setopt($ch2, CURLOPT_URL, 'http://www.example.com/');
+
+var_dump(curl_getinfo($ch) === curl_getinfo($ch2));
+
+// add same CURLOPT to the first handle
+curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
+var_dump(curl_getinfo($ch) === curl_getinfo($ch2));
+
+// change a CURLOPT in the second handle
+curl_setopt($ch2, CURLOPT_URL, 'http://www.bar.com/');
+var_dump(curl_getinfo($ch) === curl_getinfo($ch2));
+?>
+===DONE===
+--EXPECTF--
+*** Testing curl_copy_handle(): add options after copy ***
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+===DONE===
diff --git a/ext/curl/tests/curl_error_basic.phpt b/ext/curl/tests/curl_error_basic.phpt
new file mode 100644
index 0000000..c9aa9ef
--- /dev/null
+++ b/ext/curl/tests/curl_error_basic.phpt
@@ -0,0 +1,33 @@
+--TEST--
+curl_error() function - basic test for curl_error using a fake url
+--CREDITS--
+Mattijs Hoitink mattijshoitink at gmail.com
+#Testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+/*
+ * Prototype:     string curl_error(resource $ch)
+ * Description:   Returns a clear text error message for the last cURL operation.
+ * Source:        ext/curl/interface.c
+ * Documentation: http://wiki.php.net/qa/temp/ext/curl
+ */
+ 
+// Fake URL to trigger an error
+$url = "fakeURL";
+
+echo "== Testing curl_error with a fake URL ==\n";
+
+// cURL handler
+$ch = curl_init($url);
+
+ob_start(); // start output buffering
+curl_exec($ch);
+echo "Error: " . curl_error($ch);
+curl_close($ch);
+
+?>
+--EXPECT--
+== Testing curl_error with a fake URL ==
+Error: Couldn't resolve host 'fakeURL'
diff --git a/ext/curl/tests/curl_multi_close_basic.phpt b/ext/curl/tests/curl_multi_close_basic.phpt
new file mode 100644
index 0000000..28865bc
--- /dev/null
+++ b/ext/curl/tests/curl_multi_close_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+curl_multi_close
+--CREDITS--
+Stefan Koopmanschap <stefan at php.net>
+#testfest Utrecht 2009
+--SKIPIF--
+<?php
+if (!extension_loaded('curl')) print 'skip';
+?>
+--FILE--
+<?php
+$ch = curl_multi_init();
+curl_multi_close($ch);
+var_dump($ch);
+?>
+===DONE===
+--EXPECTF--
+resource(%d) of type (Unknown)
+===DONE===
diff --git a/ext/curl/tests/curl_multi_getcontent_basic3.phpt b/ext/curl/tests/curl_multi_getcontent_basic3.phpt
new file mode 100644
index 0000000..1434c58
--- /dev/null
+++ b/ext/curl/tests/curl_multi_getcontent_basic3.phpt
@@ -0,0 +1,59 @@
+--TEST--
+Curl_multi_getcontent() basic test with different sources (local file/http)
+--CREDITS--
+Rein Velt (rein at velt.org)
+#TestFest Utrecht 20090509
+--SKIPIF--
+<?php
+if (!extension_loaded('curl')) print 'skip';
+?>
+--FILE--
+<?php
+	//CURL_MULTI_GETCONTENT TEST
+
+	//CREATE RESOURCES
+ 	$ch1=curl_init();
+	$ch2=curl_init();
+
+	//SET URL AND OTHER OPTIONS
+	curl_setopt($ch1, CURLOPT_URL, "http://php.net/robots.txt");
+	curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt");
+	curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
+	curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
+	
+	//CREATE MULTIPLE CURL HANDLE
+	$mh=curl_multi_init();
+
+	//ADD THE 2 HANDLES
+	curl_multi_add_handle($mh,$ch1);
+	curl_multi_add_handle($mh,$ch2);
+
+	//EXECUTE
+	$running=0;
+	do {
+		curl_multi_exec($mh,$running);
+	} while ($running>0);
+
+	$results1=curl_multi_getcontent($ch1);
+        $results2=curl_multi_getcontent($ch2);
+
+	//CLOSE
+ 	curl_multi_remove_handle($mh,$ch1);
+	curl_multi_remove_handle($mh,$ch2);
+	curl_multi_close($mh);	
+
+	echo $results1;
+	echo $results2;
+
+?>
+--EXPECT--
+User-agent: *
+Disallow: /backend/
+Disallow: /distributions/
+Disallow: /stats/
+Disallow: /source.php
+Disallow: /search.php
+Disallow: /mod.php
+Disallow: /manual/add-note.php
+CURL2
+
diff --git a/ext/curl/tests/curl_multi_getcontent_error1.phpt b/ext/curl/tests/curl_multi_getcontent_error1.phpt
new file mode 100644
index 0000000..88de0d7
--- /dev/null
+++ b/ext/curl/tests/curl_multi_getcontent_error1.phpt
@@ -0,0 +1,51 @@
+--TEST--
+Curl_multi_getcontent() error test 
+--CREDITS--
+Rein Velt (rein at velt.org)
+#TestFest Utrecht 20090509
+--SKIPIF--
+<?php
+if (!extension_loaded('curl')) print 'skip';
+?>
+--FILE--
+<?php
+	//CURL_MULTI_GETCONTENT TEST
+
+	//CREATE RESOURCES
+ 	$ch1=curl_init();
+	$ch2=curl_init();
+
+	//SET URL AND OTHER OPTIONS
+	curl_setopt($ch1, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata1.txt");
+	curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt");
+	curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
+	curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
+	
+	//CREATE MULTIPLE CURL HANDLE
+	$mh=curl_multi_init();
+
+	//ADD THE 2 HANDLES
+	curl_multi_add_handle($mh,$ch1);
+	curl_multi_add_handle($mh,$ch2);
+
+	//EXECUTE
+	$running=0;
+	do {
+		curl_multi_exec($mh,$running);
+	} while ($running>0);
+
+	$results1=curl_multi_getcontent(); //no parameter
+        $results2=curl_multi_getcontent($ch2);
+
+	//CLOSE
+ 	curl_multi_remove_handle($mh,$ch1);
+	curl_multi_remove_handle($mh,$ch2);
+	curl_multi_close($mh);	
+
+	echo $results1; 
+	echo $results2;
+
+?>
+--EXPECTF--
+Warning: curl_multi_getcontent() expects exactly 1 parameter, 0 given in %s on line %d
+CURL2
diff --git a/ext/curl/tests/curl_multi_getcontent_error2.phpt b/ext/curl/tests/curl_multi_getcontent_error2.phpt
new file mode 100644
index 0000000..ad837d8
--- /dev/null
+++ b/ext/curl/tests/curl_multi_getcontent_error2.phpt
@@ -0,0 +1,51 @@
+--TEST--
+Curl_multi_getcontent() error test 
+--CREDITS--
+Rein Velt (rein at velt.org)
+#TestFest Utrecht 20090509
+--SKIPIF--
+<?php
+if (!extension_loaded('curl')) print 'skip';
+?>
+--FILE--
+<?php
+	//CURL_MULTI_GETCONTENT TEST
+
+	//CREATE RESOURCES
+ 	$ch1=curl_init();
+	$ch2=curl_init();
+
+	//SET URL AND OTHER OPTIONS
+	curl_setopt($ch1, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata1.txt");
+	curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt");
+	curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
+	curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
+	
+	//CREATE MULTIPLE CURL HANDLE
+	$mh=curl_multi_init();
+
+	//ADD THE 2 HANDLES
+	curl_multi_add_handle($mh,$ch1);
+	curl_multi_add_handle($mh,$ch2);
+
+	//EXECUTE
+	$running=0;
+	do {
+		curl_multi_exec($mh,$running);
+	} while ($running>0);
+
+	$results1=curl_multi_getcontent($ch1,$ch2); //no parameter
+        $results2=curl_multi_getcontent($ch2);
+
+	//CLOSE
+ 	curl_multi_remove_handle($mh,$ch1);
+	curl_multi_remove_handle($mh,$ch2);
+	curl_multi_close($mh);	
+
+	echo $results1; 
+	echo $results2;
+
+?>
+--EXPECTF--
+Warning: curl_multi_getcontent() expects exactly 1 parameter, 2 given in %s on line %d
+CURL2
diff --git a/ext/curl/tests/curl_multi_getcontent_error3.phpt b/ext/curl/tests/curl_multi_getcontent_error3.phpt
new file mode 100644
index 0000000..6ffc6b7
--- /dev/null
+++ b/ext/curl/tests/curl_multi_getcontent_error3.phpt
@@ -0,0 +1,53 @@
+--TEST--
+Curl_multi_getcontent() error test 
+--CREDITS--
+Rein Velt (rein at velt.org)
+#TestFest Utrecht 20090509
+--SKIPIF--
+<?php
+if (!extension_loaded('curl')) print 'skip';
+?>
+--FILE--
+<?php
+	//CURL_MULTI_GETCONTENT TEST
+
+	//CREATE RESOURCES
+ 	$ch1=curl_init();
+	$ch2=curl_init();
+
+	//SET URL AND OTHER OPTIONS
+	curl_setopt($ch1, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata1.txt");
+	curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt");
+	curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
+	curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
+	
+	//CREATE MULTIPLE CURL HANDLE
+	$mh=curl_multi_init();
+
+	//ADD THE 2 HANDLES
+	curl_multi_add_handle($mh,$ch1);
+	curl_multi_add_handle($mh,$ch2);
+
+	//EXECUTE
+	$running=0;
+	do {
+		curl_multi_exec($mh,$running);
+	} while ($running>0);
+
+	$ch1="string"; 
+
+	$results1=curl_multi_getcontent($ch1); //incorrect parameter type
+        $results2=curl_multi_getcontent($ch2);
+
+	//CLOSE
+ 	//curl_multi_remove_handle($mh,$ch1);
+	curl_multi_remove_handle($mh,$ch2);
+	curl_multi_close($mh);	
+
+	echo $results1; 
+	echo $results2;
+
+?>
+--EXPECTF--
+Warning: curl_multi_getcontent() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d
+CURL2
diff --git a/ext/curl/tests/curl_multi_getcontent_error4.phpt b/ext/curl/tests/curl_multi_getcontent_error4.phpt
new file mode 100644
index 0000000..0315b50
--- /dev/null
+++ b/ext/curl/tests/curl_multi_getcontent_error4.phpt
@@ -0,0 +1,66 @@
+--TEST--
+Curl_multi_getcontent() error test  with undefined handle
+--CREDITS--
+Rein Velt (rein at velt.org)
+#TestFest Utrecht 20090509
+--SKIPIF--
+<?php
+if (!extension_loaded('curl')) print 'skip';
+?>
+--FILE--
+<?php
+	//CURL_MULTI_GETCONTENT TEST
+
+	//CREATE RESOURCES
+ 	//$ch1=undefined;
+	$ch2=curl_init();
+
+	//SET URL AND OTHER OPTIONS
+	curl_setopt($ch1, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata1.txt");
+	curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt");
+	curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
+	curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
+	
+	//CREATE MULTIPLE CURL HANDLE
+	$mh=curl_multi_init();
+
+	//ADD THE 2 HANDLES
+	curl_multi_add_handle($mh,$ch1);
+	curl_multi_add_handle($mh,$ch2);
+
+	//EXECUTE
+	$running=0;
+	do {
+		curl_multi_exec($mh,$running);
+	} while ($running>0);
+
+
+	$results1=curl_multi_getcontent($ch1); //incorrect parameter type
+        $results2=curl_multi_getcontent($ch2);
+
+	//CLOSE
+ 	//curl_multi_remove_handle($mh,$ch1);
+	curl_multi_remove_handle($mh,$ch2);
+	curl_multi_close($mh);	
+
+	echo $results1; 
+	echo $results2;
+
+?>
+--EXPECTF--
+Notice: Undefined variable: ch1 in %s on line %d
+
+Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in %s on line %d
+
+Notice: Undefined variable: ch1 in %s on line %d
+
+Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in %s on line %d
+
+Notice: Undefined variable: ch1 in %s on line %d
+
+Warning: curl_multi_add_handle() expects parameter 2 to be resource, null given in %s on line %d
+
+Notice: Undefined variable: ch1 in %s on line %d
+
+Warning: curl_multi_getcontent() expects parameter 1 to be resource, null given in %s on line %d
+CURL2
diff --git a/ext/curl/tests/curl_multi_init_basic.phpt b/ext/curl/tests/curl_multi_init_basic.phpt
new file mode 100644
index 0000000..0fd865d
--- /dev/null
+++ b/ext/curl/tests/curl_multi_init_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Test curl_multi_init()
+--CREDITS--
+Mark van der Velden
+#testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+/* Prototype         : resource curl_multi_init(void)
+ * Description       : Returns a new cURL multi handle
+ * Source code       : ext/curl/multi.c
+ * Test documentation:  http://wiki.php.net/qa/temp/ext/curl
+ */
+
+// start testing
+echo "*** Testing curl_multi_init(void); ***\n";
+
+//create the multiple cURL handle
+$mh = curl_multi_init();
+var_dump($mh);
+
+curl_multi_close($mh);
+var_dump($mh);
+?>
+===DONE===
+--EXPECTF--
+*** Testing curl_multi_init(void); ***
+resource(%d) of type (curl_multi)
+resource(%d) of type (Unknown)
+===DONE===
diff --git a/ext/curl/tests/curl_multi_select_basic1.phpt b/ext/curl/tests/curl_multi_select_basic1.phpt
new file mode 100644
index 0000000..7ae8124
--- /dev/null
+++ b/ext/curl/tests/curl_multi_select_basic1.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test curl_multi_select()
+--CREDITS--
+Ivo Jansch <ivo at ibuildings.com>
+#testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+/* Prototype         : resource curl_multi_select($mh, $timeout=1.0])
+ * Description       : Get all the sockets associated with the cURL extension, which can then be 
+ *                     "selected"
+ * Source code       : ?
+ * Test documentation: http://wiki.php.net/qa/temp/ext/curl
+ */
+
+
+//create the multiple cURL handle
+$mh = curl_multi_init();
+echo curl_multi_select($mh)."\n";
+
+curl_multi_close($mh);
+?>
+===DONE===
+--EXPECTF--
+%r(0|-1)%r
+===DONE===
diff --git a/ext/curl/tests/curl_setopt_CURLOPT_FOLLOWLOCATION_open_basedir.phpt b/ext/curl/tests/curl_setopt_CURLOPT_FOLLOWLOCATION_open_basedir.phpt
new file mode 100644
index 0000000..68465e6
--- /dev/null
+++ b/ext/curl/tests/curl_setopt_CURLOPT_FOLLOWLOCATION_open_basedir.phpt
@@ -0,0 +1,22 @@
+--TEST--
+CURLOPT_FOLLOWLOCATION case check safe_mode and open_basedir
+--CREDITS--
+WHITE new media architects - Dennis
+--INI--
+open_basedir = DIRECTORY_SEPARATOR."tmp";
+--SKIPIF--
+<?php
+if (!extension_loaded("curl")) print "skip cURL not loaded";
+?>
+--FILE--
+<?php
+print (ini_get("OPEN_BASEDIR"));
+$ch = curl_init();
+$succes = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
+curl_close($ch);
+var_dump($succes);
+?>
+--EXPECTF--
+Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when %r(in safe_mode or an )?%ropen_basedir is set in %s.php on line %d
+bool(false)
+
diff --git a/ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt b/ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt
new file mode 100644
index 0000000..9de2c0f
--- /dev/null
+++ b/ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt
@@ -0,0 +1,54 @@
+--TEST--
+cURL option CURLOPT_READFUNCTION
+--CREDITS--
+WHITE new media architects - Jeroen Vermeulen
+#testfest Utrecht 2009
+--SKIPIF--
+<?php 
+if (!extension_loaded("curl")) print "skip cURL extension not loaded"; 
+?>
+--FILE--
+<?php    
+function custom_readfunction($oCurl, $hReadHandle, $iMaxOut) 
+{
+  $sData = fread($hReadHandle,$iMaxOut-10); # -10 to have space to add "custom:"
+  if (!empty($sData))
+  { 
+    $sData = "custom:".$sData;
+  }
+  return $sData;
+}
+
+$sFileBase  = dirname(__FILE__).DIRECTORY_SEPARATOR.'curl_opt_CURLOPT_READFUNCTION';
+$sReadFile  = $sFileBase.'_in.tmp';
+$sWriteFile = $sFileBase.'_out.tmp';
+$sWriteUrl  = 'file://'.$sWriteFile;
+
+file_put_contents($sReadFile,'contents of tempfile');
+$hReadHandle = fopen($sReadFile, 'r');
+
+$oCurl = curl_init();
+curl_setopt($oCurl, CURLOPT_URL,          $sWriteUrl);
+curl_setopt($oCurl, CURLOPT_UPLOAD,       1);
+curl_setopt($oCurl, CURLOPT_READFUNCTION, "custom_readfunction" );
+curl_setopt($oCurl, CURLOPT_INFILE,       $hReadHandle );
+curl_exec($oCurl);
+curl_close($oCurl);
+
+fclose ($hReadHandle); 
+
+$sOutput = file_get_contents($sWriteFile); 
+var_dump($sOutput);
+?>
+===DONE===
+--CLEAN--
+<?php
+$sFileBase  = dirname(__FILE__).DIRECTORY_SEPARATOR.'curl_opt_CURLOPT_READFUNCTION';
+$sReadFile  = $sFileBase.'_in.tmp';
+$sWriteFile = $sFileBase.'_out.tmp';
+unlink($sReadFile);
+unlink($sWriteFile);
+?>
+--EXPECT--
+string(27) "custom:contents of tempfile"
+===DONE===
diff --git a/ext/curl/tests/curl_setopt_array_basic.phpt b/ext/curl/tests/curl_setopt_array_basic.phpt
new file mode 100644
index 0000000..877079b
--- /dev/null
+++ b/ext/curl/tests/curl_setopt_array_basic.phpt
@@ -0,0 +1,55 @@
+--TEST--
+curl_setopt_array() function - tests setting multiple cURL options with curl_setopt_array()
+--CREDITS--
+Mattijs Hoitink mattijshoitink at gmail.com
+#Testfest Utrecht 2009
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+/*
+ * Prototype:     bool curl_setopt_array(resource $ch, array $options)
+ * Description:   Sets multiple options for a cURL session.
+ * Source:        ext/curl/interface.c
+ * Documentation: http://wiki.php.net/qa/temp/ext/curl
+ */
+
+// Figure out what handler to use
+$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+if (!empty($host)) {
+    // Use the set Environment variable
+    $url = "{$host}/get.php?test=get";
+} else {
+    // Create a temporary file for the test
+    $tempname = tempnam(sys_get_temp_dir(), 'CURL_HANDLE');
+    $url = 'file://'. $tempname;
+    // add the test data to the file
+    file_put_contents($tempname, "Hello World!\nHello World!");
+}
+
+// Start the test
+echo '== Starting test curl_setopt_array($ch, $options); ==' . "\n";
+
+// curl handler
+$ch = curl_init();
+
+// options for the curl handler
+$options = array (
+    CURLOPT_URL => $url,
+    CURLOPT_RETURNTRANSFER => 1
+);
+
+ob_start(); // start output buffering
+
+curl_setopt_array($ch, $options);
+$returnContent = curl_exec($ch);
+curl_close($ch);
+
+var_dump($returnContent);
+
+?>
+--EXPECT--
+== Starting test curl_setopt_array($ch, $options); ==
+string(25) "Hello World!
+Hello World!"
+
diff --git a/ext/curl/tests/curl_setopt_basic001.phpt b/ext/curl/tests/curl_setopt_basic001.phpt
new file mode 100644
index 0000000..054c29e
--- /dev/null
+++ b/ext/curl/tests/curl_setopt_basic001.phpt
@@ -0,0 +1,35 @@
+--TEST--
+curl_setopt basic tests.
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--INI--
+safe_mode=On
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+// start testing
+echo "*** Testing curl_setopt with CURLOPT_FOLLOWLOCATION in safemode\n";
+
+$url = "{$host}/";
+$ch = curl_init();
+
+ob_start(); // start output buffering
+curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
+
+$curl_content = curl_exec($ch);
+curl_close($ch);
+
+var_dump( $curl_content );
+?>
+===DONE===
+--EXPECTF--
+*** Testing curl_setopt with CURLOPT_FOLLOWLOCATION in safemode
+
+Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/curl/tests/curl_setopt_basic002.phpt b/ext/curl/tests/curl_setopt_basic002.phpt
new file mode 100644
index 0000000..051703f
--- /dev/null
+++ b/ext/curl/tests/curl_setopt_basic002.phpt
@@ -0,0 +1,50 @@
+--TEST--
+curl_setopt basic tests with CURLOPT_STDERR.
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+// start testing
+echo "*** Testing curl_setopt with CURLOPT_STDERR\n";
+
+$temp_file = tempnam(sys_get_temp_dir(), 'CURL_STDERR');
+
+$handle = fopen($temp_file, 'w');
+
+$url = "{$host}/";
+$ch = curl_init();
+
+curl_setopt($ch, CURLOPT_VERBOSE, 1);
+curl_setopt($ch, CURLOPT_STDERR, $handle);
+$curl_content = curl_exec($ch);
+
+fclose($handle);
+unset($handle);
+var_dump( file_get_contents($temp_file) );
+ at unlink($temp_file);
+
+ob_start(); // start output buffering
+$handle = fopen($temp_file, 'w');
+curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
+curl_setopt($ch, CURLOPT_STDERR, $handle);
+$data = curl_exec($ch);
+ob_end_clean();
+
+fclose($handle);
+unset($handle);
+var_dump( file_get_contents($temp_file) );
+ at unlink($temp_file);
+
+curl_close($ch);
+
+?>
+--EXPECTF--
+*** Testing curl_setopt with CURLOPT_STDERR
+string(%d) "%S"
+string(%d) "%S"
diff --git a/ext/curl/tests/curl_setopt_basic003.phpt b/ext/curl/tests/curl_setopt_basic003.phpt
new file mode 100644
index 0000000..47ae0f7
--- /dev/null
+++ b/ext/curl/tests/curl_setopt_basic003.phpt
@@ -0,0 +1,43 @@
+--TEST--
+curl_setopt() call with CURLOPT_HTTPHEADER
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+// start testing
+echo "*** curl_setopt() call with CURLOPT_HTTPHEADER\n";
+
+$url = "{$host}/";
+$ch = curl_init();
+
+curl_setopt($ch, CURLOPT_HTTPHEADER, 1);
+
+$curl_content = curl_exec($ch);
+curl_close($ch);
+
+var_dump( $curl_content );
+
+$ch = curl_init();
+
+ob_start(); // start output buffering
+curl_setopt($ch, CURLOPT_HTTPHEADER, array());
+curl_setopt($ch, CURLOPT_URL, $host);
+
+$curl_content = curl_exec($ch);
+ob_end_clean();
+curl_close($ch);
+
+var_dump( $curl_content );
+?>
+--EXPECTF--
+*** curl_setopt() call with CURLOPT_HTTPHEADER
+
+Warning: curl_setopt(): You must pass either an object or an array with the CURLOPT_HTTPHEADER, CURLOPT_QUOTE, CURLOPT_HTTP200ALIASES and CURLOPT_POSTQUOTE arguments in %s on line %d
+bool(false)
+bool(true)
diff --git a/ext/curl/tests/curl_setopt_basic004.phpt b/ext/curl/tests/curl_setopt_basic004.phpt
new file mode 100644
index 0000000..63f9561
--- /dev/null
+++ b/ext/curl/tests/curl_setopt_basic004.phpt
@@ -0,0 +1,44 @@
+--TEST--
+curl_setopt() call with CURLOPT_RETURNTRANSFER
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+// start testing
+echo "*** curl_setopt() call with CURLOPT_RETURNTRANSFER set to 1\n";
+
+$url = "{$host}/";
+$ch = curl_init();
+
+curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+curl_setopt($ch, CURLOPT_URL, $url);
+
+$curl_content = curl_exec($ch);
+curl_close($ch);
+
+var_dump( $curl_content );
+
+echo "*** curl_setopt() call with CURLOPT_RETURNTRANSFER set to 0\n";
+
+$ch = curl_init();
+
+curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
+curl_setopt($ch, CURLOPT_URL, $url);
+ob_start();
+$curl_content = curl_exec($ch);
+ob_end_clean();
+curl_close($ch);
+
+var_dump( $curl_content );
+?>
+--EXPECTF--
+*** curl_setopt() call with CURLOPT_RETURNTRANSFER set to 1
+string(%d) "%a"
+*** curl_setopt() call with CURLOPT_RETURNTRANSFER set to 0
+bool(true)
diff --git a/ext/curl/tests/curl_setopt_error.phpt b/ext/curl/tests/curl_setopt_error.phpt
new file mode 100644
index 0000000..2f8141f
--- /dev/null
+++ b/ext/curl/tests/curl_setopt_error.phpt
@@ -0,0 +1,41 @@
+--TEST--
+curl_setopt() basic parameter test
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+echo "*** curl_setopt() call with incorrect parameters\n";
+$ch = curl_init();
+curl_setopt();
+curl_setopt(false);
+
+curl_setopt($ch);
+curl_setopt($ch, false);
+curl_setopt($ch, -1);
+curl_setopt($ch, '');
+curl_setopt($ch, 1, false);
+
+curl_setopt(false, false, false);
+curl_setopt($ch, '', false);
+curl_setopt($ch, 1, '');
+curl_setopt($ch, -1, 0);
+?>
+--EXPECTF--
+*** curl_setopt() call with incorrect parameters
+
+Warning: Wrong parameter count for curl_setopt() in %s on line %d
+
+Warning: Wrong parameter count for curl_setopt() in %s on line %d
+
+Warning: Wrong parameter count for curl_setopt() in %s on line %d
+
+Warning: Wrong parameter count for curl_setopt() in %s on line %d
+
+Warning: Wrong parameter count for curl_setopt() in %s on line %d
+
+Warning: Wrong parameter count for curl_setopt() in %s on line %d
+
+Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in %s on line %d
diff --git a/ext/curl/tests/curl_testdata1.txt b/ext/curl/tests/curl_testdata1.txt
new file mode 100644
index 0000000..dc1e446
--- /dev/null
+++ b/ext/curl/tests/curl_testdata1.txt
@@ -0,0 +1 @@
+CURL1
diff --git a/ext/curl/tests/curl_testdata2.txt b/ext/curl/tests/curl_testdata2.txt
new file mode 100644
index 0000000..3b9f76f
--- /dev/null
+++ b/ext/curl/tests/curl_testdata2.txt
@@ -0,0 +1 @@
+CURL2
diff --git a/ext/curl/tests/curl_version_error.phpt b/ext/curl/tests/curl_version_error.phpt
new file mode 100644
index 0000000..f9de8dd
--- /dev/null
+++ b/ext/curl/tests/curl_version_error.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Test curl_version() function : error conditions
+--SKIPIF--
+<?php 
+if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) {
+	die('skip - curl extension not available in this build'); 
+}
+?>
+--FILE--
+<?php
+
+/* Prototype  : array curl_version  ([ int $age  ] )
+ * Description: Returns information about the cURL version.
+ * Source code: ext/curl/interface.c
+*/
+
+echo "*** Testing curl_version() : error conditions ***\n";
+
+echo "\n-- Testing curl_version() function with more than expected no. of arguments --\n";
+$extra_arg = 10;
+var_dump( curl_version(1, $extra_arg) );
+
+?>
+===Done===
+--EXPECTF--
+*** Testing curl_version() : error conditions ***
+
+-- Testing curl_version() function with more than expected no. of arguments --
+
+Warning: curl_version() expects at most 1 parameter, 2 given in %s on line %d
+NULL
+===Done===
diff --git a/ext/curl/tests/curl_version_variation1.phpt b/ext/curl/tests/curl_version_variation1.phpt
new file mode 100644
index 0000000..4b86760
--- /dev/null
+++ b/ext/curl/tests/curl_version_variation1.phpt
@@ -0,0 +1,162 @@
+--TEST--
+Test curl_version() function : usage variations - test values for $ascii argument
+--SKIPIF--
+<?php 
+if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) {
+	die('skip - curl extension not available in this build'); 
+}
+?>
+--FILE--
+<?php
+
+/* Prototype  : array curl_version  ([ int $age  ] )
+ * Description: Returns information about the cURL version.
+ * Source code: ext/curl/interface.c
+*/
+
+echo "*** Testing curl_version() function: with unexpected inputs for 'age' argument ***\n";
+
+//get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+//defining a class
+class sample  {
+  public function __toString() {
+    return "sample object";
+  } 
+}
+
+//getting the resource
+$file_handle = fopen(__FILE__, "r");
+
+// array with different values for $input
+$inputs =  array (
+
+  // integer values
+  0,
+  1,
+  255,
+  256,
+  PHP_INT_MAX,
+  -PHP_INT_MAX,
+
+  // float values
+  10.5,
+  -20.5,
+  10.1234567e10,
+
+  // array values
+  array(),
+  array(0),
+  array(1, 2),
+  
+  //string values
+  "ABC",
+  'abc',
+  "2abc",
+
+  // boolean values
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  // null values
+  NULL,
+  null,
+
+  // objects
+  new sample(),
+
+  // resource
+  $file_handle,
+
+  // undefined variable
+  @$undefined_var,
+
+  // unset variable
+  @$unset_var
+);
+
+// loop through with each element of the $inputs array to test curl_version() function
+$count = 1;
+foreach($inputs as $input) {
+  echo "-- Iteration $count --\n";
+  var_dump( is_array(curl_version($input)) );
+  $count ++;
+}
+
+fclose($file_handle);  //closing the file handle
+
+?>
+===Done===
+--EXPECTF--
+*** Testing curl_version() function: with unexpected inputs for 'age' argument ***
+-- Iteration 1 --
+bool(true)
+-- Iteration 2 --
+bool(true)
+-- Iteration 3 --
+bool(true)
+-- Iteration 4 --
+bool(true)
+-- Iteration 5 --
+bool(true)
+-- Iteration 6 --
+bool(true)
+-- Iteration 7 --
+bool(true)
+-- Iteration 8 --
+bool(true)
+-- Iteration 9 --
+bool(true)
+-- Iteration 10 --
+
+Warning: curl_version() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+-- Iteration 11 --
+
+Warning: curl_version() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+-- Iteration 12 --
+
+Warning: curl_version() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+-- Iteration 13 --
+
+Warning: curl_version() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+-- Iteration 14 --
+
+Warning: curl_version() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+-- Iteration 15 --
+
+Notice: A non well formed numeric value encountered in %s on line %d
+bool(true)
+-- Iteration 16 --
+bool(true)
+-- Iteration 17 --
+bool(true)
+-- Iteration 18 --
+bool(true)
+-- Iteration 19 --
+bool(true)
+-- Iteration 20 --
+bool(true)
+-- Iteration 21 --
+bool(true)
+-- Iteration 22 --
+
+Warning: curl_version() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+-- Iteration 23 --
+
+Warning: curl_version() expects parameter 1 to be long, resource given in %s on line %d
+bool(false)
+-- Iteration 24 --
+bool(true)
+-- Iteration 25 --
+bool(true)
+===Done===
diff --git a/ext/curl/tests/curl_write_callback.phpt b/ext/curl/tests/curl_write_callback.phpt
new file mode 100644
index 0000000..c0b733e
--- /dev/null
+++ b/ext/curl/tests/curl_write_callback.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Test curl option CURLOPT_WRITEFUNCTION
+--CREDITS--
+Mathieu Kooiman <mathieuk at gmail.com>
+Dutch UG, TestFest 2009, Utrecht
+--DESCRIPTION--
+Writes the value 'test' to a temporary file. Use curl to access this file, passing the output into a callback. Tests the PHP_CURL_USER case in curl_write.
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+
+function curl_callback($curl_handle, $received_data)
+{
+	echo $received_data;
+	return strlen($received_data);
+}
+
+$log_file = tempnam(sys_get_temp_dir(), 'php-curl-test');
+
+$fp = fopen($log_file, 'w+');
+fwrite($fp, "test");
+fclose($fp);
+
+$ch = curl_init();
+curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'curl_callback');
+curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
+curl_exec($ch);
+curl_close($ch);
+
+// cleanup
+unlink($log_file);
+
+?>
+--EXPECT--
+test
diff --git a/ext/curl/tests/curl_write_file.phpt b/ext/curl/tests/curl_write_file.phpt
new file mode 100644
index 0000000..95d2b0e
--- /dev/null
+++ b/ext/curl/tests/curl_write_file.phpt
@@ -0,0 +1,38 @@
+--TEST--
+Test curl option CURLOPT_FILE 
+--CREDITS--
+Mathieu Kooiman <mathieuk at gmail.com>
+Dutch UG, TestFest 2009, Utrecht
+--DESCRIPTION--
+Writes the value 'test' to a temporary file. Use curl to access this file and store the output in another temporary file. Tests the PHP_CURL_FILE case in curl_write().
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+
+$test_file = tempnam(sys_get_temp_dir(), 'php-curl-test');
+$log_file = tempnam(sys_get_temp_dir(), 'php-curl-test');
+
+$fp = fopen($log_file, 'w+');
+fwrite($fp, "test");
+fclose($fp);
+
+$testfile_fp = fopen($test_file, 'w+');
+
+$ch = curl_init();
+curl_setopt($ch, CURLOPT_FILE, $testfile_fp);
+curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
+curl_exec($ch);
+curl_close($ch);
+
+fclose($testfile_fp);
+
+echo file_get_contents($test_file);
+
+// cleanup
+unlink($test_file);
+unlink($log_file);
+
+?>
+--EXPECT--
+test
diff --git a/ext/curl/tests/curl_write_return.phpt b/ext/curl/tests/curl_write_return.phpt
new file mode 100644
index 0000000..1ddc551
--- /dev/null
+++ b/ext/curl/tests/curl_write_return.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Test curl option CURLOPT_RETURNTRANSFER 
+--CREDITS--
+Mathieu Kooiman <mathieuk at gmail.com>
+Dutch UG, TestFest 2009, Utrecht
+--DESCRIPTION--
+Writes the value 'test' to a temporary file. Use curl to access this file and have it return the content from curl_exec(). Tests the PHP_CURL_RETURN case
+of curl_write().
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+
+$log_file = tempnam(sys_get_temp_dir(), 'php-curl-test');
+
+$fp = fopen($log_file, 'w+');
+fwrite($fp, "test");
+fclose($fp);
+
+$ch = curl_init();
+curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
+$result = curl_exec($ch);
+curl_close($ch);
+
+echo $result;
+
+// cleanup
+unlink($log_file);
+
+?>
+--EXPECT--
+test
diff --git a/ext/curl/tests/curl_write_stdout.phpt b/ext/curl/tests/curl_write_stdout.phpt
new file mode 100644
index 0000000..893b27e
--- /dev/null
+++ b/ext/curl/tests/curl_write_stdout.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Test curl option CURLOPT_FILE with STDOUT handle
+--CREDITS--
+Mathieu Kooiman <mathieuk at gmail.com>
+Dutch UG, TestFest 2009, Utrecht
+--DESCRIPTION--
+Writes the value 'test' to a temporary file. Use curl to access this file and store the output in another temporary file. Tests the PHP_CURL_FILE case in curl_write().
+--SKIPIF--
+<?php if (!extension_loaded("curl")) print "skip"; ?>
+--FILE--
+<?php
+
+$log_file = tempnam(sys_get_temp_dir(), 'php-curl-test');
+
+$fp = fopen($log_file, 'w+');
+fwrite($fp, "test");
+fclose($fp);
+
+$ch = curl_init();
+curl_setopt($ch, CURLOPT_FILE, STDOUT);
+curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
+curl_exec($ch);
+curl_close($ch);
+
+// cleanup
+unlink($log_file);
+
+?>
+--EXPECT--
+test
diff --git a/ext/curl/tests/curl_writeheader_callback.phpt b/ext/curl/tests/curl_writeheader_callback.phpt
new file mode 100644
index 0000000..ae0075c
--- /dev/null
+++ b/ext/curl/tests/curl_writeheader_callback.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Test curl option CURLOPT_HEADERFUNCTION 
+--CREDITS--
+Mathieu Kooiman <mathieuk at gmail.com>
+Dutch UG, TestFest 2009, Utrecht
+--DESCRIPTION--
+Hit the host identified by PHP_CURL_HTTP_REMOTE_SERVER and determine that the headers are sent to the callback specified for CURLOPT_HEADERFUNCTION. Different test servers specified for PHP_CURL_HTTP_REMOTE_SERVER might return different sets of headers. Just test for HTTP/1.1 200 OK.
+--SKIPIF--
+<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
+--FILE--
+<?php
+
+function curl_header_callback($curl_handle, $data)
+{
+	if (strtolower(substr($data,0, 4)) == 'http')
+		echo $data;
+}
+
+$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
+
+$ch = curl_init();
+curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'curl_header_callback');
+curl_setopt($ch, CURLOPT_URL, $host);
+curl_exec($ch);
+curl_close($ch);
+
+?>
+--EXPECTF--
+HTTP/1.1 %d %s
diff --git a/ext/curl/tests/responder/get.php b/ext/curl/tests/responder/get.php
index 26dd519..e77faa5 100644
--- a/ext/curl/tests/responder/get.php
+++ b/ext/curl/tests/responder/get.php
@@ -1,5 +1,8 @@
 <?php
   switch($_GET['test']) {
+    case 'post':
+      var_dump($_POST);
+      break;
     case 'getpost':
       var_dump($_GET);
       var_dump($_POST);
diff --git a/ext/date/config.w32 b/ext/date/config.w32
index 7f407d8..3cfedd6 100755
--- a/ext/date/config.w32
+++ b/ext/date/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.5.2.1 2006/01/05 06:41:09 sebastian Exp $
+// $Id: config.w32 204602 2006-01-05 06:41:09Z sebastian $
 // vim:ft=javascript
 
 EXTENSION("date", "php_date.c", false, "-Iext/date/lib");
diff --git a/ext/date/config0.m4 b/ext/date/config0.m4
index 7b036b4..884c157 100644
--- a/ext/date/config0.m4
+++ b/ext/date/config0.m4
@@ -1,4 +1,4 @@
-dnl $Id: config0.m4,v 1.1.4.2 2009/05/14 18:34:27 jani Exp $
+dnl $Id: config0.m4 280533 2009-05-14 18:34:27Z jani $
 dnl config.m4 for date extension
 
 sinclude(ext/date/lib/timelib.m4)
diff --git a/ext/date/lib/astro.c b/ext/date/lib/astro.c
index 9d092bf..fcef7ae 100644
--- a/ext/date/lib/astro.c
+++ b/ext/date/lib/astro.c
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: astro.c,v 1.1.2.4.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: astro.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdio.h>
 #include <math.h>
diff --git a/ext/date/lib/dow.c b/ext/date/lib/dow.c
index fa7eb70..877a6da 100644
--- a/ext/date/lib/dow.c
+++ b/ext/date/lib/dow.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dow.c,v 1.8.2.3.2.6 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dow.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "timelib.h"
 
diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
index 98d7de4..1ea04a4 100644
--- a/ext/date/lib/parse_date.c
+++ b/ext/date/lib/parse_date.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: parse_date.c,v 1.29.2.30.2.18 2008/12/18 14:56:46 derick Exp $ */
+/* $Id: parse_date.c 271468 2008-12-18 14:57:04Z derick $ */
 
 #include "timelib.h"
 
diff --git a/ext/date/lib/parse_date.c.orig b/ext/date/lib/parse_date.c.orig
index 311bf91..8065c53 100644
--- a/ext/date/lib/parse_date.c.orig
+++ b/ext/date/lib/parse_date.c.orig
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: parse_date.c,v 1.29.2.30.2.18 2008/12/18 14:56:46 derick Exp $ */
+/* $Id: parse_date.c 271468 2008-12-18 14:57:04Z derick $ */
 
 #include "timelib.h"
 
diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re
index 9cf06eb..7a13b26 100644
--- a/ext/date/lib/parse_date.re
+++ b/ext/date/lib/parse_date.re
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: parse_date.re,v 1.26.2.27.2.15 2008/12/18 14:57:04 derick Exp $ */
+/* $Id: parse_date.re 271468 2008-12-18 14:57:04Z derick $ */
 
 #include "timelib.h"
 
diff --git a/ext/date/lib/parse_tz.c b/ext/date/lib/parse_tz.c
index c332f7a..ef28654 100644
--- a/ext/date/lib/parse_tz.c
+++ b/ext/date/lib/parse_tz.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: parse_tz.c,v 1.20.2.6.2.18 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: parse_tz.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "timelib.h"
 
diff --git a/ext/date/lib/timelib.c b/ext/date/lib/timelib.c
index 5c03554..0dab36b 100644
--- a/ext/date/lib/timelib.c
+++ b/ext/date/lib/timelib.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: timelib.c,v 1.7.2.4.2.8 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: timelib.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "timelib.h"
 #include <ctype.h>
diff --git a/ext/date/lib/timelib.h b/ext/date/lib/timelib.h
index 0ca5d9e..f510fe6 100644
--- a/ext/date/lib/timelib.h
+++ b/ext/date/lib/timelib.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: timelib.h,v 1.10.2.11.2.7 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: timelib.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef __TIMELIB_H__
 #define __TIMELIB_H__
diff --git a/ext/date/lib/timelib.m4 b/ext/date/lib/timelib.m4
index c3b3a06..80b11de 100644
--- a/ext/date/lib/timelib.m4
+++ b/ext/date/lib/timelib.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: timelib.m4,v 1.4 2005/07/03 23:30:52 sniper Exp $
+dnl $Id: timelib.m4 189829 2005-07-03 23:30:52Z sniper $
 dnl
 dnl
 dnl TL_DEF_HAVE(what [, why])
diff --git a/ext/date/lib/timelib_config.h.win32 b/ext/date/lib/timelib_config.h.win32
index 4f88201..379b390 100755
--- a/ext/date/lib/timelib_config.h.win32
+++ b/ext/date/lib/timelib_config.h.win32
@@ -1 +1 @@
-# include "config.w32.h"
+# include "config.w32.h"
diff --git a/ext/date/lib/timelib_structs.h b/ext/date/lib/timelib_structs.h
index 7c1a5b6..d420f4e 100644
--- a/ext/date/lib/timelib_structs.h
+++ b/ext/date/lib/timelib_structs.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: timelib_structs.h,v 1.13.2.6.2.7 2009/05/03 18:22:59 derick Exp $ */
+/* $Id: timelib_structs.h 279800 2009-05-03 18:22:59Z derick $ */
 
 #ifndef __TIMELIB_STRUCTS_H__
 #define __TIMELIB_STRUCTS_H__
diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h
index 4083900..9732cba 100644
--- a/ext/date/lib/timezonedb.h
+++ b/ext/date/lib/timezonedb.h
@@ -238,330 +238,330 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[560] = {
 	{ "Asia/Chungking"                    , 0x0192D9 },
 	{ "Asia/Colombo"                      , 0x019388 },
 	{ "Asia/Dacca"                        , 0x019424 },
-	{ "Asia/Damascus"                     , 0x0194C5 },
-	{ "Asia/Dhaka"                        , 0x019815 },
-	{ "Asia/Dili"                         , 0x0198B6 },
-	{ "Asia/Dubai"                        , 0x01993F },
-	{ "Asia/Dushanbe"                     , 0x019994 },
-	{ "Asia/Gaza"                         , 0x019A97 },
-	{ "Asia/Harbin"                       , 0x019DE0 },
-	{ "Asia/Ho_Chi_Minh"                  , 0x019EC7 },
-	{ "Asia/Hong_Kong"                    , 0x019F3F },
-	{ "Asia/Hovd"                         , 0x01A0F5 },
-	{ "Asia/Irkutsk"                      , 0x01A26D },
-	{ "Asia/Istanbul"                     , 0x01A554 },
-	{ "Asia/Jakarta"                      , 0x01A941 },
-	{ "Asia/Jayapura"                     , 0x01A9EB },
-	{ "Asia/Jerusalem"                    , 0x01AA6F },
-	{ "Asia/Kabul"                        , 0x01AD9E },
-	{ "Asia/Kamchatka"                    , 0x01ADEF },
-	{ "Asia/Karachi"                      , 0x01B0D4 },
-	{ "Asia/Kashgar"                      , 0x01B189 },
-	{ "Asia/Kathmandu"                    , 0x01B25A },
-	{ "Asia/Katmandu"                     , 0x01B2C0 },
-	{ "Asia/Kolkata"                      , 0x01B326 },
-	{ "Asia/Krasnoyarsk"                  , 0x01B39F },
-	{ "Asia/Kuala_Lumpur"                 , 0x01B688 },
-	{ "Asia/Kuching"                      , 0x01B745 },
-	{ "Asia/Kuwait"                       , 0x01B833 },
-	{ "Asia/Macao"                        , 0x01B888 },
-	{ "Asia/Macau"                        , 0x01B9C3 },
-	{ "Asia/Magadan"                      , 0x01BAFE },
-	{ "Asia/Makassar"                     , 0x01BDE1 },
-	{ "Asia/Manila"                       , 0x01BE9A },
-	{ "Asia/Muscat"                       , 0x01BF1F },
-	{ "Asia/Nicosia"                      , 0x01BF74 },
-	{ "Asia/Novosibirsk"                  , 0x01C25C },
-	{ "Asia/Omsk"                         , 0x01C550 },
-	{ "Asia/Oral"                         , 0x01C838 },
-	{ "Asia/Phnom_Penh"                   , 0x01CA08 },
-	{ "Asia/Pontianak"                    , 0x01CA80 },
-	{ "Asia/Pyongyang"                    , 0x01CB41 },
-	{ "Asia/Qatar"                        , 0x01CBAE },
-	{ "Asia/Qyzylorda"                    , 0x01CC14 },
-	{ "Asia/Rangoon"                      , 0x01CDEA },
-	{ "Asia/Riyadh"                       , 0x01CE62 },
-	{ "Asia/Saigon"                       , 0x01CEB7 },
-	{ "Asia/Sakhalin"                     , 0x01CF2F },
-	{ "Asia/Samarkand"                    , 0x01D22F },
-	{ "Asia/Seoul"                        , 0x01D365 },
-	{ "Asia/Shanghai"                     , 0x01D409 },
-	{ "Asia/Singapore"                    , 0x01D4E9 },
-	{ "Asia/Taipei"                       , 0x01D5A0 },
-	{ "Asia/Tashkent"                     , 0x01D6B8 },
-	{ "Asia/Tbilisi"                      , 0x01D7E9 },
-	{ "Asia/Tehran"                       , 0x01D9A3 },
-	{ "Asia/Tel_Aviv"                     , 0x01DC11 },
-	{ "Asia/Thimbu"                       , 0x01DF40 },
-	{ "Asia/Thimphu"                      , 0x01DFA6 },
-	{ "Asia/Tokyo"                        , 0x01E00C },
-	{ "Asia/Ujung_Pandang"                , 0x01E095 },
-	{ "Asia/Ulaanbaatar"                  , 0x01E111 },
-	{ "Asia/Ulan_Bator"                   , 0x01E26C },
-	{ "Asia/Urumqi"                       , 0x01E3B9 },
-	{ "Asia/Vientiane"                    , 0x01E480 },
-	{ "Asia/Vladivostok"                  , 0x01E4F8 },
-	{ "Asia/Yakutsk"                      , 0x01E7E5 },
-	{ "Asia/Yekaterinburg"                , 0x01EACB },
-	{ "Asia/Yerevan"                      , 0x01EDD7 },
-	{ "Atlantic/Azores"                   , 0x01F0DB },
-	{ "Atlantic/Bermuda"                  , 0x01F5DE },
-	{ "Atlantic/Canary"                   , 0x01F8BF },
-	{ "Atlantic/Cape_Verde"               , 0x01FB95 },
-	{ "Atlantic/Faeroe"                   , 0x01FC0E },
-	{ "Atlantic/Faroe"                    , 0x01FEB2 },
-	{ "Atlantic/Jan_Mayen"                , 0x020156 },
-	{ "Atlantic/Madeira"                  , 0x020488 },
-	{ "Atlantic/Reykjavik"                , 0x020991 },
-	{ "Atlantic/South_Georgia"            , 0x020B4A },
-	{ "Atlantic/St_Helena"                , 0x020E62 },
-	{ "Atlantic/Stanley"                  , 0x020B8E },
-	{ "Australia/ACT"                     , 0x020EB7 },
-	{ "Australia/Adelaide"                , 0x0211D4 },
-	{ "Australia/Brisbane"                , 0x021500 },
-	{ "Australia/Broken_Hill"             , 0x0215C7 },
-	{ "Australia/Canberra"                , 0x021905 },
-	{ "Australia/Currie"                  , 0x021C22 },
-	{ "Australia/Darwin"                  , 0x021F55 },
-	{ "Australia/Eucla"                   , 0x021FDB },
-	{ "Australia/Hobart"                  , 0x0220B0 },
-	{ "Australia/LHI"                     , 0x02240E },
-	{ "Australia/Lindeman"                , 0x0226A9 },
-	{ "Australia/Lord_Howe"               , 0x02278A },
-	{ "Australia/Melbourne"               , 0x022A35 },
-	{ "Australia/North"                   , 0x022D5A },
-	{ "Australia/NSW"                     , 0x022DCE },
-	{ "Australia/Perth"                   , 0x0230EB },
-	{ "Australia/Queensland"              , 0x0231C3 },
-	{ "Australia/South"                   , 0x02326F },
-	{ "Australia/Sydney"                  , 0x02358C },
-	{ "Australia/Tasmania"                , 0x0238C9 },
-	{ "Australia/Victoria"                , 0x023C0E },
-	{ "Australia/West"                    , 0x023F2B },
-	{ "Australia/Yancowinna"              , 0x023FE1 },
-	{ "Brazil/Acre"                       , 0x024303 },
-	{ "Brazil/DeNoronha"                  , 0x024402 },
-	{ "Brazil/East"                       , 0x024522 },
-	{ "Brazil/West"                       , 0x0247FF },
-	{ "Canada/Atlantic"                   , 0x0248F7 },
-	{ "Canada/Central"                    , 0x024DDF },
-	{ "Canada/East-Saskatchewan"          , 0x0256E9 },
-	{ "Canada/Eastern"                    , 0x0251F9 },
-	{ "Canada/Mountain"                   , 0x025872 },
-	{ "Canada/Newfoundland"               , 0x025BE8 },
-	{ "Canada/Pacific"                    , 0x026113 },
-	{ "Canada/Saskatchewan"               , 0x02652C },
-	{ "Canada/Yukon"                      , 0x0266B5 },
-	{ "CET"                               , 0x0269B8 },
-	{ "Chile/Continental"                 , 0x026CC1 },
-	{ "Chile/EasterIsland"                , 0x02705C },
-	{ "CST6CDT"                           , 0x02739E },
-	{ "Cuba"                              , 0x0276EF },
-	{ "EET"                               , 0x027A62 },
-	{ "Egypt"                             , 0x027D15 },
-	{ "Eire"                              , 0x0280DC },
-	{ "EST"                               , 0x0285ED },
-	{ "EST5EDT"                           , 0x028631 },
-	{ "Etc/GMT"                           , 0x028982 },
-	{ "Etc/GMT+0"                         , 0x028A4E },
-	{ "Etc/GMT+1"                         , 0x028AD8 },
-	{ "Etc/GMT+10"                        , 0x028B65 },
-	{ "Etc/GMT+11"                        , 0x028BF3 },
-	{ "Etc/GMT+12"                        , 0x028C81 },
-	{ "Etc/GMT+2"                         , 0x028D9C },
-	{ "Etc/GMT+3"                         , 0x028E28 },
-	{ "Etc/GMT+4"                         , 0x028EB4 },
-	{ "Etc/GMT+5"                         , 0x028F40 },
-	{ "Etc/GMT+6"                         , 0x028FCC },
-	{ "Etc/GMT+7"                         , 0x029058 },
-	{ "Etc/GMT+8"                         , 0x0290E4 },
-	{ "Etc/GMT+9"                         , 0x029170 },
-	{ "Etc/GMT-0"                         , 0x028A0A },
-	{ "Etc/GMT-1"                         , 0x028A92 },
-	{ "Etc/GMT-10"                        , 0x028B1E },
-	{ "Etc/GMT-11"                        , 0x028BAC },
-	{ "Etc/GMT-12"                        , 0x028C3A },
-	{ "Etc/GMT-13"                        , 0x028CC8 },
-	{ "Etc/GMT-14"                        , 0x028D0F },
-	{ "Etc/GMT-2"                         , 0x028D56 },
-	{ "Etc/GMT-3"                         , 0x028DE2 },
-	{ "Etc/GMT-4"                         , 0x028E6E },
-	{ "Etc/GMT-5"                         , 0x028EFA },
-	{ "Etc/GMT-6"                         , 0x028F86 },
-	{ "Etc/GMT-7"                         , 0x029012 },
-	{ "Etc/GMT-8"                         , 0x02909E },
-	{ "Etc/GMT-9"                         , 0x02912A },
-	{ "Etc/GMT0"                          , 0x0289C6 },
-	{ "Etc/Greenwich"                     , 0x0291B6 },
-	{ "Etc/UCT"                           , 0x0291FA },
-	{ "Etc/Universal"                     , 0x02923E },
-	{ "Etc/UTC"                           , 0x029282 },
-	{ "Etc/Zulu"                          , 0x0292C6 },
-	{ "Europe/Amsterdam"                  , 0x02930A },
-	{ "Europe/Andorra"                    , 0x029748 },
-	{ "Europe/Athens"                     , 0x0299C4 },
-	{ "Europe/Belfast"                    , 0x029D07 },
-	{ "Europe/Belgrade"                   , 0x02A23E },
-	{ "Europe/Berlin"                     , 0x02A507 },
-	{ "Europe/Bratislava"                 , 0x02A85D },
-	{ "Europe/Brussels"                   , 0x02AB8F },
-	{ "Europe/Bucharest"                  , 0x02AFC6 },
-	{ "Europe/Budapest"                   , 0x02B2F0 },
-	{ "Europe/Chisinau"                   , 0x02B663 },
-	{ "Europe/Copenhagen"                 , 0x02B9F1 },
-	{ "Europe/Dublin"                     , 0x02BCFB },
-	{ "Europe/Gibraltar"                  , 0x02C20C },
-	{ "Europe/Guernsey"                   , 0x02C663 },
-	{ "Europe/Helsinki"                   , 0x02CB9A },
-	{ "Europe/Isle_of_Man"                , 0x02CE50 },
-	{ "Europe/Istanbul"                   , 0x02D387 },
-	{ "Europe/Jersey"                     , 0x02D774 },
-	{ "Europe/Kaliningrad"                , 0x02DCAB },
-	{ "Europe/Kiev"                       , 0x02E00E },
-	{ "Europe/Lisbon"                     , 0x02E325 },
-	{ "Europe/Ljubljana"                  , 0x02E829 },
-	{ "Europe/London"                     , 0x02EAF2 },
-	{ "Europe/Luxembourg"                 , 0x02F029 },
-	{ "Europe/Madrid"                     , 0x02F47F },
-	{ "Europe/Malta"                      , 0x02F845 },
-	{ "Europe/Mariehamn"                  , 0x02FBFE },
-	{ "Europe/Minsk"                      , 0x02FEB4 },
-	{ "Europe/Monaco"                     , 0x0301BF },
-	{ "Europe/Moscow"                     , 0x0305FA },
-	{ "Europe/Nicosia"                    , 0x03094C },
-	{ "Europe/Oslo"                       , 0x030C34 },
-	{ "Europe/Paris"                      , 0x030F66 },
-	{ "Europe/Podgorica"                  , 0x0313AC },
-	{ "Europe/Prague"                     , 0x031675 },
-	{ "Europe/Riga"                       , 0x0319A7 },
-	{ "Europe/Rome"                       , 0x031CEC },
-	{ "Europe/Samara"                     , 0x0320AF },
-	{ "Europe/San_Marino"                 , 0x0323DB },
-	{ "Europe/Sarajevo"                   , 0x03279E },
-	{ "Europe/Simferopol"                 , 0x032A67 },
-	{ "Europe/Skopje"                     , 0x032D92 },
-	{ "Europe/Sofia"                      , 0x03305B },
-	{ "Europe/Stockholm"                  , 0x033363 },
-	{ "Europe/Tallinn"                    , 0x033612 },
-	{ "Europe/Tirane"                     , 0x03394C },
-	{ "Europe/Tiraspol"                   , 0x033C52 },
-	{ "Europe/Uzhgorod"                   , 0x033FE0 },
-	{ "Europe/Vaduz"                      , 0x0342F7 },
-	{ "Europe/Vatican"                    , 0x03458A },
-	{ "Europe/Vienna"                     , 0x03494D },
-	{ "Europe/Vilnius"                    , 0x034C7A },
-	{ "Europe/Volgograd"                  , 0x034FB9 },
-	{ "Europe/Warsaw"                     , 0x0352C2 },
-	{ "Europe/Zagreb"                     , 0x0356A3 },
-	{ "Europe/Zaporozhye"                 , 0x03596C },
-	{ "Europe/Zurich"                     , 0x035CAD },
-	{ "Factory"                           , 0x035F5C },
-	{ "GB"                                , 0x035FCD },
-	{ "GB-Eire"                           , 0x036504 },
-	{ "GMT"                               , 0x036A3B },
-	{ "GMT+0"                             , 0x036B07 },
-	{ "GMT-0"                             , 0x036AC3 },
-	{ "GMT0"                              , 0x036A7F },
-	{ "Greenwich"                         , 0x036B4B },
-	{ "Hongkong"                          , 0x036B8F },
-	{ "HST"                               , 0x036D45 },
-	{ "Iceland"                           , 0x036D89 },
-	{ "Indian/Antananarivo"               , 0x036F42 },
-	{ "Indian/Chagos"                     , 0x036FB6 },
-	{ "Indian/Christmas"                  , 0x037018 },
-	{ "Indian/Cocos"                      , 0x03705C },
-	{ "Indian/Comoro"                     , 0x0370A0 },
-	{ "Indian/Kerguelen"                  , 0x0370F5 },
-	{ "Indian/Mahe"                       , 0x03714A },
-	{ "Indian/Maldives"                   , 0x03719F },
-	{ "Indian/Mauritius"                  , 0x0371F4 },
-	{ "Indian/Mayotte"                    , 0x037397 },
-	{ "Indian/Reunion"                    , 0x0373EC },
-	{ "Iran"                              , 0x037441 },
-	{ "Israel"                            , 0x0376AF },
-	{ "Jamaica"                           , 0x0379DE },
-	{ "Japan"                             , 0x037AA3 },
-	{ "Kwajalein"                         , 0x037B2C },
-	{ "Libya"                             , 0x037B8F },
-	{ "MET"                               , 0x037C89 },
-	{ "Mexico/BajaNorte"                  , 0x037F92 },
-	{ "Mexico/BajaSur"                    , 0x0382FB },
-	{ "Mexico/General"                    , 0x038540 },
-	{ "MST"                               , 0x03879E },
-	{ "MST7MDT"                           , 0x0387E2 },
-	{ "Navajo"                            , 0x038B33 },
-	{ "NZ"                                , 0x038EAC },
-	{ "NZ-CHAT"                           , 0x03922A },
-	{ "Pacific/Apia"                      , 0x039512 },
-	{ "Pacific/Auckland"                  , 0x039579 },
-	{ "Pacific/Chatham"                   , 0x039905 },
-	{ "Pacific/Easter"                    , 0x039BFC },
-	{ "Pacific/Efate"                     , 0x039F5A },
-	{ "Pacific/Enderbury"                 , 0x03A020 },
-	{ "Pacific/Fakaofo"                   , 0x03A08E },
-	{ "Pacific/Fiji"                      , 0x03A0D2 },
-	{ "Pacific/Funafuti"                  , 0x03A148 },
-	{ "Pacific/Galapagos"                 , 0x03A18C },
-	{ "Pacific/Gambier"                   , 0x03A204 },
-	{ "Pacific/Guadalcanal"               , 0x03A269 },
-	{ "Pacific/Guam"                      , 0x03A2BE },
-	{ "Pacific/Honolulu"                  , 0x03A314 },
-	{ "Pacific/Johnston"                  , 0x03A3A8 },
-	{ "Pacific/Kiritimati"                , 0x03A3FA },
-	{ "Pacific/Kosrae"                    , 0x03A465 },
-	{ "Pacific/Kwajalein"                 , 0x03A4C2 },
-	{ "Pacific/Majuro"                    , 0x03A52E },
-	{ "Pacific/Marquesas"                 , 0x03A58D },
-	{ "Pacific/Midway"                    , 0x03A5F4 },
-	{ "Pacific/Nauru"                     , 0x03A67E },
-	{ "Pacific/Niue"                      , 0x03A6F6 },
-	{ "Pacific/Norfolk"                   , 0x03A754 },
-	{ "Pacific/Noumea"                    , 0x03A7A9 },
-	{ "Pacific/Pago_Pago"                 , 0x03A839 },
-	{ "Pacific/Palau"                     , 0x03A8C2 },
-	{ "Pacific/Pitcairn"                  , 0x03A906 },
-	{ "Pacific/Ponape"                    , 0x03A95B },
-	{ "Pacific/Port_Moresby"              , 0x03A9B0 },
-	{ "Pacific/Rarotonga"                 , 0x03A9F4 },
-	{ "Pacific/Saipan"                    , 0x03AAD0 },
-	{ "Pacific/Samoa"                     , 0x03AB33 },
-	{ "Pacific/Tahiti"                    , 0x03ABBC },
-	{ "Pacific/Tarawa"                    , 0x03AC21 },
-	{ "Pacific/Tongatapu"                 , 0x03AC75 },
-	{ "Pacific/Truk"                      , 0x03AD01 },
-	{ "Pacific/Wake"                      , 0x03AD5A },
-	{ "Pacific/Wallis"                    , 0x03ADAA },
-	{ "Pacific/Yap"                       , 0x03ADEE },
-	{ "Poland"                            , 0x03AE33 },
-	{ "Portugal"                          , 0x03B214 },
-	{ "PRC"                               , 0x03B710 },
-	{ "PST8PDT"                           , 0x03B7C1 },
-	{ "ROC"                               , 0x03BB12 },
-	{ "ROK"                               , 0x03BC2A },
-	{ "Singapore"                         , 0x03BCCE },
-	{ "Turkey"                            , 0x03BD85 },
-	{ "UCT"                               , 0x03C172 },
-	{ "Universal"                         , 0x03C1B6 },
-	{ "US/Alaska"                         , 0x03C1FA },
-	{ "US/Aleutian"                       , 0x03C563 },
-	{ "US/Arizona"                        , 0x03C8C9 },
-	{ "US/Central"                        , 0x03C957 },
-	{ "US/East-Indiana"                   , 0x03D361 },
-	{ "US/Eastern"                        , 0x03CE62 },
-	{ "US/Hawaii"                         , 0x03D5CB },
-	{ "US/Indiana-Starke"                 , 0x03D659 },
-	{ "US/Michigan"                       , 0x03D9CA },
-	{ "US/Mountain"                       , 0x03DD01 },
-	{ "US/Pacific"                        , 0x03E07A },
-	{ "US/Pacific-New"                    , 0x03E47F },
-	{ "US/Samoa"                          , 0x03E884 },
-	{ "UTC"                               , 0x03E90D },
-	{ "W-SU"                              , 0x03EC04 },
-	{ "WET"                               , 0x03E951 },
-	{ "Zulu"                              , 0x03EF3F },
+	{ "Asia/Damascus"                     , 0x0194CA },
+	{ "Asia/Dhaka"                        , 0x01981A },
+	{ "Asia/Dili"                         , 0x0198C0 },
+	{ "Asia/Dubai"                        , 0x019949 },
+	{ "Asia/Dushanbe"                     , 0x01999E },
+	{ "Asia/Gaza"                         , 0x019AA1 },
+	{ "Asia/Harbin"                       , 0x019DEA },
+	{ "Asia/Ho_Chi_Minh"                  , 0x019ED1 },
+	{ "Asia/Hong_Kong"                    , 0x019F49 },
+	{ "Asia/Hovd"                         , 0x01A0FF },
+	{ "Asia/Irkutsk"                      , 0x01A277 },
+	{ "Asia/Istanbul"                     , 0x01A55E },
+	{ "Asia/Jakarta"                      , 0x01A94B },
+	{ "Asia/Jayapura"                     , 0x01A9F5 },
+	{ "Asia/Jerusalem"                    , 0x01AA79 },
+	{ "Asia/Kabul"                        , 0x01ADA8 },
+	{ "Asia/Kamchatka"                    , 0x01ADF9 },
+	{ "Asia/Karachi"                      , 0x01B0DE },
+	{ "Asia/Kashgar"                      , 0x01B193 },
+	{ "Asia/Kathmandu"                    , 0x01B264 },
+	{ "Asia/Katmandu"                     , 0x01B2CA },
+	{ "Asia/Kolkata"                      , 0x01B330 },
+	{ "Asia/Krasnoyarsk"                  , 0x01B3A9 },
+	{ "Asia/Kuala_Lumpur"                 , 0x01B692 },
+	{ "Asia/Kuching"                      , 0x01B74F },
+	{ "Asia/Kuwait"                       , 0x01B83D },
+	{ "Asia/Macao"                        , 0x01B892 },
+	{ "Asia/Macau"                        , 0x01B9CD },
+	{ "Asia/Magadan"                      , 0x01BB08 },
+	{ "Asia/Makassar"                     , 0x01BDEB },
+	{ "Asia/Manila"                       , 0x01BEA4 },
+	{ "Asia/Muscat"                       , 0x01BF29 },
+	{ "Asia/Nicosia"                      , 0x01BF7E },
+	{ "Asia/Novosibirsk"                  , 0x01C266 },
+	{ "Asia/Omsk"                         , 0x01C55A },
+	{ "Asia/Oral"                         , 0x01C842 },
+	{ "Asia/Phnom_Penh"                   , 0x01CA12 },
+	{ "Asia/Pontianak"                    , 0x01CA8A },
+	{ "Asia/Pyongyang"                    , 0x01CB4B },
+	{ "Asia/Qatar"                        , 0x01CBB8 },
+	{ "Asia/Qyzylorda"                    , 0x01CC1E },
+	{ "Asia/Rangoon"                      , 0x01CDF4 },
+	{ "Asia/Riyadh"                       , 0x01CE6C },
+	{ "Asia/Saigon"                       , 0x01CEC1 },
+	{ "Asia/Sakhalin"                     , 0x01CF39 },
+	{ "Asia/Samarkand"                    , 0x01D239 },
+	{ "Asia/Seoul"                        , 0x01D36F },
+	{ "Asia/Shanghai"                     , 0x01D413 },
+	{ "Asia/Singapore"                    , 0x01D4F3 },
+	{ "Asia/Taipei"                       , 0x01D5AA },
+	{ "Asia/Tashkent"                     , 0x01D6C2 },
+	{ "Asia/Tbilisi"                      , 0x01D7F3 },
+	{ "Asia/Tehran"                       , 0x01D9AD },
+	{ "Asia/Tel_Aviv"                     , 0x01DC1B },
+	{ "Asia/Thimbu"                       , 0x01DF4A },
+	{ "Asia/Thimphu"                      , 0x01DFB0 },
+	{ "Asia/Tokyo"                        , 0x01E016 },
+	{ "Asia/Ujung_Pandang"                , 0x01E09F },
+	{ "Asia/Ulaanbaatar"                  , 0x01E11B },
+	{ "Asia/Ulan_Bator"                   , 0x01E276 },
+	{ "Asia/Urumqi"                       , 0x01E3C3 },
+	{ "Asia/Vientiane"                    , 0x01E48A },
+	{ "Asia/Vladivostok"                  , 0x01E502 },
+	{ "Asia/Yakutsk"                      , 0x01E7EF },
+	{ "Asia/Yekaterinburg"                , 0x01EAD5 },
+	{ "Asia/Yerevan"                      , 0x01EDE1 },
+	{ "Atlantic/Azores"                   , 0x01F0E5 },
+	{ "Atlantic/Bermuda"                  , 0x01F5E8 },
+	{ "Atlantic/Canary"                   , 0x01F8C9 },
+	{ "Atlantic/Cape_Verde"               , 0x01FB9F },
+	{ "Atlantic/Faeroe"                   , 0x01FC18 },
+	{ "Atlantic/Faroe"                    , 0x01FEBC },
+	{ "Atlantic/Jan_Mayen"                , 0x020160 },
+	{ "Atlantic/Madeira"                  , 0x020492 },
+	{ "Atlantic/Reykjavik"                , 0x02099B },
+	{ "Atlantic/South_Georgia"            , 0x020B54 },
+	{ "Atlantic/St_Helena"                , 0x020E6C },
+	{ "Atlantic/Stanley"                  , 0x020B98 },
+	{ "Australia/ACT"                     , 0x020EC1 },
+	{ "Australia/Adelaide"                , 0x0211DE },
+	{ "Australia/Brisbane"                , 0x02150A },
+	{ "Australia/Broken_Hill"             , 0x0215D1 },
+	{ "Australia/Canberra"                , 0x02190F },
+	{ "Australia/Currie"                  , 0x021C2C },
+	{ "Australia/Darwin"                  , 0x021F5F },
+	{ "Australia/Eucla"                   , 0x021FE5 },
+	{ "Australia/Hobart"                  , 0x0220BA },
+	{ "Australia/LHI"                     , 0x022418 },
+	{ "Australia/Lindeman"                , 0x0226B3 },
+	{ "Australia/Lord_Howe"               , 0x022794 },
+	{ "Australia/Melbourne"               , 0x022A3F },
+	{ "Australia/North"                   , 0x022D64 },
+	{ "Australia/NSW"                     , 0x022DD8 },
+	{ "Australia/Perth"                   , 0x0230F5 },
+	{ "Australia/Queensland"              , 0x0231CD },
+	{ "Australia/South"                   , 0x023279 },
+	{ "Australia/Sydney"                  , 0x023596 },
+	{ "Australia/Tasmania"                , 0x0238D3 },
+	{ "Australia/Victoria"                , 0x023C18 },
+	{ "Australia/West"                    , 0x023F35 },
+	{ "Australia/Yancowinna"              , 0x023FEB },
+	{ "Brazil/Acre"                       , 0x02430D },
+	{ "Brazil/DeNoronha"                  , 0x02440C },
+	{ "Brazil/East"                       , 0x02452C },
+	{ "Brazil/West"                       , 0x024809 },
+	{ "Canada/Atlantic"                   , 0x024901 },
+	{ "Canada/Central"                    , 0x024DE9 },
+	{ "Canada/East-Saskatchewan"          , 0x0256F3 },
+	{ "Canada/Eastern"                    , 0x025203 },
+	{ "Canada/Mountain"                   , 0x02587C },
+	{ "Canada/Newfoundland"               , 0x025BF2 },
+	{ "Canada/Pacific"                    , 0x02611D },
+	{ "Canada/Saskatchewan"               , 0x026536 },
+	{ "Canada/Yukon"                      , 0x0266BF },
+	{ "CET"                               , 0x0269C2 },
+	{ "Chile/Continental"                 , 0x026CCB },
+	{ "Chile/EasterIsland"                , 0x027066 },
+	{ "CST6CDT"                           , 0x0273A8 },
+	{ "Cuba"                              , 0x0276F9 },
+	{ "EET"                               , 0x027A6C },
+	{ "Egypt"                             , 0x027D1F },
+	{ "Eire"                              , 0x0280E6 },
+	{ "EST"                               , 0x0285F7 },
+	{ "EST5EDT"                           , 0x02863B },
+	{ "Etc/GMT"                           , 0x02898C },
+	{ "Etc/GMT+0"                         , 0x028A58 },
+	{ "Etc/GMT+1"                         , 0x028AE2 },
+	{ "Etc/GMT+10"                        , 0x028B6F },
+	{ "Etc/GMT+11"                        , 0x028BFD },
+	{ "Etc/GMT+12"                        , 0x028C8B },
+	{ "Etc/GMT+2"                         , 0x028DA6 },
+	{ "Etc/GMT+3"                         , 0x028E32 },
+	{ "Etc/GMT+4"                         , 0x028EBE },
+	{ "Etc/GMT+5"                         , 0x028F4A },
+	{ "Etc/GMT+6"                         , 0x028FD6 },
+	{ "Etc/GMT+7"                         , 0x029062 },
+	{ "Etc/GMT+8"                         , 0x0290EE },
+	{ "Etc/GMT+9"                         , 0x02917A },
+	{ "Etc/GMT-0"                         , 0x028A14 },
+	{ "Etc/GMT-1"                         , 0x028A9C },
+	{ "Etc/GMT-10"                        , 0x028B28 },
+	{ "Etc/GMT-11"                        , 0x028BB6 },
+	{ "Etc/GMT-12"                        , 0x028C44 },
+	{ "Etc/GMT-13"                        , 0x028CD2 },
+	{ "Etc/GMT-14"                        , 0x028D19 },
+	{ "Etc/GMT-2"                         , 0x028D60 },
+	{ "Etc/GMT-3"                         , 0x028DEC },
+	{ "Etc/GMT-4"                         , 0x028E78 },
+	{ "Etc/GMT-5"                         , 0x028F04 },
+	{ "Etc/GMT-6"                         , 0x028F90 },
+	{ "Etc/GMT-7"                         , 0x02901C },
+	{ "Etc/GMT-8"                         , 0x0290A8 },
+	{ "Etc/GMT-9"                         , 0x029134 },
+	{ "Etc/GMT0"                          , 0x0289D0 },
+	{ "Etc/Greenwich"                     , 0x0291C0 },
+	{ "Etc/UCT"                           , 0x029204 },
+	{ "Etc/Universal"                     , 0x029248 },
+	{ "Etc/UTC"                           , 0x02928C },
+	{ "Etc/Zulu"                          , 0x0292D0 },
+	{ "Europe/Amsterdam"                  , 0x029314 },
+	{ "Europe/Andorra"                    , 0x029752 },
+	{ "Europe/Athens"                     , 0x0299CE },
+	{ "Europe/Belfast"                    , 0x029D11 },
+	{ "Europe/Belgrade"                   , 0x02A248 },
+	{ "Europe/Berlin"                     , 0x02A511 },
+	{ "Europe/Bratislava"                 , 0x02A867 },
+	{ "Europe/Brussels"                   , 0x02AB99 },
+	{ "Europe/Bucharest"                  , 0x02AFD0 },
+	{ "Europe/Budapest"                   , 0x02B2FA },
+	{ "Europe/Chisinau"                   , 0x02B66D },
+	{ "Europe/Copenhagen"                 , 0x02B9FB },
+	{ "Europe/Dublin"                     , 0x02BD05 },
+	{ "Europe/Gibraltar"                  , 0x02C216 },
+	{ "Europe/Guernsey"                   , 0x02C66D },
+	{ "Europe/Helsinki"                   , 0x02CBA4 },
+	{ "Europe/Isle_of_Man"                , 0x02CE5A },
+	{ "Europe/Istanbul"                   , 0x02D391 },
+	{ "Europe/Jersey"                     , 0x02D77E },
+	{ "Europe/Kaliningrad"                , 0x02DCB5 },
+	{ "Europe/Kiev"                       , 0x02E018 },
+	{ "Europe/Lisbon"                     , 0x02E32F },
+	{ "Europe/Ljubljana"                  , 0x02E833 },
+	{ "Europe/London"                     , 0x02EAFC },
+	{ "Europe/Luxembourg"                 , 0x02F033 },
+	{ "Europe/Madrid"                     , 0x02F489 },
+	{ "Europe/Malta"                      , 0x02F84F },
+	{ "Europe/Mariehamn"                  , 0x02FC08 },
+	{ "Europe/Minsk"                      , 0x02FEBE },
+	{ "Europe/Monaco"                     , 0x0301C9 },
+	{ "Europe/Moscow"                     , 0x030604 },
+	{ "Europe/Nicosia"                    , 0x030956 },
+	{ "Europe/Oslo"                       , 0x030C3E },
+	{ "Europe/Paris"                      , 0x030F70 },
+	{ "Europe/Podgorica"                  , 0x0313B6 },
+	{ "Europe/Prague"                     , 0x03167F },
+	{ "Europe/Riga"                       , 0x0319B1 },
+	{ "Europe/Rome"                       , 0x031CF6 },
+	{ "Europe/Samara"                     , 0x0320B9 },
+	{ "Europe/San_Marino"                 , 0x0323E5 },
+	{ "Europe/Sarajevo"                   , 0x0327A8 },
+	{ "Europe/Simferopol"                 , 0x032A71 },
+	{ "Europe/Skopje"                     , 0x032D9C },
+	{ "Europe/Sofia"                      , 0x033065 },
+	{ "Europe/Stockholm"                  , 0x03336D },
+	{ "Europe/Tallinn"                    , 0x03361C },
+	{ "Europe/Tirane"                     , 0x033956 },
+	{ "Europe/Tiraspol"                   , 0x033C5C },
+	{ "Europe/Uzhgorod"                   , 0x033FEA },
+	{ "Europe/Vaduz"                      , 0x034301 },
+	{ "Europe/Vatican"                    , 0x034594 },
+	{ "Europe/Vienna"                     , 0x034957 },
+	{ "Europe/Vilnius"                    , 0x034C84 },
+	{ "Europe/Volgograd"                  , 0x034FC3 },
+	{ "Europe/Warsaw"                     , 0x0352CC },
+	{ "Europe/Zagreb"                     , 0x0356AD },
+	{ "Europe/Zaporozhye"                 , 0x035976 },
+	{ "Europe/Zurich"                     , 0x035CB7 },
+	{ "Factory"                           , 0x035F66 },
+	{ "GB"                                , 0x035FD7 },
+	{ "GB-Eire"                           , 0x03650E },
+	{ "GMT"                               , 0x036A45 },
+	{ "GMT+0"                             , 0x036B11 },
+	{ "GMT-0"                             , 0x036ACD },
+	{ "GMT0"                              , 0x036A89 },
+	{ "Greenwich"                         , 0x036B55 },
+	{ "Hongkong"                          , 0x036B99 },
+	{ "HST"                               , 0x036D4F },
+	{ "Iceland"                           , 0x036D93 },
+	{ "Indian/Antananarivo"               , 0x036F4C },
+	{ "Indian/Chagos"                     , 0x036FC0 },
+	{ "Indian/Christmas"                  , 0x037022 },
+	{ "Indian/Cocos"                      , 0x037066 },
+	{ "Indian/Comoro"                     , 0x0370AA },
+	{ "Indian/Kerguelen"                  , 0x0370FF },
+	{ "Indian/Mahe"                       , 0x037154 },
+	{ "Indian/Maldives"                   , 0x0371A9 },
+	{ "Indian/Mauritius"                  , 0x0371FE },
+	{ "Indian/Mayotte"                    , 0x037274 },
+	{ "Indian/Reunion"                    , 0x0372C9 },
+	{ "Iran"                              , 0x03731E },
+	{ "Israel"                            , 0x03758C },
+	{ "Jamaica"                           , 0x0378BB },
+	{ "Japan"                             , 0x037980 },
+	{ "Kwajalein"                         , 0x037A09 },
+	{ "Libya"                             , 0x037A6C },
+	{ "MET"                               , 0x037B66 },
+	{ "Mexico/BajaNorte"                  , 0x037E6F },
+	{ "Mexico/BajaSur"                    , 0x0381D8 },
+	{ "Mexico/General"                    , 0x03841D },
+	{ "MST"                               , 0x03867B },
+	{ "MST7MDT"                           , 0x0386BF },
+	{ "Navajo"                            , 0x038A10 },
+	{ "NZ"                                , 0x038D89 },
+	{ "NZ-CHAT"                           , 0x039107 },
+	{ "Pacific/Apia"                      , 0x0393EF },
+	{ "Pacific/Auckland"                  , 0x03946D },
+	{ "Pacific/Chatham"                   , 0x0397F9 },
+	{ "Pacific/Easter"                    , 0x039AF0 },
+	{ "Pacific/Efate"                     , 0x039E4E },
+	{ "Pacific/Enderbury"                 , 0x039F14 },
+	{ "Pacific/Fakaofo"                   , 0x039F82 },
+	{ "Pacific/Fiji"                      , 0x039FC6 },
+	{ "Pacific/Funafuti"                  , 0x03A03C },
+	{ "Pacific/Galapagos"                 , 0x03A080 },
+	{ "Pacific/Gambier"                   , 0x03A0F8 },
+	{ "Pacific/Guadalcanal"               , 0x03A15D },
+	{ "Pacific/Guam"                      , 0x03A1B2 },
+	{ "Pacific/Honolulu"                  , 0x03A208 },
+	{ "Pacific/Johnston"                  , 0x03A29C },
+	{ "Pacific/Kiritimati"                , 0x03A2EE },
+	{ "Pacific/Kosrae"                    , 0x03A359 },
+	{ "Pacific/Kwajalein"                 , 0x03A3B6 },
+	{ "Pacific/Majuro"                    , 0x03A422 },
+	{ "Pacific/Marquesas"                 , 0x03A481 },
+	{ "Pacific/Midway"                    , 0x03A4E8 },
+	{ "Pacific/Nauru"                     , 0x03A572 },
+	{ "Pacific/Niue"                      , 0x03A5EA },
+	{ "Pacific/Norfolk"                   , 0x03A648 },
+	{ "Pacific/Noumea"                    , 0x03A69D },
+	{ "Pacific/Pago_Pago"                 , 0x03A72D },
+	{ "Pacific/Palau"                     , 0x03A7B6 },
+	{ "Pacific/Pitcairn"                  , 0x03A7FA },
+	{ "Pacific/Ponape"                    , 0x03A84F },
+	{ "Pacific/Port_Moresby"              , 0x03A8A4 },
+	{ "Pacific/Rarotonga"                 , 0x03A8E8 },
+	{ "Pacific/Saipan"                    , 0x03A9C4 },
+	{ "Pacific/Samoa"                     , 0x03AA27 },
+	{ "Pacific/Tahiti"                    , 0x03AAB0 },
+	{ "Pacific/Tarawa"                    , 0x03AB15 },
+	{ "Pacific/Tongatapu"                 , 0x03AB69 },
+	{ "Pacific/Truk"                      , 0x03ABF5 },
+	{ "Pacific/Wake"                      , 0x03AC4E },
+	{ "Pacific/Wallis"                    , 0x03AC9E },
+	{ "Pacific/Yap"                       , 0x03ACE2 },
+	{ "Poland"                            , 0x03AD27 },
+	{ "Portugal"                          , 0x03B108 },
+	{ "PRC"                               , 0x03B604 },
+	{ "PST8PDT"                           , 0x03B6B5 },
+	{ "ROC"                               , 0x03BA06 },
+	{ "ROK"                               , 0x03BB1E },
+	{ "Singapore"                         , 0x03BBC2 },
+	{ "Turkey"                            , 0x03BC79 },
+	{ "UCT"                               , 0x03C066 },
+	{ "Universal"                         , 0x03C0AA },
+	{ "US/Alaska"                         , 0x03C0EE },
+	{ "US/Aleutian"                       , 0x03C457 },
+	{ "US/Arizona"                        , 0x03C7BD },
+	{ "US/Central"                        , 0x03C84B },
+	{ "US/East-Indiana"                   , 0x03D255 },
+	{ "US/Eastern"                        , 0x03CD56 },
+	{ "US/Hawaii"                         , 0x03D4BF },
+	{ "US/Indiana-Starke"                 , 0x03D54D },
+	{ "US/Michigan"                       , 0x03D8BE },
+	{ "US/Mountain"                       , 0x03DBF5 },
+	{ "US/Pacific"                        , 0x03DF6E },
+	{ "US/Pacific-New"                    , 0x03E373 },
+	{ "US/Samoa"                          , 0x03E778 },
+	{ "UTC"                               , 0x03E801 },
+	{ "W-SU"                              , 0x03EAF8 },
+	{ "WET"                               , 0x03E845 },
+	{ "Zulu"                              , 0x03EE33 },
 };
 /* This is a generated file, do not modify */
-const unsigned char timelib_timezone_db_data_builtin[257923] = {
+const unsigned char timelib_timezone_db_data_builtin[257655] = {
 
 
 /* Africa/Abidjan */
@@ -569,8 +569,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, 
 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x71, 0x12, 0x01, 0x0C, 0x9B, 
-0x05, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x71, 0x12, 0x01, 0x0C, 0x80, 
+0xFA, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Accra */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -583,7 +583,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 
 0xB0, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x48, 0x53, 
 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xCC, 0x38, 
-0x01, 0x12, 0xFD, 0x22, 0x00, 0x00, 0x00, 0x00, 
+0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Addis_Ababa */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -655,7 +655,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x47, 
 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 
-0xFB, 0x3C, 0x68, 0x00, 0x00, 0x00, 0x00, 
+0xF9, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Bissau */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -663,15 +663,15 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x91, 0xC4, 0x93, 0x1C, 
 0x09, 0x67, 0x61, 0x10, 0x01, 0x02, 0xFF, 0xFF, 0xF1, 0x64, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 
 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 
-0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x69, 0x28, 0x00, 0xFC, 
-0xA8, 0xFD, 0x00, 0x00, 0x00, 0x00, 
+0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x69, 0x28, 0x00, 0xFA, 
+0xE1, 0x42, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Blantyre */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC3, 0xB0, 
 0x01, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0xA2, 0xDD, 0x01, 0x48, 0x10, 
+0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 
 0x60, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Brazzaville */
@@ -679,14 +679,14 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x80, 0x2C, 
 0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xA1, 0xEA, 0x01, 0x29, 0xFA, 
+0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 
 0x8D, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Bujumbura */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 
-0x00, 0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x85, 0x56, 0x1D, 0x01, 0x3F, 0x77, 0xDA, 
+0x00, 0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x84, 0x2A, 0xA2, 0x01, 0x3F, 0x77, 0xDA, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Cairo */
@@ -722,7 +722,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x3F, 0x73, 0x57, 0x50, 0x40, 0x91, 0x7A, 0xE0, 0x41, 0x5C, 0x73, 0xD0, 0x42, 0x71, 0x5C, 0xE0, 
 0x43, 0x3C, 0x55, 0xD0, 0x44, 0x51, 0x3E, 0xE0, 0x45, 0x12, 0xFD, 0x50, 0x46, 0x31, 0x20, 0xE0, 
 0x46, 0xE0, 0x6A, 0x50, 0x48, 0x11, 0x02, 0xE0, 0x48, 0xB7, 0x11, 0xD0, 0x49, 0xF0, 0xE4, 0xE0, 
-0x4A, 0xBB, 0xDD, 0xD0, 0x4B, 0xDA, 0x01, 0x60, 0x4C, 0xA4, 0xFA, 0x50, 0x4D, 0xB9, 0xE3, 0x60, 
+0x4A, 0x8D, 0xB9, 0x50, 0x4B, 0xDA, 0x01, 0x60, 0x4C, 0xA4, 0xFA, 0x50, 0x4D, 0xB9, 0xE3, 0x60, 
 0x4E, 0x84, 0xDC, 0x50, 0x4F, 0x99, 0xC5, 0x60, 0x50, 0x64, 0xBE, 0x50, 0x51, 0x79, 0xA7, 0x60, 
 0x52, 0x44, 0xA0, 0x50, 0x53, 0x59, 0x89, 0x60, 0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 
 0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 
@@ -766,7 +766,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xF8, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 
 0x57, 0x45, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0xBC, 0xAC, 0xC8, 0x01, 0x08, 0xDD, 0xFD, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0xBC, 0xAC, 0xC8, 0x01, 0x07, 0x16, 0x42, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Ceuta */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x45, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -816,7 +816,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0D, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x57, 0x45, 0x54, 0x00, 
 0x57, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 
 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xC0, 0x15, 0x2D, 
-0x01, 0x0B, 0x83, 0x12, 0x00, 0x00, 0x00, 0x0F, 0x43, 0x65, 0x75, 0x74, 0x61, 0x20, 0x26, 0x20, 
+0x01, 0x0A, 0x8B, 0xAD, 0x00, 0x00, 0x00, 0x0F, 0x43, 0x65, 0x75, 0x74, 0x61, 0x20, 0x26, 0x20, 
 0x4D, 0x65, 0x6C, 0x69, 0x6C, 0x6C, 0x61, 
 
 /* Africa/Conakry */
@@ -826,7 +826,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xBC, 0x92, 0xB8, 0x80, 0xED, 0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 
 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x97, 0xD9, 0xB2, 0x00, 0xFF, 0xEA, 0x52, 0x00, 0x00, 0x00, 0x00, 
+0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Dakar */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -834,8 +834,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9E, 0xD8, 
 0xCA, 0x3B, 0x10, 0x90, 0x01, 0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 
 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 
-0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF9, 
-0x61, 0x25, 0x00, 0x00, 0x00, 0x00, 
+0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 
+0x0E, 0x9A, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Dar_es_Salaam */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -844,7 +844,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xD6, 0x9D, 0x7F, 0xD0, 0xEF, 0x12, 0x66, 0xE3, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, 
 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0x9D, 0x00, 0x08, 0x4C, 0x4D, 0x54, 
 0x00, 0x45, 0x41, 0x54, 0x00, 0x42, 0x45, 0x41, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x81, 0x65, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Djibouti */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x44, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -868,8 +868,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xBC, 0x48, 0xF0, 0xE0, 
 0x0B, 0xD1, 0xB0, 0x90, 0x01, 0x02, 0xFF, 0xFF, 0xF3, 0xA0, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 
 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 
-0x57, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0xFF, 
-0x20, 0x7F, 0x00, 0x00, 0x00, 0x00, 
+0x57, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0xFE, 
+0x84, 0x40, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Freetown */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -888,7 +888,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xF1, 0xF0, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x46, 0x4D, 0x54, 0x00, 0x53, 0x4C, 0x53, 0x54, 0x00, 0x57, 
 0x41, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFF, 0x34, 0x08, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Gaborone */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -896,14 +896,14 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0xCE, 0x8E, 0x6E, 0x80, 
 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 
 0x01, 0x04, 0x43, 0x41, 0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x65, 0xB3, 0x28, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, 
+0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Harare */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x5A, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC7, 0x64, 
 0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xA9, 0x25, 0x01, 0x42, 0x09, 
+0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x1E, 0x1A, 0x01, 0x42, 0x09, 
 0x68, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Johannesburg */
@@ -913,7 +913,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xCC, 0xAE, 0x8C, 0x80, 0xCD, 0x9E, 0x6F, 0x70, 0xCE, 0x8E, 0x6E, 0x80, 0xCF, 0x7E, 0x51, 0x70, 
 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x15, 0x18, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 
 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x62, 0x09, 0xA8, 0x01, 0x3D, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x61, 0x46, 0x58, 0x01, 0x3D, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Kampala */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -950,14 +950,14 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xBE, 0xF1, 0x0E, 0x50, 
 0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x40, 0xB8, 0x01, 0x40, 0x89, 
+0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x5A, 0x88, 0x01, 0x40, 0x89, 
 0x4A, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Kinshasa */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 
-0x00, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x83, 0xAE, 0xF0, 0x01, 0x2A, 0x01, 0x10, 
+0x00, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 
 0x00, 0x00, 0x00, 0x17, 0x77, 0x65, 0x73, 0x74, 0x20, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 
 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, 0x6F, 
 
@@ -989,14 +989,14 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xC4, 0x78, 0x4C, 
 0x01, 0x00, 0x00, 0x0C, 0x34, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x41, 0x4F, 0x54, 
-0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x57, 0xC0, 0x01, 0x26, 0xD9, 
+0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 
 0xC5, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Lubumbashi */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 
-0x00, 0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x79, 0x8F, 0xCA, 0x01, 0x3C, 0x91, 0xAA, 
+0x00, 0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 
 0x00, 0x00, 0x00, 0x17, 0x65, 0x61, 0x73, 0x74, 0x20, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 
 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, 0x6F, 
 
@@ -1005,7 +1005,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC9, 0xFC, 
 0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x13, 0xA2, 0x01, 0x3D, 0xD0, 
+0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xCE, 0x1D, 0x01, 0x3D, 0xD0, 
 0xAD, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Malabo */
@@ -1022,7 +1022,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, 
 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0xA8, 0x3A, 0x01, 0x44, 0x60, 
+0x00, 0x43, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0xB5, 0x05, 0x01, 0x44, 0x60, 
 0x5D, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Maseru */
@@ -1031,7 +1031,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x82, 0x46, 0xCA, 0xB8, 
 0xCE, 0x8E, 0x6E, 0x80, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, 0xC8, 0x00, 
 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xCA, 0x6A, 
+0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x5D, 0xD5, 
 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Mbabane */
@@ -1039,7 +1039,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x82, 0x46, 0xC7, 0x58, 
 0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x1D, 0x30, 0x01, 0x42, 
+0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 
 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Mogadishu */
@@ -1056,8 +1056,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xA0, 0x5F, 0x6C, 0x9C, 
 0x04, 0x61, 0xF6, 0xEE, 0x01, 0x02, 0xFF, 0xFF, 0xF5, 0xE4, 0x00, 0x00, 0xFF, 0xFF, 0xF5, 0x92, 
 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4D, 0x4D, 0x54, 0x00, 0x4C, 0x52, 0x54, 0x00, 
-0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0xF1, 0x30, 0x01, 0x04, 
-0x98, 0x3D, 0x00, 0x00, 0x00, 0x00, 
+0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0xF1, 0x30, 0x01, 0x02, 
+0x34, 0x42, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Nairobi */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4B, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -1067,7 +1067,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 
 0x00, 0x08, 0x00, 0x00, 0x26, 0x9D, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 
 0x42, 0x45, 0x41, 0x54, 0x00, 0x42, 0x45, 0x41, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x88, 0x3C, 0x4D, 0x01, 0x4A, 0xD6, 0x02, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x87, 0x5E, 0xF2, 0x01, 0x4A, 0xD6, 0x02, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Ndjamena */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -1095,15 +1095,15 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xBC, 0x92, 0xB8, 0x80, 0xEE, 0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 
 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0xA4, 0xF2, 0x90, 0x00, 0xFD, 0x38, 0x37, 0x00, 0x00, 0x00, 0x00, 
+0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Ouagadougou */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x8F, 0xEC, 
 0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x32, 0xFA, 0x01, 0x11, 0xEB, 
-0xB2, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x32, 0xFA, 0x01, 0x10, 0x58, 
+0x0D, 0x00, 0x00, 0x00, 0x00, 
 
 /* Africa/Porto-Novo */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -1222,7 +1222,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x05, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0A, 
 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0E, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x01, 0x53, 0x57, 0x41, 0x54, 
 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x57, 0x41, 0x53, 0x54, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x9F, 0xDA, 0x01, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0xE5, 0x25, 0x01, 
 0x2C, 0xC0, 0x30, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Adak */
@@ -1279,8 +1279,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x19, 0xFF, 0xFF, 0x73, 0x60, 0x00, 0x1E, 0x4E, 0x53, 0x54, 0x00, 0x4E, 0x57, 0x54, 0x00, 0x4E, 
 0x50, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x42, 0x44, 0x54, 0x00, 0x41, 0x48, 0x53, 0x54, 0x00, 
 0x48, 0x41, 0x44, 0x54, 0x00, 0x48, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x7D, 0xE0, 0x00, 0x07, 
-0x1B, 0x8D, 0x00, 0x00, 0x00, 0x10, 0x41, 0x6C, 0x65, 0x75, 0x74, 0x69, 0x61, 0x6E, 0x20, 0x49, 
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x7D, 0xE0, 0x00, 0x05, 
+0x19, 0x72, 0x00, 0x00, 0x00, 0x10, 0x41, 0x6C, 0x65, 0x75, 0x74, 0x69, 0x61, 0x6E, 0x20, 0x49, 
 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* America/Anchorage */
@@ -1338,7 +1338,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x43, 0x41, 0x50, 0x54, 0x00, 0x41, 0x48, 0x53, 0x54, 0x00, 0x41, 0x48, 0x44, 0x54, 0x00, 0x59, 
 0x53, 0x54, 0x00, 0x41, 0x4B, 0x44, 0x54, 0x00, 0x41, 0x4B, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE6, 0xBD, 
-0x8D, 0x00, 0x30, 0xAD, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61, 0x20, 
+0x8D, 0x00, 0x2D, 0xED, 0xB4, 0x00, 0x00, 0x00, 0x0B, 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61, 0x20, 
 0x54, 0x69, 0x6D, 0x65, 
 
 /* America/Anguilla */
@@ -1346,8 +1346,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x35, 0x20, 
 0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0xA1, 
-0x2A, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 
+0x15, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Antigua */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -1355,8 +1355,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x93, 0x37, 0x33, 0xF0, 
 0xDC, 0x42, 0xDC, 0x50, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 
 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 
-0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB6, 
-0xCC, 0xE0, 0x00, 0x00, 0x00, 0x00, 
+0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 
+0x5B, 0xE0, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Araguaina */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -1379,7 +1379,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0xFF, 0xFF, 0xD2, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 
 0xD0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x52, 0x53, 0x54, 0x00, 0x42, 0x52, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xF4, 0x00, 0x00, 0xC9, 0xB8, 0x9F, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x57, 0xC0, 0x00, 0xC9, 0x1C, 0x60, 0x00, 0x00, 
 0x00, 0x09, 0x54, 0x6F, 0x63, 0x61, 0x6E, 0x74, 0x69, 0x6E, 0x73, 
 
 /* America/Argentina/Buenos_Aires */
@@ -1425,8 +1425,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x03, 0x04, 0x03, 0x04, 0x03, 0xFF, 0xFF, 0xC3, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 
 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 
 0xD0, 0x00, 0x04, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x5D, 0x60, 0x00, 0xBA, 
-0xD8, 0x08, 0x00, 0x00, 0x00, 0x15, 0x42, 0x75, 0x65, 0x6E, 0x6F, 0x73, 0x20, 0x41, 0x69, 0x72, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x88, 0xA0, 0x00, 0xB9, 
+0x78, 0x78, 0x00, 0x00, 0x00, 0x15, 0x42, 0x75, 0x65, 0x6E, 0x6F, 0x73, 0x20, 0x41, 0x69, 0x72, 
 0x65, 0x73, 0x20, 0x28, 0x42, 0x41, 0x2C, 0x20, 0x43, 0x46, 0x29, 
 
 /* America/Argentina/Catamarca */
@@ -1455,8 +1455,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 
 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x43, 0x4D, 0x54, 0x00, 
 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 0x57, 0x41, 0x52, 0x54, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x51, 0x0A, 0x00, 0xB0, 
-0xAB, 0xDD, 0x00, 0x00, 0x00, 0x1B, 0x43, 0x61, 0x74, 0x61, 0x6D, 0x61, 0x72, 0x63, 0x61, 0x20, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xE4, 0x75, 0x00, 0xAE, 
+0x47, 0xE2, 0x00, 0x00, 0x00, 0x1B, 0x43, 0x61, 0x74, 0x61, 0x6D, 0x61, 0x72, 0x63, 0x61, 0x20, 
 0x28, 0x43, 0x54, 0x29, 0x2C, 0x20, 0x43, 0x68, 0x75, 0x62, 0x75, 0x74, 0x20, 0x28, 0x43, 0x48, 
 0x29, 
 
@@ -1533,7 +1533,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 
 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x52, 0x54, 
 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 0x57, 0x41, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA3, 0x20, 0x00, 0xB1, 0x48, 0x1D, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x6A, 0xA0, 0x00, 0xB0, 0xB8, 0xE2, 0x00, 
 0x00, 0x00, 0x2F, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 
 0x73, 0x20, 0x28, 0x43, 0x42, 0x2C, 0x20, 0x43, 0x43, 0x2C, 0x20, 0x43, 0x4E, 0x2C, 0x20, 0x45, 
 0x52, 0x2C, 0x20, 0x46, 0x4D, 0x2C, 0x20, 0x4D, 0x4E, 0x2C, 0x20, 0x53, 0x45, 0x2C, 0x20, 0x53, 
@@ -1566,7 +1566,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x0D, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x12, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x52, 0x54, 0x00, 
 0x41, 0x52, 0x53, 0x54, 0x00, 0x57, 0x41, 0x52, 0x54, 0x00, 0x57, 0x41, 0x52, 0x53, 0x54, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 
-0xFC, 0xDD, 0x00, 0xAF, 0xEF, 0x10, 0x00, 0x00, 0x00, 0x0A, 0x4A, 0x75, 0x6A, 0x75, 0x79, 0x20, 
+0x6D, 0xA2, 0x00, 0xAF, 0x04, 0xB0, 0x00, 0x00, 0x00, 0x0A, 0x4A, 0x75, 0x6A, 0x75, 0x79, 0x20, 
 0x28, 0x4A, 0x59, 0x29, 
 
 /* America/Argentina/La_Rioja */
@@ -1596,7 +1596,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 
 0x0D, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 0x57, 0x41, 
 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x5D, 0xBD, 0x65, 0x00, 0xAF, 0x3F, 0x48, 0x00, 0x00, 0x00, 0x0D, 0x4C, 0x61, 0x20, 0x52, 0x69, 
+0x5C, 0x6A, 0xDA, 0x00, 0xAC, 0xA7, 0x38, 0x00, 0x00, 0x00, 0x0D, 0x4C, 0x61, 0x20, 0x52, 0x69, 
 0x6F, 0x6A, 0x61, 0x20, 0x28, 0x4C, 0x52, 0x29, 
 
 /* America/Argentina/Mendoza */
@@ -1626,7 +1626,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0xFF, 0xFF, 0xD5, 0xD0, 
 0x01, 0x12, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 0x57, 
 0x41, 0x52, 0x54, 0x00, 0x57, 0x41, 0x52, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xD9, 0x4D, 0x00, 0xAC, 0x25, 0x02, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x27, 0x32, 0x00, 0xA9, 0xA6, 0xFD, 
 0x00, 0x00, 0x00, 0x0C, 0x4D, 0x65, 0x6E, 0x64, 0x6F, 0x7A, 0x61, 0x20, 0x28, 0x4D, 0x5A, 0x29, 
 
 
@@ -1656,8 +1656,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 
 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x43, 0x4D, 0x54, 0x00, 
 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 0x57, 0x41, 0x52, 0x54, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x79, 0xC5, 0x00, 0xA9, 
-0xB4, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x53, 0x61, 0x6E, 0x74, 0x61, 0x20, 0x43, 0x72, 0x75, 0x7A, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x8A, 0xFA, 0x00, 0xA9, 
+0x0A, 0xBD, 0x00, 0x00, 0x00, 0x0F, 0x53, 0x61, 0x6E, 0x74, 0x61, 0x20, 0x43, 0x72, 0x75, 0x7A, 
 0x20, 0x28, 0x53, 0x43, 0x29, 
 
 /* America/Argentina/Salta */
@@ -1686,7 +1686,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 
 0x00, 0x0D, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 0x57, 
 0x41, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x65, 0xE7, 0x3D, 0x00, 0xB0, 0x1C, 0xA2, 0x00, 0x00, 0x00, 0x10, 0x28, 0x53, 0x41, 0x2C, 
+0x00, 0x63, 0x83, 0x42, 0x00, 0xAE, 0xD7, 0x1D, 0x00, 0x00, 0x00, 0x10, 0x28, 0x53, 0x41, 0x2C, 
 0x20, 0x4C, 0x50, 0x2C, 0x20, 0x4E, 0x51, 0x2C, 0x20, 0x52, 0x4E, 0x29, 
 
 /* America/Argentina/San_Juan */
@@ -1716,7 +1716,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 
 0x0D, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 0x57, 0x41, 
 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x5A, 0xD7, 0x35, 0x00, 0xAB, 0xAF, 0xD2, 0x00, 0x00, 0x00, 0x0D, 0x53, 0x61, 0x6E, 0x20, 0x4A, 
+0x59, 0x36, 0x8A, 0x00, 0xAA, 0x1C, 0x2D, 0x00, 0x00, 0x00, 0x0D, 0x53, 0x61, 0x6E, 0x20, 0x4A, 
 0x75, 0x61, 0x6E, 0x20, 0x28, 0x53, 0x4A, 0x29, 
 
 /* America/Argentina/San_Luis */
@@ -1763,8 +1763,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0xFF, 
 0xFF, 0xD5, 0xD0, 0x01, 0x12, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 
 0x54, 0x00, 0x57, 0x41, 0x52, 0x54, 0x00, 0x57, 0x41, 0x52, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x75, 0x52, 0x00, 
-0xAE, 0x7B, 0xF8, 0x00, 0x00, 0x00, 0x0D, 0x53, 0x61, 0x6E, 0x20, 0x4C, 0x75, 0x69, 0x73, 0x20, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x7D, 0xED, 0x00, 
+0xAD, 0x6A, 0x88, 0x00, 0x00, 0x00, 0x0D, 0x53, 0x61, 0x6E, 0x20, 0x4C, 0x75, 0x69, 0x73, 0x20, 
 0x28, 0x53, 0x4C, 0x29, 
 
 /* America/Argentina/Tucuman */
@@ -1812,7 +1812,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 
 0xC0, 0x00, 0x0D, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 
 0x57, 0x41, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x62, 0xE7, 0x02, 0x00, 0xAF, 0xCE, 0x82, 0x00, 0x00, 0x00, 0x0C, 0x54, 0x75, 0x63, 
+0x00, 0x00, 0x60, 0x68, 0xFD, 0x00, 0xAF, 0x25, 0x3D, 0x00, 0x00, 0x00, 0x0C, 0x54, 0x75, 0x63, 
 0x75, 0x6D, 0x61, 0x6E, 0x20, 0x28, 0x54, 0x4D, 0x29, 
 
 /* America/Argentina/Ushuaia */
@@ -1841,8 +1841,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 
 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x43, 0x4D, 0x54, 0x00, 
 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 0x57, 0x41, 0x52, 0x54, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x26, 0xFF, 0x00, 0xAB, 
-0x5B, 0x30, 0x00, 0x00, 0x00, 0x15, 0x54, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, 0x64, 0x65, 0x6C, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0xB6, 0x00, 0x00, 0xAA, 
+0x70, 0xD0, 0x00, 0x00, 0x00, 0x15, 0x54, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, 0x64, 0x65, 0x6C, 
 0x20, 0x46, 0x75, 0x65, 0x67, 0x6F, 0x20, 0x28, 0x54, 0x46, 0x29, 
 
 /* America/Aruba */
@@ -1851,8 +1851,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x93, 0x1E, 0x2F, 0x38, 
 0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 
 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4E, 0x54, 0x00, 
-0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xAA, 
-0xD8, 0xFA, 0x00, 0x00, 0x00, 0x00, 
+0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 
+0xE5, 0xC5, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Asuncion */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -1900,8 +1900,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0xFF, 0xFF, 0xC9, 0xF0, 
 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 
 0xD5, 0xD0, 0x01, 0x08, 0x41, 0x4D, 0x54, 0x00, 0x50, 0x59, 0x54, 0x00, 0x50, 0x59, 0x53, 0x54, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x96, 0xCA, 0x00, 0xBC, 0xB3, 
-0x4A, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0xC6, 0x75, 0x00, 0xBA, 0xAA, 
+0x75, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Atikokan */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -1912,7 +1912,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 
 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 
 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xD3, 0xBA, 0x95, 0x00, 0x88, 0xC0, 0x76, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 
 0x00, 0x44, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 
 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x41, 0x74, 0x69, 0x6B, 0x6F, 0x6B, 
 0x61, 0x6E, 0x2C, 0x20, 0x4F, 0x6E, 0x74, 0x61, 0x72, 0x69, 0x6F, 0x20, 0x61, 0x6E, 0x64, 0x20, 
@@ -2000,7 +2000,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xDB, 0xE4, 0x00, 0x00, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, 
 0xFF, 0xD5, 0xD0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x52, 0x53, 0x54, 0x00, 0x42, 0x52, 
-0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x84, 0xDD, 0x00, 0xD9, 0x76, 0x92, 
+0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x84, 0xA2, 0x00, 0xD7, 0xE2, 0xED, 
 0x00, 0x00, 0x00, 0x05, 0x42, 0x61, 0x68, 0x69, 0x61, 
 
 /* America/Barbados */
@@ -2013,7 +2013,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xC8, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xC8, 0x1C, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 
 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x41, 0x44, 
 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 
-0x51, 0x70, 0x00, 0xB9, 0x92, 0x82, 0x00, 0x00, 0x00, 0x00, 
+0x51, 0x70, 0x00, 0xB7, 0xB0, 0xBD, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Belem */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -2030,7 +2030,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xD2, 
 0x8C, 0x00, 0x00, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x09, 0x4C, 
 0x4D, 0x54, 0x00, 0x42, 0x52, 0x53, 0x54, 0x00, 0x42, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x88, 0x7D, 0x68, 0x00, 0xCA, 0x27, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x41, 0x6D, 
+0x00, 0x00, 0x00, 0x87, 0x1D, 0xD8, 0x00, 0xC8, 0xAD, 0xB2, 0x00, 0x00, 0x00, 0x0D, 0x41, 0x6D, 
 0x61, 0x70, 0x61, 0x2C, 0x20, 0x45, 0x20, 0x50, 0x61, 0x72, 0x61, 
 
 /* America/Belize */
@@ -2057,7 +2057,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xAD, 0x50, 0x00, 0x00, 0xFF, 0xFF, 0xB2, 0xA8, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 
 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x48, 0x44, 0x54, 0x00, 
 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0xA4, 0x08, 0x30, 0x00, 0x8C, 0xAF, 0xA0, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0xA4, 0x08, 0x30, 0x00, 0x8C, 0x13, 0x60, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Blanc-Sablon */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -2067,7 +2067,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x01, 0x02, 0x03, 0x01, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 
 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x41, 0x44, 0x54, 
 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, 0xDC, 0x72, 0x00, 0x00, 0x00, 
+0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, 0x00, 
 0x33, 0x41, 0x74, 0x6C, 0x61, 0x6E, 0x74, 0x69, 0x63, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 
 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x51, 0x75, 0x65, 0x62, 0x65, 0x63, 
 0x20, 0x2D, 0x20, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, 
@@ -2089,7 +2089,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0xFF, 0xFF, 0xC7, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 
 0xC0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x53, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8D, 0xA0, 0x82, 0x00, 0xB8, 0x1F, 0x6A, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8D, 0xA0, 0x82, 0x00, 0xB6, 0x16, 0x95, 0x00, 0x00, 
 0x00, 0x07, 0x52, 0x6F, 0x72, 0x61, 0x69, 0x6D, 0x61, 
 
 /* America/Bogota */
@@ -2099,7 +2099,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x2A, 0x03, 0x73, 0x50, 0x2B, 0xBE, 0x5D, 0x40, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x8C, 0x00, 
 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0x42, 0x4D, 0x54, 
 0x00, 0x43, 0x4F, 0x53, 0x54, 0x00, 0x43, 0x4F, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x90, 0x59, 0x20, 0x00, 0xA1, 0xDE, 0xCD, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x90, 0x59, 0x20, 0x00, 0xA1, 0x9D, 0xB2, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Boise */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -2156,7 +2156,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x14, 0x50, 0x44, 
 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 
 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x00, 0x00, 0xCB, 0xE0, 0xD1, 0x00, 0x61, 0xF7, 0x1A, 0x00, 0x00, 0x00, 0x29, 0x4D, 0x6F, 
+0x00, 0x00, 0x00, 0xCB, 0xE0, 0xD1, 0x00, 0x61, 0x58, 0xE6, 0x00, 0x00, 0x00, 0x29, 0x4D, 0x6F, 
 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x73, 0x6F, 
 0x75, 0x74, 0x68, 0x20, 0x49, 0x64, 0x61, 0x68, 0x6F, 0x20, 0x26, 0x20, 0x65, 0x61, 0x73, 0x74, 
 0x20, 0x4F, 0x72, 0x65, 0x67, 0x6F, 0x6E, 
@@ -2256,7 +2256,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 
 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 
 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x85, 0x7D, 0x00, 0x00, 0x00, 0x1C, 0x4D, 0x6F, 0x75, 0x6E, 
+0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x1C, 0x4D, 0x6F, 0x75, 0x6E, 
 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 
 0x20, 0x4E, 0x75, 0x6E, 0x61, 0x76, 0x75, 0x74, 
 
@@ -2306,7 +2306,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xCC, 0xCC, 
 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x09, 0x4C, 0x4D, 
 0x54, 0x00, 0x41, 0x4D, 0x53, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x6B, 0x7F, 0x88, 0x00, 0xC1, 0x33, 0xA2, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x61, 0x74, 
+0x00, 0x00, 0x6A, 0x1F, 0xF8, 0x00, 0xBF, 0x51, 0xDD, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x61, 0x74, 
 0x6F, 0x20, 0x47, 0x72, 0x6F, 0x73, 0x73, 0x6F, 0x20, 0x64, 0x6F, 0x20, 0x53, 0x75, 0x6C, 
 
 /* America/Cancun */
@@ -2344,7 +2344,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 
 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA9, 0x7F, 0xED, 0x00, 
-0x90, 0x9A, 0x3A, 0x00, 0x00, 0x00, 0x1B, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 
+0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x1B, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 
 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x51, 0x75, 0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 
 0x6F, 0x6F, 
 
@@ -2355,7 +2355,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xF6, 0x98, 0xEC, 0x48, 0x47, 0x5B, 0x92, 0x70, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xC1, 0x44, 0x00, 
 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x43, 0x4D, 0x54, 
 0x00, 0x56, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x59, 0xD0, 0x00, 
-0xAF, 0x5F, 0xD5, 0x00, 0x00, 0x00, 0x00, 
+0xAC, 0x86, 0xAA, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Catamarca */
 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -2392,7 +2392,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x2B, 0x90, 
 0xFB, 0xC3, 0x35, 0xC0, 0x01, 0x02, 0xFF, 0xFF, 0xCE, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 
 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x46, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xDB, 0x55, 0x00, 0xC3, 0xD2, 0x35, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xDB, 0x55, 0x00, 0xC2, 0xCD, 0xCA, 0x00, 0x00, 
 0x00, 0x00, 
 
 /* America/Cayman */
@@ -2400,8 +2400,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x0F, 0xB5, 0x00, 
 0x01, 0xFF, 0xFF, 0xB8, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0x4B, 0x4D, 0x54, 
-0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xC7, 0x50, 0x00, 0x97, 0xA5, 
-0x9D, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xC7, 0x50, 0x00, 0x96, 0x7A, 
+0x22, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Chicago */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -2484,7 +2484,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 
 0x10, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 
 0x00, 0x43, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
-0xC9, 0x2F, 0xE8, 0x00, 0x8E, 0xE6, 0x08, 0x00, 0x00, 0x00, 0x0C, 0x43, 0x65, 0x6E, 0x74, 0x72, 
+0xC9, 0x2F, 0xE8, 0x00, 0x8C, 0xEA, 0x38, 0x00, 0x00, 0x00, 0x0C, 0x43, 0x65, 0x6E, 0x74, 0x72, 
 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 
 
 /* America/Chihuahua */
@@ -2522,8 +2522,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x9C, 0x8C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 
 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 
 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB5, 0x05, 0x25, 0x00, 0x71, 
-0x0A, 0xCD, 0x00, 0x00, 0x00, 0x19, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB5, 0x05, 0x25, 0x00, 0x70, 
+0xC9, 0xB2, 0x00, 0x00, 0x00, 0x19, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 
 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 
 
 /* America/Coral_Harbour */
@@ -2594,7 +2594,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xB1, 0x2C, 0x00, 0x00, 0xFF, 
 0xFF, 0xB9, 0xB0, 0x01, 0x05, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0x53, 0x4A, 0x4D, 0x54, 0x00, 
 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 
-0x7C, 0x75, 0x00, 0x92, 0x9C, 0x8D, 0x00, 0x00, 0x00, 0x00, 
+0x7C, 0x75, 0x00, 0x92, 0x5B, 0x72, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Cuiaba */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -2641,7 +2641,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0x01, 0xFF, 0xFF, 0xCB, 0x6C, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 
 0xC7, 0xC0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x53, 0x54, 0x00, 0x41, 0x4D, 0x54, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x54, 0xBD, 0x00, 0xBD, 0x56, 0x0D, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x8D, 0x02, 0x00, 0xBD, 0x14, 0xF2, 0x00, 
 0x00, 0x00, 0x0B, 0x4D, 0x61, 0x74, 0x6F, 0x20, 0x47, 0x72, 0x6F, 0x73, 0x73, 0x6F, 
 
 /* America/Curacao */
@@ -2671,7 +2671,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 
 0xE3, 0xE0, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x47, 
 0x54, 0x00, 0x57, 0x47, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFE, 0x77, 0x3A, 0x00, 0xF8, 0x35, 0xAA, 0x00, 
+0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFE, 0x77, 0x3A, 0x00, 0xF6, 0x2C, 0xD5, 0x00, 
 0x00, 0x00, 0x21, 0x65, 0x61, 0x73, 0x74, 0x20, 0x63, 0x6F, 0x61, 0x73, 0x74, 0x2C, 0x20, 0x6E, 
 0x6F, 0x72, 0x74, 0x68, 0x20, 0x6F, 0x66, 0x20, 0x53, 0x63, 0x6F, 0x72, 0x65, 0x73, 0x62, 0x79, 
 0x73, 0x75, 0x6E, 0x64, 
@@ -2724,7 +2724,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x15, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x19, 0x59, 0x44, 0x54, 0x00, 
 0x59, 0x53, 0x54, 0x00, 0x59, 0x57, 0x54, 0x00, 0x59, 0x50, 0x54, 0x00, 0x59, 0x44, 0x44, 0x54, 
 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x16, 0x4A, 0x00, 0x3F, 0x32, 0x62, 0x00, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x16, 0x4A, 0x00, 0x3D, 0xEC, 0xDD, 0x00, 
 0x00, 0x00, 0x1A, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 
 0x2D, 0x20, 0x6E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x59, 0x75, 0x6B, 0x6F, 0x6E, 
 
@@ -2753,7 +2753,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0x8F, 0x80, 0x00, 0x04, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 
 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x10, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 
 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xE4, 0x86, 0x9A, 0x00, 0x5B, 0xE8, 0xA5, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xE4, 0x86, 0x9A, 0x00, 0x5B, 0x32, 0x5A, 0x00, 0x00, 0x00, 
 0x49, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 
 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x44, 0x61, 0x77, 0x73, 0x6F, 0x6E, 
 0x20, 0x43, 0x72, 0x65, 0x65, 0x6B, 0x20, 0x26, 0x20, 0x46, 0x6F, 0x72, 0x74, 0x20, 0x53, 0x61, 
@@ -2816,7 +2816,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xA0, 0x01, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 
 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 
 0x00, 0x4D, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xC5, 0xF7, 
-0x5C, 0x00, 0x75, 0x77, 0xF0, 0x00, 0x00, 0x00, 0x0D, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 
+0x5C, 0x00, 0x72, 0x77, 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 
 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 
 
 /* America/Detroit */
@@ -2871,7 +2871,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 
 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xC9, 0xEB, 0xF2, 0x00, 
-0x94, 0x14, 0x87, 0x00, 0x00, 0x00, 0x28, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 
+0x93, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x28, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 
 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4D, 0x69, 0x63, 0x68, 0x69, 0x67, 0x61, 0x6E, 0x20, 0x2D, 
 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
 
@@ -2880,8 +2880,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x34, 0x4C, 
 0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB6, 0x30, 
-0xA0, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 
+0x20, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Edmonton */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -2938,8 +2938,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x95, 0xA0, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x08, 
 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 
 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xDB, 0x0A, 0x38, 0x00, 0x66, 
-0xF2, 0x2A, 0x00, 0x00, 0x00, 0x42, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xDB, 0x0A, 0x38, 0x00, 0x65, 
+0x85, 0x95, 0x00, 0x00, 0x00, 0x42, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 
 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x41, 0x6C, 0x62, 0x65, 0x72, 0x74, 0x61, 0x2C, 0x20, 0x65, 
 0x61, 0x73, 0x74, 0x20, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, 0x43, 0x6F, 0x6C, 0x75, 
 0x6D, 0x62, 0x69, 0x61, 0x20, 0x26, 0x20, 0x77, 0x65, 0x73, 0x74, 0x20, 0x53, 0x61, 0x73, 0x6B, 
@@ -2961,8 +2961,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xBE, 0x80, 
 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 
 0xC7, 0xC0, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x41, 0x43, 0x54, 
-0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x30, 
-0xEA, 0x00, 0xAA, 0xB1, 0xEA, 0x00, 0x00, 0x00, 0x0A, 0x57, 0x20, 0x41, 0x6D, 0x61, 0x7A, 0x6F, 
+0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x28, 
+0x15, 0x00, 0xA8, 0x0C, 0xD5, 0x00, 0x00, 0x00, 0x0A, 0x57, 0x20, 0x41, 0x6D, 0x61, 0x7A, 0x6F, 
 0x6E, 0x61, 0x73, 
 
 /* America/El_Salvador */
@@ -2972,8 +2972,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x20, 0x9A, 0xDC, 0xE0, 0x21, 0x5C, 0x9B, 0x50, 0x22, 0x7A, 0xBE, 0xE0, 0x23, 0x3C, 0x7D, 0x50, 
 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xAC, 0x60, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 
 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 
-0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x3B, 0xD0, 0x00, 0x8B, 0x29, 
-0x00, 0x00, 0x00, 0x00, 0x00, 
+0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x3B, 0xD0, 0x00, 0x8A, 0x8C, 
+0xC0, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Ensenada */
 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -3050,7 +3050,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 
 0xFF, 0xDB, 0xE8, 0x00, 0x00, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 
 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x52, 0x53, 0x54, 0x00, 0x42, 0x52, 0x54, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0xD8, 0x52, 0x00, 0xD9, 0x70, 0x10, 0x00, 0x00, 0x00, 0x1E, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xA8, 0x6D, 0x00, 0xD7, 0xE9, 0x70, 0x00, 0x00, 0x00, 0x1E, 
 0x4E, 0x45, 0x20, 0x42, 0x72, 0x61, 0x7A, 0x69, 0x6C, 0x20, 0x28, 0x4D, 0x41, 0x2C, 0x20, 0x50, 
 0x49, 0x2C, 0x20, 0x43, 0x45, 0x2C, 0x20, 0x52, 0x4E, 0x2C, 0x20, 0x50, 0x42, 0x29, 
 
@@ -3146,7 +3146,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 
 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, 
 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0xCF, 0xD3, 0x1F, 0x00, 0xBA, 0x14, 0xB8, 0x00, 0x00, 0x00, 0x47, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0xCF, 0xD3, 0x1F, 0x00, 0xB7, 0x2E, 0x88, 0x00, 0x00, 0x00, 0x47, 
 0x41, 0x74, 0x6C, 0x61, 0x6E, 0x74, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 
 0x4E, 0x6F, 0x76, 0x61, 0x20, 0x53, 0x63, 0x6F, 0x74, 0x69, 0x61, 0x20, 0x2D, 0x20, 0x70, 0x6C, 
 0x61, 0x63, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, 0x69, 0x64, 0x20, 0x6E, 0x6F, 
@@ -3196,8 +3196,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x03, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 
 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 
 0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x47, 0x54, 0x00, 0x57, 0x47, 0x53, 0x54, 0x00, 
-0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC5, 
-0xF5, 0x15, 0x00, 0x00, 0x00, 0x0E, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 
+0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 
+0xB8, 0x2A, 0x00, 0x00, 0x00, 0x0E, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 
 0x69, 0x6F, 0x6E, 0x73, 
 
 /* America/Goose_Bay */
@@ -3273,7 +3273,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xC0, 0x00, 0x14, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x18, 0x4E, 0x53, 0x54, 0x00, 0x4E, 0x44, 0x54, 
 0x00, 0x4E, 0x50, 0x54, 0x00, 0x4E, 0x57, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, 0x54, 
 0x00, 0x41, 0x44, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB5, 0x95, 0x00, 0xB7, 0xBD, 0xC2, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB5, 0x95, 0x00, 0xB6, 0x78, 0x3D, 
 0x00, 0x00, 0x00, 0x29, 0x41, 0x74, 0x6C, 0x61, 0x6E, 0x74, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 
 0x65, 0x20, 0x2D, 0x20, 0x4C, 0x61, 0x62, 0x72, 0x61, 0x64, 0x6F, 0x72, 0x20, 0x2D, 0x20, 0x6D, 
 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
@@ -3321,23 +3321,23 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 
 0xFF, 0xB8, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 
 0x08, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0xAA, 0x15, 0xAA, 0x00, 0xA6, 0x86, 0x35, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0xAA, 0x15, 0xAA, 0x00, 0xA6, 0x1E, 0x0A, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Grenada */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x34, 0x64, 
 0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB6, 0xB9, 
-0x58, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 
+0x68, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Guadeloupe */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xD5, 0xE1, 0xB0, 
 0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB6, 0x64, 
-0xB5, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 
+0x0A, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Guatemala */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -3348,15 +3348,15 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xAB, 0x24, 0x00, 0x00, 0xFF, 
 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 
 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xA8, 
-0x65, 0x00, 0x8A, 0x1E, 0x12, 0x00, 0x00, 0x00, 0x00, 
+0x65, 0x00, 0x88, 0x8A, 0x6D, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Guayaquil */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x45, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xB6, 0xA4, 0x42, 0x18, 
 0x01, 0xFF, 0xFF, 0xB6, 0x68, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0x51, 0x4D, 0x54, 
-0x00, 0x45, 0x43, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x88, 0x1A, 0x00, 0x9B, 0x62, 
-0xA5, 0x00, 0x00, 0x00, 0x08, 0x6D, 0x61, 0x69, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 
+0x00, 0x45, 0x43, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x05, 0xE5, 0x00, 0x98, 0xD7, 
+0x9A, 0x00, 0x00, 0x00, 0x08, 0x6D, 0x61, 0x69, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 
 
 /* America/Guyana */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -3366,7 +3366,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0xC9, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0xCB, 0x44, 0x00, 0x04, 0xFF, 0xFF, 0xCB, 0x44, 
 0x00, 0x09, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x09, 0x4C, 0x4D, 
 0x54, 0x00, 0x47, 0x42, 0x47, 0x54, 0x00, 0x47, 0x59, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xB4, 0x80, 0x00, 0xBA, 0x69, 0x5A, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xB4, 0x80, 0x00, 0xB9, 0xE7, 0x25, 0x00, 0x00, 0x00, 
 0x00, 
 
 /* America/Halifax */
@@ -3448,7 +3448,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 
 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 
 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xCD, 0x75, 0xA8, 
-0x00, 0xB3, 0x71, 0x80, 0x00, 0x00, 0x00, 0x2E, 0x41, 0x74, 0x6C, 0x61, 0x6E, 0x74, 0x69, 0x63, 
+0x00, 0xB1, 0x9C, 0xC0, 0x00, 0x00, 0x00, 0x2E, 0x41, 0x74, 0x6C, 0x61, 0x6E, 0x74, 0x69, 0x63, 
 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4E, 0x6F, 0x76, 0x61, 0x20, 0x53, 0x63, 0x6F, 
 0x74, 0x69, 0x61, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x70, 0x6C, 0x61, 0x63, 0x65, 0x73, 
 0x29, 0x2C, 0x20, 0x50, 0x45, 0x49, 
@@ -3508,7 +3508,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x03, 0x04, 0x03, 0xFF, 0xFF, 0xB2, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 
 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 
 0x04, 0x48, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xA0, 0xB5, 0x00, 0x96, 0x18, 0x7A, 0x00, 
+0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xA0, 0xB5, 0x00, 0x94, 0xFA, 0x05, 0x00, 
 0x00, 0x00, 0x00, 
 
 /* America/Hermosillo */
@@ -3523,7 +3523,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x0C, 0xFF, 
 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 
 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0xB5, 0xAE, 0x6A, 0x00, 0x6C, 0x49, 0x5A, 0x00, 0x00, 0x00, 0x1F, 0x4D, 
+0x00, 0x00, 0x00, 0x00, 0xB5, 0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, 0x00, 0x00, 0x00, 0x1F, 0x4D, 
 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 
 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, 
 
@@ -3566,7 +3566,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xB9, 0xB0, 0x00, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x14, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 
 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 
 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC6, 
-0x02, 0xC1, 0x00, 0x8F, 0xAC, 0x7D, 0x00, 0x00, 0x00, 0x27, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 
+0x02, 0xC1, 0x00, 0x8F, 0x31, 0x02, 0x00, 0x00, 0x00, 0x27, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 
 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x49, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x61, 
 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 
 0x73, 
@@ -3626,7 +3626,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 
 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 
 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xC8, 0x57, 0x6F, 0x00, 0x90, 0x62, 0xE4, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xC8, 0x57, 0x6F, 0x00, 0x8E, 0x7A, 0x9C, 0x00, 0x00, 0x00, 
 0x26, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 
 0x49, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x61, 0x20, 0x2D, 0x20, 0x53, 0x74, 0x61, 0x72, 0x6B, 0x65, 
 0x20, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x79, 
@@ -3671,7 +3671,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x14, 0x43, 0x44, 
 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 
 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x00, 0x00, 0xC3, 0xE2, 0xB3, 0x00, 0x8F, 0xF5, 0x68, 0x00, 0x00, 0x00, 0x28, 0x45, 0x61, 
+0x00, 0x00, 0x00, 0xC3, 0xE2, 0xB3, 0x00, 0x8E, 0xE8, 0x17, 0x00, 0x00, 0x00, 0x28, 0x45, 0x61, 
 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x49, 0x6E, 0x64, 
 0x69, 0x61, 0x6E, 0x61, 0x20, 0x2D, 0x20, 0x43, 0x72, 0x61, 0x77, 0x66, 0x6F, 0x72, 0x64, 0x20, 
 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x79, 
@@ -3720,7 +3720,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x14, 0x43, 
 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 
 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x00, 0x00, 0x00, 0xC4, 0x10, 0x2A, 0x00, 0x8E, 0x54, 0xF5, 0x00, 0x00, 0x00, 0x24, 0x45, 
+0x01, 0x00, 0x00, 0x00, 0xC4, 0x10, 0x2A, 0x00, 0x8D, 0x7B, 0x4A, 0x00, 0x00, 0x00, 0x24, 0x45, 
 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x49, 0x6E, 
 0x64, 0x69, 0x61, 0x6E, 0x61, 0x20, 0x2D, 0x20, 0x50, 0x69, 0x6B, 0x65, 0x20, 0x43, 0x6F, 0x75, 
 0x6E, 0x74, 0x79, 
@@ -3805,7 +3805,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 0xFF, 0xFF, 
 0xC7, 0xC0, 0x01, 0x14, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 
 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0x3D, 0xA9, 0x00, 0x90, 0x98, 0x2A, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0x3D, 0xA9, 0x00, 0x8E, 0x45, 0x55, 
 0x00, 0x00, 0x00, 0x25, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 
 0x20, 0x2D, 0x20, 0x49, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x61, 0x20, 0x2D, 0x20, 0x50, 0x65, 0x72, 
 0x72, 0x79, 0x20, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x79, 
@@ -3843,7 +3843,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x14, 
 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 
 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x01, 0x00, 0x00, 0x00, 0xC4, 0x74, 0x19, 0x00, 0x91, 0x0F, 0xA2, 0x00, 0x00, 0x00, 0x2B, 
+0x00, 0x01, 0x00, 0x00, 0x00, 0xC4, 0x74, 0x19, 0x00, 0x90, 0xDB, 0x1D, 0x00, 0x00, 0x00, 0x2B, 
 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x49, 
 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x61, 0x20, 0x2D, 0x20, 0x53, 0x77, 0x69, 0x74, 0x7A, 0x65, 0x72, 
 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x79, 
@@ -3887,7 +3887,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 0xFF, 0xFF, 
 0xC7, 0xC0, 0x01, 0x14, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 
 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC4, 0x58, 0x8A, 0x00, 0x8E, 0xB6, 0x9D, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC4, 0x58, 0x8A, 0x00, 0x8D, 0x19, 0xA2, 
 0x00, 0x00, 0x00, 0x40, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 
 0x20, 0x2D, 0x20, 0x49, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x61, 0x20, 0x2D, 0x20, 0x44, 0x61, 0x76, 
 0x69, 0x65, 0x73, 0x73, 0x2C, 0x20, 0x44, 0x75, 0x62, 0x6F, 0x69, 0x73, 0x2C, 0x20, 0x4B, 0x6E, 
@@ -3935,7 +3935,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 
 0x01, 0x14, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 
 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC7, 0xF7, 0xF2, 0x00, 0x90, 0x5A, 0x51, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC7, 0xF7, 0xF2, 0x00, 0x8E, 0x83, 0x2E, 0x00, 0x00, 
 0x00, 0x27, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 
 0x20, 0x49, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x61, 0x20, 0x2D, 0x20, 0x50, 0x75, 0x6C, 0x61, 0x73, 
 0x6B, 0x69, 0x20, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x79, 
@@ -3985,7 +3985,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, 
 0x01, 0x11, 0x7A, 0x7A, 0x7A, 0x00, 0x50, 0x44, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 
 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x48, 0xCF, 0x52, 0x00, 0x00, 0x00, 0x2A, 0x4D, 0x6F, 0x75, 
+0x00, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, 0x00, 0x2A, 0x4D, 0x6F, 0x75, 
 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 
 0x74, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x77, 0x65, 0x73, 0x74, 0x20, 0x54, 0x65, 0x72, 0x72, 
 0x69, 0x74, 0x6F, 0x72, 0x69, 0x65, 0x73, 
@@ -4037,8 +4037,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xA0, 0x00, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0x7A, 0x7A, 0x7A, 0x00, 0x45, 0x50, 0x54, 
 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 
 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAB, 
-0x9C, 0x4A, 0x00, 0x00, 0x00, 0x2C, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 
+0x2F, 0xB5, 0x00, 0x00, 0x00, 0x2C, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 
 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x65, 0x61, 0x73, 0x74, 0x20, 0x4E, 0x75, 0x6E, 0x61, 0x76, 0x75, 
 0x74, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 
 0x6E, 0x73, 
@@ -4055,7 +4055,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 
 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xB8, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 
 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 
-0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xCB, 0x80, 0x00, 0x9F, 0xE9, 
+0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xCB, 0x80, 0x00, 0x9D, 0x78, 
 0x80, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Jujuy */
@@ -4141,7 +4141,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x1D, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x50, 0x44, 
 0x54, 0x00, 0x59, 0x53, 0x54, 0x00, 0x59, 0x44, 0x54, 0x00, 0x41, 0x4B, 0x44, 0x54, 0x00, 0x41, 
 0x4B, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0xE2, 0x4A, 0x72, 0x00, 0x46, 0xD4, 0xB4, 0x00, 0x00, 0x00, 0x1E, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0xE2, 0x4A, 0x72, 0x00, 0x45, 0x8C, 0xCB, 0x00, 0x00, 0x00, 0x1E, 
 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x41, 0x6C, 
 0x61, 0x73, 0x6B, 0x61, 0x20, 0x70, 0x61, 0x6E, 0x68, 0x61, 0x6E, 0x64, 0x6C, 0x65, 
 
@@ -4208,8 +4208,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xB0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 0xFF, 
 0xFF, 0xC7, 0xC0, 0x01, 0x14, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 
 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0xB3, 0x48, 0x00, 0x92, 0x1E, 
-0x08, 0x00, 0x00, 0x00, 0x29, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0xB3, 0x48, 0x00, 0x8F, 0xCC, 
+0xB7, 0x00, 0x00, 0x00, 0x29, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 
 0x65, 0x20, 0x2D, 0x20, 0x4B, 0x65, 0x6E, 0x74, 0x75, 0x63, 0x6B, 0x79, 0x20, 0x2D, 0x20, 0x4C, 
 0x6F, 0x75, 0x69, 0x73, 0x76, 0x69, 0x6C, 0x6C, 0x65, 0x20, 0x61, 0x72, 0x65, 0x61, 
 
@@ -4267,7 +4267,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x14, 0x43, 
 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 
 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x00, 0x00, 0x00, 0xC1, 0x86, 0xDC, 0x00, 0x93, 0xC7, 0xB4, 0x00, 0x00, 0x00, 0x26, 0x45, 
+0x01, 0x00, 0x00, 0x00, 0xC1, 0x86, 0xDC, 0x00, 0x91, 0x30, 0x4B, 0x00, 0x00, 0x00, 0x26, 0x45, 
 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4B, 0x65, 
 0x6E, 0x74, 0x75, 0x63, 0x6B, 0x79, 0x20, 0x2D, 0x20, 0x57, 0x61, 0x79, 0x6E, 0x65, 0x20, 0x43, 
 0x6F, 0x75, 0x6E, 0x74, 0x79, 
@@ -4336,8 +4336,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xB8, 0x1E, 0x96, 0xE4, 
 0xB8, 0xEE, 0xD5, 0xD4, 0x01, 0x02, 0xFF, 0xFF, 0xC0, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xCE, 0x2C, 
 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x09, 0x43, 0x4D, 0x54, 0x00, 0x42, 0x4F, 0x53, 0x54, 
-0x00, 0x42, 0x4F, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xAD, 0x90, 0x00, 
-0xAB, 0x20, 0x98, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x42, 0x4F, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x26, 0xF0, 0x00, 
+0xAA, 0xAB, 0x68, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Lima */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -4349,8 +4349,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x2D, 0x25, 0x03, 0x50, 0x2D, 0x9B, 0x9C, 0x40, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xB7, 0xAC, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 
 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x45, 0x53, 
-0x54, 0x00, 0x50, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x18, 0x48, 
-0x00, 0x9D, 0x3D, 0xE8, 0x00, 0x00, 0x00, 0x00, 
+0x54, 0x00, 0x50, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF1, 0x38, 
+0x00, 0x9D, 0x16, 0xD8, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Los_Angeles */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -4416,8 +4416,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x00, 0xFF, 
 0xFF, 0x8F, 0x80, 0x00, 0x04, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 
 0x0C, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 
-0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xBD, 0x49, 0xE6, 0x00, 0x5E, 0xF9, 
-0x95, 0x00, 0x00, 0x00, 0x0C, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xBD, 0x49, 0xE6, 0x00, 0x5E, 0x3B, 
+0xEA, 0x00, 0x00, 0x00, 0x0C, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 
 0x65, 
 
 /* America/Louisville */
@@ -4504,8 +4504,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xDE, 0x84, 0x00, 0x00, 0xFF, 
 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x42, 
-0x52, 0x53, 0x54, 0x00, 0x42, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 
-0x9D, 0x0A, 0x00, 0xDE, 0x58, 0x92, 0x00, 0x00, 0x00, 0x10, 0x41, 0x6C, 0x61, 0x67, 0x6F, 0x61, 
+0x52, 0x53, 0x54, 0x00, 0x42, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 
+0x94, 0x35, 0x00, 0xDC, 0x28, 0xAD, 0x00, 0x00, 0x00, 0x10, 0x41, 0x6C, 0x61, 0x67, 0x6F, 0x61, 
 0x73, 0x2C, 0x20, 0x53, 0x65, 0x72, 0x67, 0x69, 0x70, 0x65, 
 
 /* America/Managua */
@@ -4519,7 +4519,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0xFF, 0xFF, 0xAF, 0x18, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 
 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0x4D, 
 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xDE, 0x58, 0x00, 0x8F, 0xDD, 0x6D, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xDE, 0x58, 0x00, 0x8F, 0x00, 0x12, 0x00, 
 0x00, 0x00, 0x00, 
 
 /* America/Manaus */
@@ -4537,8 +4537,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xC7, 0xBC, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 
 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x53, 
-0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xF4, 0x75, 
-0x00, 0xB7, 0x21, 0x82, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x20, 0x41, 0x6D, 0x61, 0x7A, 0x6F, 0x6E, 
+0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x8C, 0x4A, 
+0x00, 0xB7, 0x14, 0x7D, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x20, 0x41, 0x6D, 0x61, 0x7A, 0x6F, 0x6E, 
 0x61, 0x73, 
 
 /* America/Marigot */
@@ -4546,8 +4546,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xD5, 0xE1, 0xB0, 
 0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0xA7, 
-0xAD, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 
+0x92, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Martinique */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -4556,7 +4556,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x13, 0x4D, 0x6E, 0x40, 0x14, 0x34, 0x16, 0xB0, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xC6, 0xBC, 0x00, 
 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x05, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x09, 0x46, 0x46, 0x4D, 
 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x9F, 0x9B, 0x60, 0x00, 0xB5, 0xB4, 0xED, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x9F, 0x9B, 0x60, 0x00, 0xB5, 0x73, 0xD2, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Mazatlan */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -4594,8 +4594,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x3C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 
 0xFF, 0x8F, 0x80, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 
 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xC1, 0x42, 0x00, 0x71, 0x8D, 
-0x02, 0x00, 0x00, 0x00, 0x28, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xC1, 0x42, 0x00, 0x70, 0x47, 
+0x7D, 0x00, 0x00, 0x00, 0x28, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 
 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x53, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x2C, 0x20, 0x4E, 0x61, 0x79, 
 0x61, 0x72, 0x69, 0x74, 0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, 
 
@@ -4681,7 +4681,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xB9, 0xB0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x10, 
 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 
 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xCE, 
-0x28, 0x79, 0x00, 0x8E, 0xD8, 0x08, 0x00, 0x00, 0x00, 0x47, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 
+0x28, 0x79, 0x00, 0x8C, 0xF8, 0x37, 0x00, 0x00, 0x00, 0x47, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 
 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4D, 0x69, 0x63, 0x68, 0x69, 0x67, 0x61, 
 0x6E, 0x20, 0x2D, 0x20, 0x44, 0x69, 0x63, 0x6B, 0x69, 0x6E, 0x73, 0x6F, 0x6E, 0x2C, 0x20, 0x47, 
 0x6F, 0x67, 0x65, 0x62, 0x69, 0x63, 0x2C, 0x20, 0x49, 0x72, 0x6F, 0x6E, 0x20, 0x26, 0x20, 0x4D, 
@@ -4722,7 +4722,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xAB, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 
 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 
 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0xA9, 0x52, 0x5A, 0x00, 0x8B, 0xCB, 0xC2, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 
+0xA9, 0x52, 0x5A, 0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 
 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 
 0x68, 0x65, 0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, 
 
@@ -4764,7 +4764,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 
 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 
 0x43, 0x44, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0xA6, 0xEE, 0x60, 0x00, 0x7B, 0xD3, 0x38, 0x00, 0x00, 0x00, 0x1D, 0x43, 0x65, 
+0x00, 0x00, 0x00, 0xA6, 0xEE, 0x60, 0x00, 0x7B, 0x5E, 0x07, 0x00, 0x00, 0x00, 0x1D, 0x43, 0x65, 
 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 
 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
 
@@ -4807,7 +4807,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x03, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xCB, 0x58, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 
 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 
 0x41, 0x53, 0x54, 0x00, 0x50, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x1F, 0x28, 0x00, 0xBD, 0xB7, 0xB5, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x1F, 0x28, 0x00, 0xBC, 0xB3, 0x4A, 0x00, 0x00, 
 0x00, 0x00, 
 
 /* America/Moncton */
@@ -4882,7 +4882,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 
 0x45, 0x53, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 
 0x41, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xCF, 
-0xAC, 0x10, 0x00, 0xB2, 0x32, 0x7D, 0x00, 0x00, 0x00, 0x1D, 0x41, 0x74, 0x6C, 0x61, 0x6E, 0x74, 
+0xAC, 0x10, 0x00, 0xAF, 0xCE, 0x82, 0x00, 0x00, 0x00, 0x1D, 0x41, 0x74, 0x6C, 0x61, 0x6E, 0x74, 
 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4E, 0x65, 0x77, 0x20, 0x42, 0x72, 
 0x75, 0x6E, 0x73, 0x77, 0x69, 0x63, 0x6B, 
 
@@ -4919,7 +4919,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 
 0xFF, 0xA1, 0xF4, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 
 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x7A, 0x8D, 0xB2, 0x00, 0x00, 0x00, 0x38, 0x43, 
+0x00, 0x00, 0x00, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x38, 0x43, 
 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x6F, 
 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, 0x44, 0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x2C, 
 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 
@@ -4974,7 +4974,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xC8, 0x00, 0x0A, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x0A, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x0E, 0xFF, 
 0xFF, 0xDC, 0xD8, 0x01, 0x04, 0x4D, 0x4D, 0x54, 0x00, 0x55, 0x59, 0x48, 0x53, 0x54, 0x00, 0x55, 
 0x59, 0x54, 0x00, 0x55, 0x59, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0xCC, 0x0D, 0x00, 0xBD, 0x7D, 0x1D, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x19, 0xF2, 0x00, 0xBC, 0xED, 0xE2, 0x00, 0x00, 
 0x00, 0x00, 
 
 /* America/Montreal */
@@ -5056,7 +5056,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x01, 0x00, 0x01, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 
 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0x45, 0x44, 0x54, 0x00, 
 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0xCE, 0xC8, 0x32, 0x00, 0xA4, 0x22, 0x3A, 0x00, 0x00, 0x00, 0x26, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0xCE, 0xC8, 0x32, 0x00, 0xA2, 0x67, 0x85, 0x00, 0x00, 0x00, 0x26, 
 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x51, 
 0x75, 0x65, 0x62, 0x65, 0x63, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 
 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
@@ -5066,8 +5066,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x35, 0x10, 
 0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB4, 0x62, 
-0x62, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 
+0x1D, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Nassau */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -5121,8 +5121,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xB7, 0x7C, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 
 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 
-0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9D, 0xB3, 
-0x18, 0x00, 0x00, 0x00, 0x00, 
+0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 
+0xA8, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/New_York */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -5204,7 +5204,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x00, 0x01, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0xFF, 
 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0x45, 0x44, 0x54, 0x00, 0x45, 
 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
-0x00, 0x00, 0x01, 0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xC0, 0xBE, 0x00, 0x00, 0x00, 0x0C, 0x45, 
+0x00, 0x00, 0x01, 0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x0C, 0x45, 
 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 
 
 /* America/Nipigon */
@@ -5255,8 +5255,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x00, 
 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 
 0x01, 0x0C, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 
-0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD4, 0x1F, 0x62, 0x00, 0x8C, 
-0xC9, 0xAA, 0x00, 0x00, 0x00, 0x4B, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 
+0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD4, 0x1F, 0x62, 0x00, 0x8B, 
+0xF9, 0x55, 0x00, 0x00, 0x00, 0x4B, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 
 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4F, 0x6E, 0x74, 0x61, 0x72, 0x69, 0x6F, 0x20, 0x26, 0x20, 0x51, 
 0x75, 0x65, 0x62, 0x65, 0x63, 0x20, 0x2D, 0x20, 0x70, 0x6C, 0x61, 0x63, 0x65, 0x73, 0x20, 0x74, 
 0x68, 0x61, 0x74, 0x20, 0x64, 0x69, 0x64, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x6F, 0x62, 0x73, 0x65, 
@@ -5317,8 +5317,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x18, 0xFF, 0xFF, 0x81, 0x70, 0x00, 0x1D, 0x4E, 0x53, 0x54, 0x00, 0x4E, 0x57, 0x54, 0x00, 0x4E, 
 0x50, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x42, 0x44, 0x54, 0x00, 0x59, 0x53, 0x54, 0x00, 0x41, 
 0x4B, 0x44, 0x54, 0x00, 0x41, 0x4B, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEB, 0xBF, 0xFF, 0x00, 0x17, 0x82, 
-0x1E, 0x00, 0x00, 0x00, 0x19, 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61, 0x20, 0x54, 0x69, 0x6D, 0x65, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEB, 0xBF, 0xFF, 0x00, 0x16, 0x44, 
+0xA1, 0x00, 0x00, 0x00, 0x19, 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61, 0x20, 0x54, 0x69, 0x6D, 0x65, 
 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x20, 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61, 
 
 /* America/Noronha */
@@ -5339,7 +5339,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 
 0xFF, 0xE1, 0x9C, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x01, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 
 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4E, 0x53, 0x54, 0x00, 0x46, 0x4E, 0x54, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x0C, 0x68, 0x00, 0xE2, 0x77, 0x42, 0x00, 0x00, 0x00, 0x10, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x74, 0x58, 0x00, 0xE1, 0x31, 0xBD, 0x00, 0x00, 0x00, 0x10, 
 0x41, 0x74, 0x6C, 0x61, 0x6E, 0x74, 0x69, 0x63, 0x20, 0x69, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 
@@ -5398,7 +5398,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x14, 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 
 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 
 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD1, 0x39, 
-0x16, 0x00, 0x79, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x2B, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 
+0x16, 0x00, 0x78, 0x16, 0x83, 0x00, 0x00, 0x00, 0x2B, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 
 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x44, 0x61, 
 0x6B, 0x6F, 0x74, 0x61, 0x20, 0x2D, 0x20, 0x4F, 0x6C, 0x69, 0x76, 0x65, 0x72, 0x20, 0x43, 0x6F, 
 0x75, 0x6E, 0x74, 0x79, 
@@ -5458,7 +5458,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x14, 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 
 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 
 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0xCF, 
-0x14, 0x00, 0x79, 0x2B, 0xDB, 0x00, 0x00, 0x00, 0x40, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 
+0x14, 0x00, 0x77, 0xEA, 0xE4, 0x00, 0x00, 0x00, 0x40, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 
 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x44, 0x61, 
 0x6B, 0x6F, 0x74, 0x61, 0x20, 0x2D, 0x20, 0x4D, 0x6F, 0x72, 0x74, 0x6F, 0x6E, 0x20, 0x43, 0x6F, 
 0x75, 0x6E, 0x74, 0x79, 0x20, 0x28, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x4D, 0x61, 0x6E, 
@@ -5469,8 +5469,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x8B, 0xF4, 0x61, 0xE8, 
 0x01, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0x43, 0x4D, 0x54, 
-0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x02, 0xDA, 0x00, 0x9A, 0xED, 
-0x75, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x02, 0xDA, 0x00, 0x99, 0x4C, 
+0xCA, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Pangnirtung */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -5521,7 +5521,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 
 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 
 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x3D, 0x95, 0x00, 0xB0, 0x98, 0x55, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x3D, 0x95, 0x00, 0xAE, 0x5B, 0x6A, 0x00, 
 0x00, 0x00, 0x23, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 
 0x2D, 0x20, 0x50, 0x61, 0x6E, 0x67, 0x6E, 0x69, 0x72, 0x74, 0x75, 0x6E, 0x67, 0x2C, 0x20, 0x4E, 
 0x75, 0x6E, 0x61, 0x76, 0x75, 0x74, 
@@ -5535,7 +5535,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x04, 0xFF, 0xFF, 0xCC, 0x4C, 0x00, 0x04, 0xFF, 0xFF, 0xCE, 0xC8, 0x00, 0x08, 0xFF, 0xFF, 0xCE, 
 0xC8, 0x00, 0x0D, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4D, 0x54, 
 0x00, 0x4E, 0x45, 0x47, 0x54, 0x00, 0x53, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x3A, 0xE5, 0x00, 0xBE, 0xFD, 0x3A, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x3A, 0xE5, 0x00, 0xBE, 0x7B, 0x05, 0x00, 0x00, 
 0x00, 0x00, 
 
 /* America/Phoenix */
@@ -5547,7 +5547,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFB, 0xE8, 0x58, 0x00, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x01, 0xFF, 0xFF, 
 0xAB, 0xA0, 0x01, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 
 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0xBC, 0x5E, 0x01, 0x00, 0x67, 0xDF, 0x25, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x6F, 
+0x00, 0x00, 0x00, 0xBC, 0x5E, 0x01, 0x00, 0x67, 0xA5, 0xDA, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x6F, 
 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 
 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x41, 0x72, 0x69, 0x7A, 0x6F, 0x6E, 0x61, 
 
@@ -5569,7 +5569,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x05, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 
 0xC0, 0x01, 0x05, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0x50, 0x50, 0x4D, 0x54, 0x00, 0x45, 0x44, 
 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0xA5, 0x9B, 0xD5, 0x00, 0xA5, 0x4D, 0xB5, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0xA5, 0x9B, 0xD5, 0x00, 0xA4, 0x49, 0x4A, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Porto_Acre */
 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -5594,8 +5594,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, 
 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB6, 0x5E, 
-0x32, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 
+0x8D, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Porto_Velho */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -5612,7 +5612,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xC4, 
 0x18, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x09, 0x4C, 
 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x53, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x7E, 0x4A, 0xBA, 0x00, 0xB3, 0xE6, 0xB0, 0x00, 0x00, 0x00, 0x08, 0x52, 0x6F, 
+0x00, 0x00, 0x00, 0x7B, 0xF3, 0xC5, 0x00, 0xB1, 0x27, 0x90, 0x00, 0x00, 0x00, 0x08, 0x52, 0x6F, 
 0x6E, 0x64, 0x6F, 0x6E, 0x69, 0x61, 
 
 /* America/Puerto_Rico */
@@ -5622,7 +5622,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 
 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0x41, 0x53, 0x54, 
 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 
-0xA5, 0x82, 0x71, 0x00, 0xAE, 0x1C, 0xB3, 0x00, 0x00, 0x00, 0x00, 
+0xA5, 0x82, 0x71, 0x00, 0xAD, 0xC9, 0xCC, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Rainy_River */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -5672,8 +5672,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x00, 
 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 
 0x01, 0x0C, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 
-0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD3, 0xAA, 0x32, 0x00, 0x84, 
-0x17, 0x1A, 0x00, 0x00, 0x00, 0x32, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 
+0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD3, 0xAA, 0x32, 0x00, 0x82, 
+0x5C, 0x65, 0x00, 0x00, 0x00, 0x32, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 
 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x52, 0x61, 0x69, 0x6E, 0x79, 0x20, 0x52, 0x69, 0x76, 0x65, 0x72, 
 0x20, 0x26, 0x20, 0x46, 0x6F, 0x72, 0x74, 0x20, 0x46, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x73, 0x2C, 
 0x20, 0x4F, 0x6E, 0x74, 0x61, 0x72, 0x69, 0x6F, 
@@ -5723,7 +5723,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0x7A, 0x7A, 0x7A, 
 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 
 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE9, 0x2E, 0x02, 
-0x00, 0x86, 0x67, 0x71, 0x00, 0x00, 0x00, 0x1E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 
+0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x1E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 
 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x4E, 
 0x75, 0x6E, 0x61, 0x76, 0x75, 0x74, 
 
@@ -5745,7 +5745,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 
 0xFF, 0xDF, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 
 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x52, 0x53, 0x54, 0x00, 0x42, 0x52, 0x54, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x32, 0xC8, 0x00, 0xE0, 0x26, 0xD0, 0x00, 0x00, 0x00, 0x0A, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x0B, 0xB8, 0x00, 0xDD, 0x67, 0xB0, 0x00, 0x00, 0x00, 0x0A, 
 0x50, 0x65, 0x72, 0x6E, 0x61, 0x6D, 0x62, 0x75, 0x63, 0x6F, 
 
 /* America/Regina */
@@ -5773,7 +5773,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x44, 0x54, 
 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x43, 0x53, 0x54, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xD6, 0x3B, 
-0xC0, 0x00, 0x74, 0xF5, 0x68, 0x00, 0x00, 0x00, 0x35, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 
+0xC0, 0x00, 0x72, 0xF9, 0x97, 0x00, 0x00, 0x00, 0x35, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 
 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 
 0x20, 0x53, 0x61, 0x73, 0x6B, 0x61, 0x74, 0x63, 0x68, 0x65, 0x77, 0x61, 0x6E, 0x20, 0x2D, 0x20, 
 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
@@ -5823,7 +5823,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0xFF, 0xFF, 0xB9, 
 0xB0, 0x00, 0x0D, 0x7A, 0x7A, 0x7A, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 
 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x84, 0x7D, 0xA4, 0x00, 0x00, 0x00, 0x29, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x29, 
 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 
 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 
 0x2C, 0x20, 0x4E, 0x75, 0x6E, 0x61, 0x76, 0x75, 0x74, 
@@ -5844,7 +5844,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x03, 0xFF, 0xFF, 0xC0, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 
 0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x43, 
 0x53, 0x54, 0x00, 0x41, 0x43, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x7D, 0x12, 0x3A, 0x00, 0xAD, 0xA5, 0x20, 0x00, 0x00, 0x00, 0x04, 0x41, 
+0x00, 0x00, 0x00, 0x00, 0x7A, 0x1F, 0x05, 0x00, 0xAB, 0x34, 0x20, 0x00, 0x00, 0x00, 0x04, 0x41, 
 0x63, 0x72, 0x65, 
 
 /* America/Rosario */
@@ -5910,7 +5910,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x03, 0xFF, 0xFF, 0xCC, 0xB8, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 
 0xC7, 0xC0, 0x00, 0x09, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 
 0x53, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x42, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x86, 0xF0, 0x45, 0x00, 0xC1, 0x95, 0x4A, 0x00, 0x00, 0x00, 0x06, 0x57, 
+0x00, 0x00, 0x00, 0x00, 0x85, 0x9D, 0xBA, 0x00, 0xBE, 0xF0, 0x35, 0x00, 0x00, 0x00, 0x06, 0x57, 
 0x20, 0x50, 0x61, 0x72, 0x61, 
 
 /* America/Santiago */
@@ -5971,7 +5971,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 
 0x00, 0x04, 0x53, 0x4D, 0x54, 0x00, 0x43, 0x4C, 0x54, 0x00, 0x43, 0x4C, 0x53, 0x54, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 
-0x57, 0xA9, 0x68, 0x00, 0xA8, 0xDD, 0x2A, 0x00, 0x00, 0x00, 0x0E, 0x6D, 0x6F, 0x73, 0x74, 0x20, 
+0x56, 0x49, 0xD8, 0x00, 0xA6, 0xD4, 0x55, 0x00, 0x00, 0x00, 0x0E, 0x6D, 0x6F, 0x73, 0x74, 0x20, 
 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
 
 /* America/Santo_Domingo */
@@ -5986,8 +5986,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x05, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x09, 0xFF, 0xFF, 
 0xC0, 0xB8, 0x01, 0x0D, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x12, 0x53, 0x44, 0x4D, 0x54, 0x00, 0x45, 
 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x48, 0x44, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x81, 0xCA, 0x00, 0xAA, 
-0xBE, 0xF0, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x81, 0xCA, 0x00, 0xA7, 
+0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Sao_Paulo */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -6035,7 +6035,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xD4, 0x4C, 
 0x00, 0x00, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x09, 0x4C, 0x4D, 
 0x54, 0x00, 0x42, 0x52, 0x53, 0x54, 0x00, 0x42, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x67, 0x0C, 0x35, 0x00, 0xCD, 0x68, 0xA2, 0x00, 0x00, 0x00, 0x32, 0x53, 0x20, 0x26, 
+0x00, 0x00, 0x65, 0x6B, 0x8A, 0x00, 0xCB, 0x86, 0xDD, 0x00, 0x00, 0x00, 0x32, 0x53, 0x20, 0x26, 
 0x20, 0x53, 0x45, 0x20, 0x42, 0x72, 0x61, 0x7A, 0x69, 0x6C, 0x20, 0x28, 0x47, 0x4F, 0x2C, 0x20, 
 0x44, 0x46, 0x2C, 0x20, 0x4D, 0x47, 0x2C, 0x20, 0x45, 0x53, 0x2C, 0x20, 0x52, 0x4A, 0x2C, 0x20, 
 0x53, 0x50, 0x2C, 0x20, 0x50, 0x52, 0x2C, 0x20, 0x53, 0x43, 0x2C, 0x20, 0x52, 0x53, 0x29, 
@@ -6085,7 +6085,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xF0, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x4C, 
 0x4D, 0x54, 0x00, 0x43, 0x47, 0x54, 0x00, 0x43, 0x47, 0x53, 0x54, 0x00, 0x45, 0x47, 0x54, 0x00, 
 0x45, 0x47, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x01, 0x00, 0x00, 0xF4, 0xE0, 0xCD, 0x00, 0xF4, 0x16, 0xFA, 0x00, 0x00, 0x00, 0x1F, 0x53, 
+0x01, 0x01, 0x00, 0x00, 0xF4, 0xE0, 0xCD, 0x00, 0xF1, 0x23, 0xC5, 0x00, 0x00, 0x00, 0x1F, 0x53, 
 0x63, 0x6F, 0x72, 0x65, 0x73, 0x62, 0x79, 0x73, 0x75, 0x6E, 0x64, 0x20, 0x2F, 0x20, 0x49, 0x74, 
 0x74, 0x6F, 0x71, 0x71, 0x6F, 0x72, 0x74, 0x6F, 0x6F, 0x72, 0x6D, 0x69, 0x69, 0x74, 
 
@@ -6145,7 +6145,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xA0, 0x01, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 
 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 
 0x00, 0x4D, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xC1, 0x75, 
-0x9B, 0x00, 0x6E, 0xE9, 0x1E, 0x00, 0x00, 0x00, 0x16, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 
+0x9B, 0x00, 0x6C, 0xD0, 0xE1, 0x00, 0x00, 0x00, 0x16, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 
 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4E, 0x61, 0x76, 0x61, 0x6A, 0x6F, 
 
 /* America/St_Barthelemy */
@@ -6153,8 +6153,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xD5, 0xE1, 0xB0, 
 0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB5, 0x59, 
-0xC8, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 
+0xB8, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/St_Johns */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -6239,7 +6239,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0xDC, 0xD8, 0x01, 0x0C, 0xFF, 0xFF, 0xEA, 0xE8, 0x01, 0x10, 0x4E, 0x44, 0x54, 0x00, 
 0x4E, 0x53, 0x54, 0x00, 0x4E, 0x50, 0x54, 0x00, 0x4E, 0x57, 0x54, 0x00, 0x4E, 0x44, 0x44, 0x54, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 
-0xD1, 0xE8, 0xFA, 0x00, 0xC4, 0x67, 0xF2, 0x00, 0x00, 0x00, 0x28, 0x4E, 0x65, 0x77, 0x66, 0x6F, 
+0xD1, 0xE8, 0xFA, 0x00, 0xC2, 0x38, 0x0D, 0x00, 0x00, 0x00, 0x28, 0x4E, 0x65, 0x77, 0x66, 0x6F, 
 0x75, 0x6E, 0x64, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x2C, 0x20, 0x69, 0x6E, 
 0x63, 0x6C, 0x75, 0x64, 0x69, 0x6E, 0x67, 0x20, 0x53, 0x45, 0x20, 0x4C, 0x61, 0x62, 0x72, 0x61, 
 0x64, 0x6F, 0x72, 
@@ -6249,8 +6249,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x34, 0xCC, 
 0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB5, 0x25, 
-0xB2, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 
+0xCD, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/St_Lucia */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4C, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -6265,16 +6265,16 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x60, 
 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xB2, 0x6D, 
-0x15, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 
+0xEA, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/St_Vincent */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x56, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0xC7, 0xE8, 
 0x01, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4B, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0xEF, 
-0x85, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 
+0x3A, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Swift_Current */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -6291,7 +6291,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 
 0xA0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 
 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xD6, 0x0E, 0x2D, 0x00, 0x70, 0xA9, 0x25, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xD6, 0x0E, 0x2D, 0x00, 0x6E, 0x1E, 0x1A, 0x00, 
 0x00, 0x00, 0x2E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 
 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x53, 0x61, 0x73, 0x6B, 0x61, 
 0x74, 0x63, 0x68, 0x65, 0x77, 0x61, 0x6E, 0x20, 0x2D, 0x20, 0x6D, 0x69, 0x64, 0x77, 0x65, 0x73, 
@@ -6305,7 +6305,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x44, 0x5D, 0x8C, 0xE0, 0x44, 0xD6, 0xC8, 0xD0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 
 0xFF, 0xAE, 0x3C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 
 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x9E, 0xD8, 0x10, 0x00, 0x8E, 0x3C, 0xC2, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x9E, 0xD8, 0x10, 0x00, 0x8D, 0x93, 0x7D, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Thule */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -6343,7 +6343,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 
 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 
 0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x29, 0x1A, 0x00, 
-0xAC, 0x17, 0xFD, 0x00, 0x00, 0x00, 0x10, 0x54, 0x68, 0x75, 0x6C, 0x65, 0x20, 0x2F, 0x20, 0x50, 
+0xA9, 0xB4, 0x02, 0x00, 0x00, 0x00, 0x10, 0x54, 0x68, 0x75, 0x6C, 0x65, 0x20, 0x2F, 0x20, 0x50, 
 0x69, 0x74, 0x75, 0x66, 0x66, 0x69, 0x6B, 
 
 /* America/Thunder_Bay */
@@ -6396,8 +6396,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xAB, 0xA0, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 
 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x43, 0x53, 0x54, 0x00, 
 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xD3, 0x27, 0xFD, 0x00, 0x8B, 
-0x3C, 0x88, 0x00, 0x00, 0x00, 0x23, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xD3, 0x27, 0xFD, 0x00, 0x8A, 
+0x79, 0x38, 0x00, 0x00, 0x00, 0x23, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 
 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x54, 0x68, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x20, 0x42, 0x61, 0x79, 
 0x2C, 0x20, 0x4F, 0x6E, 0x74, 0x61, 0x72, 0x69, 0x6F, 
 
@@ -6456,7 +6456,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x90, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 
 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xBA, 0xF8, 
-0x95, 0x00, 0x60, 0x27, 0xE2, 0x00, 0x00, 0x00, 0x0C, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 
+0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, 0x00, 0x0C, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 
 0x20, 0x54, 0x69, 0x6D, 0x65, 
 
 /* America/Toronto */
@@ -6538,7 +6538,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x01, 0x00, 0x01, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 
 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0x45, 0x44, 0x54, 0x00, 
 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0xCB, 0xEF, 0x08, 0x00, 0x9A, 0xB2, 0xDD, 0x00, 0x00, 0x00, 0x27, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0xCB, 0xEF, 0x08, 0x00, 0x99, 0x87, 0x62, 0x00, 0x00, 0x00, 0x27, 
 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4F, 
 0x6E, 0x74, 0x61, 0x72, 0x69, 0x6F, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 
 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
@@ -6548,8 +6548,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x14, 
 0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB1, 0xF1, 
-0x62, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 
+0x9D, 0x00, 0x00, 0x00, 0x00, 
 
 /* America/Vancouver */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -6617,7 +6617,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x90, 0x01, 0x00, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x04, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x08, 0xFF, 
 0xFF, 0x9D, 0x90, 0x01, 0x0C, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 
 0x00, 0x50, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD4, 0x81, 
-0x0A, 0x00, 0x57, 0x27, 0x32, 0x00, 0x00, 0x00, 0x24, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 
+0x0A, 0x00, 0x56, 0xCC, 0x0D, 0x00, 0x00, 0x00, 0x24, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 
 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x20, 0x42, 0x72, 0x69, 
 0x74, 0x69, 0x73, 0x68, 0x20, 0x43, 0x6F, 0x6C, 0x75, 0x6D, 0x62, 0x69, 0x61, 
 
@@ -6677,7 +6677,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x15, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x19, 0x59, 0x44, 0x54, 0x00, 
 0x59, 0x53, 0x54, 0x00, 0x59, 0x57, 0x54, 0x00, 0x59, 0x50, 0x54, 0x00, 0x59, 0x44, 0x44, 0x54, 
 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE5, 0xF9, 0xB2, 0x00, 0x44, 0xBD, 0xA8, 0x00, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE5, 0xF9, 0xB2, 0x00, 0x44, 0x96, 0x97, 0x00, 
 0x00, 0x00, 0x1A, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 
 0x2D, 0x20, 0x73, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x59, 0x75, 0x6B, 0x6F, 0x6E, 
 
@@ -6747,7 +6747,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 
 0x00, 0x04, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 
 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD5, 
-0x71, 0xED, 0x00, 0x7E, 0xE0, 0x78, 0x00, 0x00, 0x00, 0x26, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 
+0x71, 0xED, 0x00, 0x7E, 0x6B, 0x47, 0x00, 0x00, 0x00, 0x26, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 
 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4D, 0x61, 0x6E, 0x69, 0x74, 0x6F, 0x62, 
 0x61, 0x20, 0x26, 0x20, 0x77, 0x65, 0x73, 0x74, 0x20, 0x4F, 0x6E, 0x74, 0x61, 0x72, 0x69, 0x6F, 
 
@@ -6805,7 +6805,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0x81, 0x70, 0x00, 0x15, 0x59, 0x53, 0x54, 0x00, 0x59, 0x57, 0x54, 0x00, 0x59, 0x50, 
 0x54, 0x00, 0x59, 0x44, 0x54, 0x00, 0x41, 0x4B, 0x44, 0x54, 0x00, 0x41, 0x4B, 0x53, 0x54, 0x00, 
 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE4, 0x30, 0xC6, 
-0x00, 0x3F, 0xAB, 0xB2, 0x00, 0x00, 0x00, 0x23, 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61, 0x20, 0x54, 
+0x00, 0x3D, 0x73, 0x8D, 0x00, 0x00, 0x00, 0x23, 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61, 0x20, 0x54, 
 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61, 0x20, 0x70, 0x61, 0x6E, 
 0x68, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x20, 0x6E, 0x65, 0x63, 0x6B, 
 
@@ -6855,7 +6855,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 
 0x01, 0x15, 0x7A, 0x7A, 0x7A, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 
 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE8, 0x9E, 0xC7, 0x00, 0x65, 0x3D, 0xF7, 0x00, 
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE8, 0x9E, 0xC7, 0x00, 0x64, 0x2C, 0x88, 0x00, 
 0x00, 0x00, 0x2D, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 
 0x20, 0x2D, 0x20, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 
 0x77, 0x65, 0x73, 0x74, 0x20, 0x54, 0x65, 0x72, 0x72, 0x69, 0x74, 0x6F, 0x72, 0x69, 0x65, 0x73, 
@@ -6866,7 +6866,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x1E, 0xCC, 0x80, 
 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x7A, 0x7A, 0x7A, 
-0x00, 0x57, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x0D, 0xAD, 0x01, 0xBB, 0x4B, 
+0x00, 0x57, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x30, 0x52, 0x01, 0xBB, 0x4B, 
 0x12, 0x00, 0x00, 0x00, 0x1F, 0x43, 0x61, 0x73, 0x65, 0x79, 0x20, 0x53, 0x74, 0x61, 0x74, 0x69, 
 0x6F, 0x6E, 0x2C, 0x20, 0x42, 0x61, 0x69, 0x6C, 0x65, 0x79, 0x20, 0x50, 0x65, 0x6E, 0x69, 0x6E, 
 0x73, 0x75, 0x6C, 0x61, 
@@ -6877,7 +6877,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0xE7, 0x9C, 0x40, 0x00, 
 0xF6, 0x47, 0xDF, 0x10, 0xFE, 0x47, 0xAB, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x7A, 0x7A, 0x7A, 0x00, 0x44, 0x41, 0x56, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x75, 0x9D, 0x01, 0x89, 0xA0, 0x3A, 0x00, 0x00, 0x00, 0x1D, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xAD, 0xE2, 0x01, 0x89, 0xA0, 0x3A, 0x00, 0x00, 0x00, 0x1D, 
 0x44, 0x61, 0x76, 0x69, 0x73, 0x20, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x56, 
 0x65, 0x73, 0x74, 0x66, 0x6F, 0x6C, 0x64, 0x20, 0x48, 0x69, 0x6C, 0x6C, 0x73, 
 
@@ -6888,7 +6888,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xDE, 0x34, 0x60, 0x60, 0xE7, 0x3C, 0x02, 0x80, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x7A, 0x7A, 0x7A, 
 0x00, 0x50, 0x4D, 0x54, 0x00, 0x44, 0x44, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x25, 0xA3, 0x6A, 0x01, 0xE8, 0x4E, 0x82, 0x00, 0x00, 0x00, 0x26, 0x44, 0x75, 0x6D, 0x6F, 
+0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, 0x4E, 0x82, 0x00, 0x00, 0x00, 0x26, 0x44, 0x75, 0x6D, 0x6F, 
 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, 0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, 0x20, 0x53, 0x74, 0x61, 
 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x65, 0x72, 0x72, 0x65, 0x20, 0x41, 0x64, 0x65, 0x6C, 
 0x69, 0x65, 
@@ -6898,7 +6898,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0xE2, 0x20, 0x32, 0x80, 
 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x7A, 0x7A, 0x7A, 
-0x00, 0x4D, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x02, 0xBF, 0x01, 0x72, 
+0x00, 0x4D, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x2E, 0x00, 0x01, 0x72, 
 0x9C, 0x4D, 0x00, 0x00, 0x00, 0x19, 0x4D, 0x61, 0x77, 0x73, 0x6F, 0x6E, 0x20, 0x53, 0x74, 0x61, 
 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x48, 0x6F, 0x6C, 0x6D, 0x65, 0x20, 0x42, 0x61, 0x79, 
 
@@ -6948,7 +6948,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, 
 0xA8, 0xC0, 0x00, 0x09, 0x7A, 0x7A, 0x7A, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, 
-0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x1B, 0xA5, 0x02, 0x10, 
+0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 
 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x1C, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x20, 0x53, 0x74, 
 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x52, 0x6F, 0x73, 0x73, 0x20, 0x49, 0x73, 0x6C, 0x61, 
 0x6E, 0x64, 
@@ -7001,7 +7001,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x0D, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x12, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x12, 0x7A, 0x7A, 0x7A, 
 0x00, 0x41, 0x52, 0x54, 0x00, 0x41, 0x52, 0x53, 0x54, 0x00, 0x43, 0x4C, 0x53, 0x54, 0x00, 0x43, 
 0x4C, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x01, 0x00, 0x00, 0x28, 0xE4, 0xBF, 0x00, 0xB1, 0x27, 0x90, 0x00, 0x00, 0x00, 0x1D, 0x50, 
+0x01, 0x01, 0x00, 0x00, 0x26, 0x73, 0xC0, 0x00, 0xB0, 0xD9, 0x70, 0x00, 0x00, 0x00, 0x1D, 0x50, 
 0x61, 0x6C, 0x6D, 0x65, 0x72, 0x20, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x41, 
 0x6E, 0x76, 0x65, 0x72, 0x73, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 
 
@@ -7010,8 +7010,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x0D, 0x02, 0x2D, 0x00, 
 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0x7A, 0x7A, 0x7A, 
-0x00, 0x52, 0x4F, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0xF5, 0xBA, 0x00, 0xAB, 
-0x1A, 0x15, 0x00, 0x00, 0x00, 0x20, 0x52, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x61, 0x20, 0x53, 0x74, 
+0x00, 0x52, 0x4F, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x3B, 0x05, 0x00, 0xAA, 
+0xB1, 0xEA, 0x00, 0x00, 0x00, 0x20, 0x52, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x61, 0x20, 0x53, 0x74, 
 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x41, 0x64, 0x65, 0x6C, 0x61, 0x69, 0x64, 0x65, 0x20, 
 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 
 
@@ -7071,7 +7071,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0xE7, 0xB1, 0x58, 0x00, 
 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x7A, 0x7A, 0x7A, 
-0x00, 0x53, 0x59, 0x4F, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0D, 0x83, 0x01, 0x4F, 
+0x00, 0x53, 0x59, 0x4F, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0xBC, 0x01, 0x4F, 
 0x11, 0x58, 0x00, 0x00, 0x00, 0x18, 0x53, 0x79, 0x6F, 0x77, 0x61, 0x20, 0x53, 0x74, 0x61, 0x74, 
 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x45, 0x20, 0x4F, 0x6E, 0x67, 0x75, 0x6C, 0x20, 0x49, 
 
@@ -7080,7 +7080,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0xE9, 0x58, 0x89, 0x80, 
 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x7A, 0x7A, 0x7A, 
-0x00, 0x56, 0x4F, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xEB, 0xC0, 0x01, 0xB5, 
+0x00, 0x56, 0x4F, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB3, 0x3F, 0x01, 0xB5, 
 0xC6, 0x4F, 0x00, 0x00, 0x00, 0x1F, 0x56, 0x6F, 0x73, 0x74, 0x6F, 0x6B, 0x20, 0x53, 0x74, 0x61, 
 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x53, 0x20, 0x4D, 0x61, 0x67, 0x6E, 0x65, 0x74, 0x69, 0x63, 
 0x20, 0x50, 0x6F, 0x6C, 0x65, 
@@ -7635,15 +7635,15 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 /* Asia/Dacca */
 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1B, 0xCA, 0xDB, 0x86, 0xB0, 
+0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1B, 0xCA, 0xDB, 0x86, 0xB0, 
 0xCC, 0x05, 0x71, 0x18, 0xCC, 0x95, 0x32, 0xA8, 0xDD, 0xA8, 0xD2, 0x98, 0x02, 0x4F, 0x9D, 0x20, 
-0x4A, 0x3B, 0xD2, 0x20, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0x00, 0x00, 0x52, 0xD0, 0x00, 0x00, 
-0x00, 0x00, 0x5B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x4D, 0x58, 0x00, 0x09, 0x00, 0x00, 0x54, 0x60, 
-0x00, 0x0D, 0x00, 0x00, 0x54, 0x60, 0x00, 0x12, 0x00, 0x00, 0x62, 0x70, 0x01, 0x16, 0x48, 0x4D, 
-0x54, 0x00, 0x42, 0x55, 0x52, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x44, 0x41, 0x43, 0x54, 0x00, 
-0x42, 0x44, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 
-0x00, 
+0x4A, 0x3B, 0xC4, 0x10, 0x4B, 0x3C, 0xD8, 0x90, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0x04, 0x00, 
+0x00, 0x52, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x4D, 0x58, 0x00, 
+0x09, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0D, 0x00, 0x00, 0x54, 0x60, 0x00, 0x12, 0x00, 0x00, 0x62, 
+0x70, 0x01, 0x16, 0x48, 0x4D, 0x54, 0x00, 0x42, 0x55, 0x52, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 
+0x44, 0x41, 0x43, 0x54, 0x00, 0x42, 0x44, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 
+0xA8, 0x80, 0x00, 0x00, 0x00, 0x00, 
 
 /* Asia/Damascus */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -7704,15 +7704,15 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 /* Asia/Dhaka */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1B, 0xCA, 0xDB, 0x86, 0xB0, 
+0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1B, 0xCA, 0xDB, 0x86, 0xB0, 
 0xCC, 0x05, 0x71, 0x18, 0xCC, 0x95, 0x32, 0xA8, 0xDD, 0xA8, 0xD2, 0x98, 0x02, 0x4F, 0x9D, 0x20, 
-0x4A, 0x3B, 0xD2, 0x20, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0x00, 0x00, 0x52, 0xD0, 0x00, 0x00, 
-0x00, 0x00, 0x5B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x4D, 0x58, 0x00, 0x09, 0x00, 0x00, 0x54, 0x60, 
-0x00, 0x0D, 0x00, 0x00, 0x54, 0x60, 0x00, 0x12, 0x00, 0x00, 0x62, 0x70, 0x01, 0x16, 0x48, 0x4D, 
-0x54, 0x00, 0x42, 0x55, 0x52, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x44, 0x41, 0x43, 0x54, 0x00, 
-0x42, 0x44, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x84, 0x92, 0x01, 0x9C, 0x9F, 0x82, 0x00, 0x00, 0x00, 
-0x00, 
+0x4A, 0x3B, 0xC4, 0x10, 0x4B, 0x3C, 0xD8, 0x90, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0x04, 0x00, 
+0x00, 0x52, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x4D, 0x58, 0x00, 
+0x09, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0D, 0x00, 0x00, 0x54, 0x60, 0x00, 0x12, 0x00, 0x00, 0x62, 
+0x70, 0x01, 0x16, 0x48, 0x4D, 0x54, 0x00, 0x42, 0x55, 0x52, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 
+0x44, 0x41, 0x43, 0x54, 0x00, 0x42, 0x44, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x84, 0x92, 0x01, 0x9C, 
+0x9F, 0x82, 0x00, 0x00, 0x00, 0x00, 
 
 /* Asia/Dili */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -7722,8 +7722,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x75, 0xBC, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 
 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x08, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x70, 
 0x80, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4C, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x43, 
-0x49, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xF6, 
-0x18, 0x01, 0xD2, 0x48, 0x7D, 0x00, 0x00, 0x00, 0x00, 
+0x49, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x48, 
+0x68, 0x01, 0xD2, 0x48, 0x7D, 0x00, 0x00, 0x00, 0x00, 
 
 /* Asia/Dubai */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -7777,21 +7777,21 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x3D, 0xAF, 0x24, 0xD0, 0x3E, 0x9F, 0x23, 0xE0, 0x3F, 0x8F, 0x06, 0xD0, 0x40, 0x7F, 0x05, 0xE0, 
 0x41, 0x5C, 0x81, 0xE0, 0x42, 0x5E, 0xE7, 0xE0, 0x43, 0x41, 0xB7, 0xF0, 0x44, 0x2D, 0xA6, 0x60, 
 0x45, 0x12, 0xFD, 0x50, 0x46, 0x0E, 0xD9, 0xE0, 0x46, 0xE8, 0x6F, 0x70, 0x47, 0xF1, 0x5E, 0xE0, 
-0x48, 0xB7, 0x2D, 0xF0, 0x49, 0xCB, 0xFA, 0xE0, 0x4A, 0xBF, 0xEE, 0x70, 0x4B, 0xAB, 0xDC, 0xE0, 
-0x4C, 0x9F, 0xD0, 0x70, 0x4D, 0x8B, 0xBE, 0xE0, 0x4E, 0x7F, 0xB2, 0x70, 0x4F, 0x74, 0xDB, 0x60, 
-0x50, 0x5F, 0x94, 0x70, 0x51, 0x54, 0xBD, 0x60, 0x52, 0x48, 0xB0, 0xF0, 0x53, 0x34, 0x9F, 0x60, 
-0x54, 0x28, 0x92, 0xF0, 0x55, 0x14, 0x81, 0x60, 0x56, 0x08, 0x74, 0xF0, 0x56, 0xF4, 0x63, 0x60, 
-0x57, 0xE8, 0x56, 0xF0, 0x58, 0xDD, 0x7F, 0xE0, 0x59, 0xC8, 0x38, 0xF0, 0x5A, 0xBD, 0x61, 0xE0, 
-0x5B, 0xA8, 0x1A, 0xF0, 0x5C, 0x9D, 0x43, 0xE0, 0x5D, 0x91, 0x37, 0x70, 0x5E, 0x7D, 0x25, 0xE0, 
-0x5F, 0x71, 0x19, 0x70, 0x60, 0x5D, 0x07, 0xE0, 0x61, 0x50, 0xFB, 0x70, 0x62, 0x3C, 0xE9, 0xE0, 
-0x63, 0x30, 0xDD, 0x70, 0x64, 0x26, 0x06, 0x60, 0x65, 0x10, 0xBF, 0x70, 0x66, 0x05, 0xE8, 0x60, 
-0x66, 0xF9, 0xDB, 0xF0, 0x67, 0xE5, 0xCA, 0x60, 0x68, 0xD9, 0xBD, 0xF0, 0x69, 0xC5, 0xAC, 0x60, 
-0x6A, 0xB9, 0x9F, 0xF0, 0x6B, 0xA5, 0x8E, 0x60, 0x6C, 0x99, 0x81, 0xF0, 0x6D, 0x8E, 0xAA, 0xE0, 
-0x6E, 0x79, 0x63, 0xF0, 0x6F, 0x6E, 0x8C, 0xE0, 0x70, 0x59, 0x45, 0xF0, 0x71, 0x4E, 0x6E, 0xE0, 
-0x72, 0x42, 0x62, 0x70, 0x73, 0x2E, 0x50, 0xE0, 0x74, 0x22, 0x44, 0x70, 0x75, 0x0E, 0x32, 0xE0, 
-0x76, 0x02, 0x26, 0x70, 0x76, 0xEE, 0x14, 0xE0, 0x77, 0xE2, 0x08, 0x70, 0x78, 0xD7, 0x31, 0x60, 
-0x79, 0xC1, 0xEA, 0x70, 0x7A, 0xB7, 0x13, 0x60, 0x7B, 0xA1, 0xCC, 0x70, 0x7C, 0x96, 0xF5, 0x60, 
-0x7D, 0x8A, 0xE8, 0xF0, 0x7E, 0x76, 0xD7, 0x60, 0x7F, 0x6A, 0xCA, 0xF0, 0x00, 0x01, 0x00, 0x01, 
+0x48, 0xB7, 0x2D, 0xF0, 0x49, 0xCB, 0xFA, 0xE0, 0x4A, 0xA0, 0x4A, 0x70, 0x4B, 0xAB, 0xDC, 0xE0, 
+0x4C, 0x80, 0x2C, 0x70, 0x4D, 0x8B, 0xBE, 0xE0, 0x4E, 0x60, 0x0E, 0x70, 0x4F, 0x74, 0xDB, 0x60, 
+0x50, 0x49, 0x2A, 0xF0, 0x51, 0x54, 0xBD, 0x60, 0x52, 0x29, 0x0C, 0xF0, 0x53, 0x34, 0x9F, 0x60, 
+0x54, 0x08, 0xEE, 0xF0, 0x55, 0x14, 0x81, 0x60, 0x55, 0xE8, 0xD0, 0xF0, 0x56, 0xF4, 0x63, 0x60, 
+0x57, 0xC8, 0xB2, 0xF0, 0x58, 0xDD, 0x7F, 0xE0, 0x59, 0xA8, 0x94, 0xF0, 0x5A, 0xBD, 0x61, 0xE0, 
+0x5B, 0x91, 0xB1, 0x70, 0x5C, 0x9D, 0x43, 0xE0, 0x5D, 0x71, 0x93, 0x70, 0x5E, 0x7D, 0x25, 0xE0, 
+0x5F, 0x51, 0x75, 0x70, 0x60, 0x5D, 0x07, 0xE0, 0x61, 0x31, 0x57, 0x70, 0x62, 0x3C, 0xE9, 0xE0, 
+0x63, 0x11, 0x39, 0x70, 0x64, 0x26, 0x06, 0x60, 0x64, 0xF1, 0x1B, 0x70, 0x66, 0x05, 0xE8, 0x60, 
+0x66, 0xDA, 0x37, 0xF0, 0x67, 0xE5, 0xCA, 0x60, 0x68, 0xBA, 0x19, 0xF0, 0x69, 0xC5, 0xAC, 0x60, 
+0x6A, 0x99, 0xFB, 0xF0, 0x6B, 0xA5, 0x8E, 0x60, 0x6C, 0x79, 0xDD, 0xF0, 0x6D, 0x8E, 0xAA, 0xE0, 
+0x6E, 0x59, 0xBF, 0xF0, 0x6F, 0x6E, 0x8C, 0xE0, 0x70, 0x42, 0xDC, 0x70, 0x71, 0x4E, 0x6E, 0xE0, 
+0x72, 0x22, 0xBE, 0x70, 0x73, 0x2E, 0x50, 0xE0, 0x74, 0x02, 0xA0, 0x70, 0x75, 0x0E, 0x32, 0xE0, 
+0x75, 0xE2, 0x82, 0x70, 0x76, 0xEE, 0x14, 0xE0, 0x77, 0xC2, 0x64, 0x70, 0x78, 0xD7, 0x31, 0x60, 
+0x79, 0xA2, 0x46, 0x70, 0x7A, 0xB7, 0x13, 0x60, 0x7B, 0x8B, 0x62, 0xF0, 0x7C, 0x96, 0xF5, 0x60, 
+0x7D, 0x6B, 0x44, 0xF0, 0x7E, 0x76, 0xD7, 0x60, 0x7F, 0x4B, 0x26, 0xF0, 0x00, 0x01, 0x00, 0x01, 
 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 
 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 
@@ -8014,7 +8014,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x0D, 0x00, 0x00, 0x70, 0x80, 0x00, 0x09, 0x00, 0x00, 0x62, 
 0x70, 0x00, 0x09, 0x4A, 0x4D, 0x54, 0x00, 0x4A, 0x41, 0x56, 0x54, 0x00, 0x57, 0x49, 0x54, 0x00, 
 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x80, 0x6D, 0x9A, 0x01, 0xB5, 0x9F, 0x40, 0x00, 0x00, 0x00, 0x0E, 0x4A, 0x61, 0x76, 0x61, 
+0x00, 0x7F, 0xEB, 0x65, 0x01, 0xB5, 0x9F, 0x40, 0x00, 0x00, 0x00, 0x0E, 0x4A, 0x61, 0x76, 0x61, 
 0x20, 0x26, 0x20, 0x53, 0x75, 0x6D, 0x61, 0x74, 0x72, 0x61, 
 
 /* Asia/Jayapura */
@@ -8024,7 +8024,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xD0, 0x58, 0xB9, 0xF0, 0xF4, 0xB5, 0xA2, 0x68, 0x01, 0x02, 0x01, 0x00, 0x00, 0x83, 0xE8, 0x00, 
 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x85, 0x98, 0x00, 0x08, 0x4C, 0x4D, 0x54, 
 0x00, 0x45, 0x49, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x87, 0x17, 0x55, 0x01, 0xE9, 0x59, 0x70, 0x00, 0x00, 0x00, 0x19, 0x49, 0x72, 0x69, 0x61, 0x6E, 
+0x85, 0x76, 0xAA, 0x01, 0xE9, 0x59, 0x70, 0x00, 0x00, 0x00, 0x19, 0x49, 0x72, 0x69, 0x61, 0x6E, 
 0x20, 0x4A, 0x61, 0x79, 0x61, 0x20, 0x26, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4D, 0x6F, 0x6C, 0x75, 
 0x63, 0x63, 0x61, 0x73, 
 
@@ -8385,7 +8385,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 
 0x00, 0x08, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x4D, 0x54, 0x00, 
 0x43, 0x49, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x81, 0xE0, 0xB2, 0x01, 0xC8, 0xD9, 0x1F, 0x00, 0x00, 0x00, 0x3D, 0x65, 0x61, 0x73, 0x74, 
+0x00, 0x81, 0x85, 0x8D, 0x01, 0xC8, 0xD9, 0x1F, 0x00, 0x00, 0x00, 0x3D, 0x65, 0x61, 0x73, 0x74, 
 0x20, 0x26, 0x20, 0x73, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x42, 0x6F, 0x72, 0x6E, 0x65, 0x6F, 0x2C, 
 0x20, 0x43, 0x65, 0x6C, 0x65, 0x62, 0x65, 0x73, 0x2C, 0x20, 0x42, 0x61, 0x6C, 0x69, 0x2C, 0x20, 
 0x4E, 0x75, 0x73, 0x61, 0x20, 0x54, 0x65, 0x6E, 0x67, 0x61, 0x72, 0x72, 0x61, 0x2C, 0x20, 0x77, 
@@ -8611,7 +8611,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x08, 0x00, 0x00, 0x70, 0x80, 0x00, 0x10, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x4C, 0x4D, 
 0x54, 0x00, 0x50, 0x4D, 0x54, 0x00, 0x57, 0x49, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x43, 0x49, 
 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x89, 0x61, 0x45, 0x01, 0xB9, 0x7C, 0xD5, 0x00, 0x00, 0x00, 0x15, 0x77, 0x65, 0x73, 0x74, 
+0x00, 0x89, 0x47, 0x3A, 0x01, 0xB9, 0x7C, 0xD5, 0x00, 0x00, 0x00, 0x15, 0x77, 0x65, 0x73, 0x74, 
 0x20, 0x26, 0x20, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x42, 0x6F, 0x72, 0x6E, 0x65, 
 0x6F, 
 
@@ -9367,7 +9367,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x48, 0x4D, 0x54, 0x00, 0x41, 0x5A, 0x4F, 0x53, 0x54, 0x00, 0x41, 0x5A, 0x4F, 0x54, 0x00, 0x41, 
 0x5A, 0x4F, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 
 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
-0x01, 0x00, 0xC2, 0xE7, 0xD5, 0x00, 0xED, 0x87, 0x4A, 0x00, 0x00, 0x00, 0x06, 0x41, 0x7A, 0x6F, 
+0x01, 0x00, 0xC2, 0xE7, 0xD5, 0x00, 0xEB, 0x7E, 0x75, 0x00, 0x00, 0x00, 0x06, 0x41, 0x7A, 0x6F, 
 0x72, 0x65, 0x73, 
 
 /* Atlantic/Bermuda */
@@ -9416,7 +9416,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 
 0x01, 0xFF, 0xFF, 0xC3, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 
 0xD0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x96, 0xED, 0x00, 0xB2, 0x2B, 0xFA, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x96, 0xED, 0x00, 0xAF, 0xD5, 0x05, 0x00, 0x00, 0x00, 
 0x00, 
 
 /* Atlantic/Canary */
@@ -9464,7 +9464,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0D, 0x4C, 0x4D, 
 0x54, 0x00, 0x43, 0x41, 0x4E, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xB4, 0x34, 0xD0, 
-0x00, 0xFC, 0x61, 0x60, 0x00, 0x00, 0x00, 0x0E, 0x43, 0x61, 0x6E, 0x61, 0x72, 0x79, 0x20, 0x49, 
+0x00, 0xFB, 0x28, 0xE0, 0x00, 0x00, 0x00, 0x0E, 0x43, 0x61, 0x6E, 0x61, 0x72, 0x79, 0x20, 0x49, 
 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Atlantic/Cape_Verde */
@@ -9475,7 +9475,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0xE9, 0xF4, 0x00, 0x00, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 
 0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x56, 0x54, 0x00, 
 0x43, 0x56, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x17, 
-0x12, 0x00, 0xF0, 0x59, 0xF2, 0x00, 0x00, 0x00, 0x00, 
+0x12, 0x00, 0xEE, 0xC6, 0x4D, 0x00, 0x00, 0x00, 0x00, 
 
 /* Atlantic/Faeroe */
 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -9564,7 +9564,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xF9, 0xA8, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 
-0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0xE7, 0xF5, 0x82, 0x01, 0x0A, 0xAC, 0x3A, 
+0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0xE7, 0xF5, 0x82, 0x01, 0x08, 0x55, 0x45, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Atlantic/Jan_Mayen */
@@ -9701,7 +9701,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x44, 0x53, 0x54, 0x00, 0x4D, 0x41, 0x44, 0x54, 0x00, 0x4D, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x57, 
 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 
 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xBB, 
-0x1F, 0xA5, 0x00, 0xFB, 0x9E, 0x10, 0x00, 0x00, 0x00, 0x0F, 0x4D, 0x61, 0x64, 0x65, 0x69, 0x72, 
+0x1F, 0xA5, 0x00, 0xF8, 0xDE, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x4D, 0x61, 0x64, 0x65, 0x69, 0x72, 
 0x61, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Atlantic/Reykjavik */
@@ -9732,13 +9732,13 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x01, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 
 0x52, 0x4D, 0x54, 0x00, 0x49, 0x53, 0x53, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 
 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x36, 
-0xD8, 0x00, 0xF3, 0xE9, 0x68, 0x00, 0x00, 0x00, 0x00, 
+0xD8, 0x00, 0xF1, 0x51, 0x58, 0x00, 0x00, 0x00, 0x00, 
 
 /* Atlantic/South_Georgia */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 
-0x00, 0x00, 0x47, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x37, 0x56, 0xAA, 0x00, 0xDC, 0x8A, 0x55, 
+0x00, 0x00, 0x47, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x36, 0x86, 0x55, 0x00, 0xDA, 0xE9, 0xAA, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Atlantic/Stanley */
@@ -9786,7 +9786,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xC9, 0xC4, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 
 0xFF, 0xC7, 0xC0, 0x00, 0x09, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 
 0x09, 0x53, 0x4D, 0x54, 0x00, 0x46, 0x4B, 0x53, 0x54, 0x00, 0x46, 0x4B, 0x54, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0xD0, 0x00, 0xBC, 0xFA, 0xE8, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x70, 0xEF, 0x00, 0xBA, 0x62, 0xD8, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Atlantic/St_Helena */
@@ -9794,8 +9794,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDC, 0x42, 0x9B, 0x58, 
 0x01, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4A, 0x4D, 0x54, 
-0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0xD6, 0xF2, 0x01, 0x0C, 0x18, 
-0xD0, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 
+0xF0, 0x00, 0x00, 0x00, 0x00, 
 
 /* Australia/ACT */
 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -9899,7 +9899,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x93, 
 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 
 0x00, 0x85, 0x98, 0x00, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x56, 0xD9, 0x12, 0x01, 0xE6, 0x1E, 0x9D, 0x00, 0x00, 0x00, 0x0F, 0x53, 0x6F, 0x75, 
+0x00, 0x00, 0x54, 0x0C, 0xED, 0x01, 0xE6, 0x1E, 0x9D, 0x00, 0x00, 0x00, 0x0F, 0x53, 0x6F, 0x75, 
 0x74, 0x68, 0x20, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6C, 0x69, 0x61, 
 
 /* Australia/Brisbane */
@@ -9913,7 +9913,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x9A, 0xB0, 
 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 
 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x60, 0xD7, 0xAA, 0x01, 0xFC, 0x2B, 0x25, 0x00, 0x00, 0x00, 0x1B, 0x51, 0x75, 0x65, 0x65, 
+0x00, 0x5F, 0x6B, 0x15, 0x01, 0xFC, 0x2B, 0x25, 0x00, 0x00, 0x00, 0x1B, 0x51, 0x75, 0x65, 0x65, 
 0x6E, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 
 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
 
@@ -9967,7 +9967,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 
 0x03, 0x02, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 0x00, 0x00, 
 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 
-0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x79, 0xF8, 0x01, 0xEA, 0x7E, 0x68, 0x00, 0x00, 
+0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x93, 0xC8, 0x01, 0xEA, 0x7E, 0x68, 0x00, 0x00, 
 0x00, 0x1C, 0x4E, 0x65, 0x77, 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x57, 0x61, 0x6C, 0x65, 
 0x73, 0x20, 0x2D, 0x20, 0x59, 0x61, 0x6E, 0x63, 0x6F, 0x77, 0x69, 0x6E, 0x6E, 0x61, 
 
@@ -10073,7 +10073,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x8C, 
 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 
 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x4F, 0x3E, 0x75, 0x01, 0xEE, 0x2E, 0x6A, 0x00, 0x00, 0x00, 0x16, 0x54, 0x61, 0x73, 
+0x00, 0x00, 0x4C, 0x65, 0x4A, 0x01, 0xEE, 0x2E, 0x6A, 0x00, 0x00, 0x00, 0x16, 0x54, 0x61, 0x73, 
 0x6D, 0x61, 0x6E, 0x69, 0x61, 0x20, 0x2D, 0x20, 0x4B, 0x69, 0x6E, 0x67, 0x20, 0x49, 0x73, 0x6C, 
 0x61, 0x6E, 0x64, 
 
@@ -10084,7 +10084,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x9C, 0xBC, 0x27, 0xF8, 0xCB, 0x54, 0xBA, 0x08, 0xCB, 0xC7, 0x5E, 0x78, 0xCC, 0xB7, 0x5D, 0x88, 
 0xCD, 0xA7, 0x40, 0x78, 0xCE, 0xA0, 0x7A, 0x08, 0xCF, 0x87, 0x22, 0x78, 0x00, 0x01, 0x00, 0x01, 
 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 
-0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0xBB, 0x0A, 0x01, 0xDA, 0x4B, 0x45, 
+0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x4E, 0x75, 0x01, 0xDA, 0x4B, 0x45, 
 0x00, 0x00, 0x00, 0x12, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x65, 0x72, 
 0x72, 0x69, 0x74, 0x6F, 0x72, 0x79, 
 
@@ -10099,7 +10099,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x49, 0xCE, 0x5B, 0x14, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 
 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x89, 0x1C, 0x01, 0x00, 0x00, 0x00, 0x7B, 0x0C, 
 0x00, 0x00, 0x00, 0x00, 0x89, 0x1C, 0x01, 0x00, 0x00, 0x00, 0x7B, 0x0C, 0x00, 0x00, 0x43, 0x57, 
-0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x1E, 0xD2, 0x01, 
+0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xEE, 0xED, 0x01, 
 0xD7, 0x4B, 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x41, 
 0x75, 0x73, 0x74, 0x72, 0x61, 0x6C, 0x69, 0x61, 0x20, 0x2D, 0x20, 0x45, 0x75, 0x63, 0x6C, 0x61, 
 0x20, 0x61, 0x72, 0x65, 0x61, 
@@ -10156,7 +10156,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 
 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 
 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 
-0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x97, 0x0D, 0x01, 0xF3, 0x72, 
+0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE4, 0xF2, 0x01, 0xF3, 0x72, 
 0x12, 0x00, 0x00, 0x00, 0x19, 0x54, 0x61, 0x73, 0x6D, 0x61, 0x6E, 0x69, 0x61, 0x20, 0x2D, 0x20, 
 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
 
@@ -10216,7 +10216,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 
 0x01, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 
 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 
-0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x37, 0xEA, 0x01, 0xF6, 0x03, 
+0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0x67, 0x95, 0x01, 0xF6, 0x03, 
 0xA0, 0x00, 0x00, 0x00, 0x1C, 0x51, 0x75, 0x65, 0x65, 0x6E, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x20, 
 0x2D, 0x20, 0x48, 0x6F, 0x6C, 0x69, 0x64, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 
 0x73, 
@@ -10263,7 +10263,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xB8, 
 0x01, 0x04, 0x00, 0x00, 0x93, 0xA8, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x04, 0x45, 0x53, 
 0x54, 0x00, 0x4C, 0x48, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x5A, 0xDD, 0xB8, 0x02, 0x05, 0x66, 0x6D, 0x00, 0x00, 0x00, 0x10, 0x4C, 0x6F, 0x72, 0x64, 0x20, 
+0x59, 0x30, 0x08, 0x02, 0x05, 0x66, 0x6D, 0x00, 0x00, 0x00, 0x10, 0x4C, 0x6F, 0x72, 0x64, 0x20, 
 0x48, 0x6F, 0x77, 0x65, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 
 
 /* Australia/Melbourne */
@@ -10316,7 +10316,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x9A, 
 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 
 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x52, 0x1E, 0x22, 0x01, 0xEF, 0xDC, 0x1A, 0x00, 0x00, 0x00, 0x08, 0x56, 0x69, 0x63, 
+0x00, 0x00, 0x4F, 0xA0, 0x1D, 0x01, 0xEF, 0xDC, 0x1A, 0x00, 0x00, 0x00, 0x08, 0x56, 0x69, 0x63, 
 0x74, 0x6F, 0x72, 0x69, 0x61, 
 
 /* Australia/North */
@@ -10392,7 +10392,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x49, 0xCE, 0x65, 0xA0, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 
 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 
 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x57, 0x53, 
-0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x79, 0xF8, 0x01, 0xC3, 
+0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x93, 0xC8, 0x01, 0xC3, 
 0x6E, 0x68, 0x00, 0x00, 0x00, 0x22, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x41, 0x75, 
 0x73, 0x74, 0x72, 0x61, 0x6C, 0x69, 0x61, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 
 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
@@ -10512,7 +10512,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x9A, 
 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 
 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x58, 0x4C, 0x2A, 0x01, 0xF9, 0x65, 0x82, 0x00, 0x00, 0x00, 0x20, 0x4E, 0x65, 0x77, 
+0x00, 0x00, 0x55, 0xA7, 0x15, 0x01, 0xF9, 0x65, 0x82, 0x00, 0x00, 0x00, 0x20, 0x4E, 0x65, 0x77, 
 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x57, 0x61, 0x6C, 0x65, 0x73, 0x20, 0x2D, 0x20, 0x6D, 
 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
 
@@ -11701,7 +11701,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x3F, 0x73, 0x57, 0x50, 0x40, 0x91, 0x7A, 0xE0, 0x41, 0x5C, 0x73, 0xD0, 0x42, 0x71, 0x5C, 0xE0, 
 0x43, 0x3C, 0x55, 0xD0, 0x44, 0x51, 0x3E, 0xE0, 0x45, 0x12, 0xFD, 0x50, 0x46, 0x31, 0x20, 0xE0, 
 0x46, 0xE0, 0x6A, 0x50, 0x48, 0x11, 0x02, 0xE0, 0x48, 0xB7, 0x11, 0xD0, 0x49, 0xF0, 0xE4, 0xE0, 
-0x4A, 0xBB, 0xDD, 0xD0, 0x4B, 0xDA, 0x01, 0x60, 0x4C, 0xA4, 0xFA, 0x50, 0x4D, 0xB9, 0xE3, 0x60, 
+0x4A, 0x8D, 0xB9, 0x50, 0x4B, 0xDA, 0x01, 0x60, 0x4C, 0xA4, 0xFA, 0x50, 0x4D, 0xB9, 0xE3, 0x60, 
 0x4E, 0x84, 0xDC, 0x50, 0x4F, 0x99, 0xC5, 0x60, 0x50, 0x64, 0xBE, 0x50, 0x51, 0x79, 0xA7, 0x60, 
 0x52, 0x44, 0xA0, 0x50, 0x53, 0x59, 0x89, 0x60, 0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 
 0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 
@@ -12905,7 +12905,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x0C, 0x44, 0x4D, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 
 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xDA, 0xB5, 0x95, 0x01, 0x09, 0xE2, 0x68, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xDA, 0xB5, 0x95, 0x01, 0x09, 0x1F, 0x18, 0x00, 0x00, 0x00, 
 0x00, 
 
 /* Europe/Gibraltar */
@@ -12978,7 +12978,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x20, 0x01, 0x11, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 
 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x01, 
 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xC0, 0x76, 0xD5, 0x01, 
-0x0B, 0x90, 0x18, 0x00, 0x00, 0x00, 0x00, 
+0x0A, 0x7E, 0xA8, 0x00, 0x00, 0x00, 0x00, 
 
 /* Europe/Guernsey */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -13064,7 +13064,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x0E, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 
 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x01, 0x01, 0x01, 
 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xD4, 0xC8, 0xA7, 0x01, 
-0x10, 0x6B, 0x95, 0x00, 0x00, 0x00, 0x00, 
+0x0E, 0xCA, 0xEA, 0x00, 0x00, 0x00, 0x00, 
 
 /* Europe/Helsinki */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -13196,7 +13196,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x0E, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 
 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x01, 0x01, 0x01, 
 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xDB, 0xF4, 0x98, 0x01, 
-0x0D, 0x44, 0x4A, 0x00, 0x00, 0x00, 0x00, 
+0x0B, 0xD7, 0xB5, 0x00, 0x00, 0x00, 0x00, 
 
 /* Europe/Istanbul */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -13347,7 +13347,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x0E, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 
 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x01, 0x01, 0x01, 
 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xD4, 0x66, 0xFF, 0x01, 
-0x0F, 0xC8, 0xD2, 0x00, 0x00, 0x00, 0x00, 
+0x0F, 0x6D, 0xAD, 0x00, 0x00, 0x00, 0x00, 
 
 /* Europe/Kaliningrad */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -13538,7 +13538,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x4D, 0x54, 
 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 
 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 
-0x00, 0xC4, 0x67, 0xF2, 0x01, 0x05, 0x20, 0xF5, 0x00, 0x00, 0x00, 0x08, 0x6D, 0x61, 0x69, 0x6E, 
+0x00, 0xC4, 0x67, 0xF2, 0x01, 0x04, 0xB8, 0xCA, 0x00, 0x00, 0x00, 0x08, 0x6D, 0x61, 0x69, 0x6E, 
 0x6C, 0x61, 0x6E, 0x64, 
 
 /* Europe/Ljubljana */
@@ -13672,7 +13672,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x0E, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 
 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x01, 0x01, 0x01, 
 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xD7, 0xEC, 0xB1, 0x01, 
-0x12, 0xD9, 0x6F, 0x00, 0x00, 0x00, 0x00, 
+0x12, 0x77, 0x90, 0x00, 0x00, 0x00, 0x00, 
 
 /* Europe/Luxembourg */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4C, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -13806,7 +13806,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x1C, 0x20, 0x01, 0x0E, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x13, 0x57, 0x45, 0x53, 0x54, 0x00, 
 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 
 0x54, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x01, 0x00, 0xC6, 0xF9, 0x80, 0x01, 0x0F, 0x1F, 0x8D, 0x00, 0x00, 0x00, 0x08, 0x6D, 0x61, 
+0x01, 0x01, 0x00, 0xC6, 0xF9, 0x80, 0x01, 0x0D, 0x09, 0xB2, 0x00, 0x00, 0x00, 0x08, 0x6D, 0x61, 
 0x69, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 
 
 /* Europe/Malta */
@@ -15830,7 +15830,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xE2, 0x33, 0xC0, 0xC0, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2C, 0x8C, 0x00, 
 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x00, 0x00, 0x2A, 
 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, 
-0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x43, 0x12, 0x01, 0x5B, 0x29, 0xB2, 
+0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, 0xB2, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Indian/Chagos */
@@ -15839,21 +15839,21 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x89, 0x7E, 0xF7, 0x9C, 
 0x30, 0xE6, 0xDD, 0xB0, 0x01, 0x02, 0x00, 0x00, 0x43, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 
 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4F, 0x54, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x28, 0x15, 0x01, 0x81, 0x28, 0x42, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x23, 0xAA, 0x01, 0x81, 0x28, 0x42, 0x00, 0x00, 
 0x00, 0x00, 
 
 /* Indian/Christmas */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 
-0x00, 0x00, 0x43, 0x58, 0x54, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB4, 0xC2, 0x01, 0xB3, 0xF8, 0x12, 
+0x00, 0x00, 0x43, 0x58, 0x54, 0x00, 0x00, 0x00, 0x00, 0x79, 0x6F, 0x3D, 0x01, 0xB3, 0xF8, 0x12, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Indian/Cocos */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x5B, 0x68, 
-0x00, 0x00, 0x43, 0x43, 0x54, 0x00, 0x00, 0x00, 0x00, 0x77, 0x45, 0xDA, 0x01, 0xA6, 0x8A, 0x92, 
+0x00, 0x00, 0x43, 0x43, 0x54, 0x00, 0x00, 0x00, 0x00, 0x76, 0xC3, 0xA5, 0x01, 0xA6, 0x8A, 0x92, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Indian/Comoro */
@@ -15861,7 +15861,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD1, 0xF0, 
 0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x45, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x96, 0x4D, 0x01, 0x54, 0xAD, 
+0x00, 0x45, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 
 0x8A, 0x00, 0x00, 0x00, 0x00, 
 
 /* Indian/Kerguelen */
@@ -15869,7 +15869,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDA, 0x61, 0x62, 0x80, 
 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x7A, 0x7A, 0x7A, 
-0x00, 0x54, 0x46, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x19, 0x6D, 0x01, 0x7D, 0xCD, 
+0x00, 0x54, 0x46, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x05, 0xD2, 0x01, 0x7D, 0xCD, 
 0x36, 0x00, 0x00, 0x00, 0x00, 
 
 /* Indian/Mahe */
@@ -15877,7 +15877,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x88, 0x64, 0xE6, 0x84, 
 0x01, 0x00, 0x00, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x53, 0x43, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x3E, 0x2A, 0x01, 0x67, 0x4B, 
+0x00, 0x53, 0x43, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x35, 0x55, 0x01, 0x67, 0x4B, 
 0x2A, 0x00, 0x00, 0x00, 0x00, 
 
 /* Indian/Maldives */
@@ -15890,39 +15890,20 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 
 /* Indian/Mauritius */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, 0x89, 0x7F, 0x05, 0x98, 
-0x18, 0x05, 0xED, 0x40, 0x18, 0xDB, 0x72, 0x30, 0x49, 0x03, 0x96, 0xE0, 0x49, 0xCE, 0x9D, 0xE0, 
-0x4A, 0xE3, 0x78, 0xE0, 0x4B, 0xAE, 0x7F, 0xE0, 0x4C, 0xCC, 0x95, 0x60, 0x4D, 0x8E, 0x61, 0xE0, 
-0x4E, 0xAC, 0x77, 0x60, 0x4F, 0x6E, 0x43, 0xE0, 0x50, 0x8C, 0x59, 0x60, 0x51, 0x57, 0x60, 0x60, 
-0x52, 0x6C, 0x3B, 0x60, 0x53, 0x37, 0x42, 0x60, 0x54, 0x4C, 0x1D, 0x60, 0x55, 0x17, 0x24, 0x60, 
-0x56, 0x2B, 0xFF, 0x60, 0x56, 0xF7, 0x06, 0x60, 0x58, 0x15, 0x1B, 0xE0, 0x58, 0xD6, 0xE8, 0x60, 
-0x59, 0xF4, 0xFD, 0xE0, 0x5A, 0xB6, 0xCA, 0x60, 0x5B, 0xD4, 0xDF, 0xE0, 0x5C, 0x9F, 0xE6, 0xE0, 
-0x5D, 0xB4, 0xC1, 0xE0, 0x5E, 0x7F, 0xC8, 0xE0, 0x5F, 0x94, 0xA3, 0xE0, 0x60, 0x5F, 0xAA, 0xE0, 
-0x61, 0x7D, 0xC0, 0x60, 0x62, 0x3F, 0x8C, 0xE0, 0x63, 0x5D, 0xA2, 0x60, 0x64, 0x1F, 0x6E, 0xE0, 
-0x65, 0x3D, 0x84, 0x60, 0x66, 0x08, 0x8B, 0x60, 0x67, 0x1D, 0x66, 0x60, 0x67, 0xE8, 0x6D, 0x60, 
-0x68, 0xFD, 0x48, 0x60, 0x69, 0xC8, 0x4F, 0x60, 0x6A, 0xDD, 0x2A, 0x60, 0x6B, 0xA8, 0x31, 0x60, 
-0x6C, 0xC6, 0x46, 0xE0, 0x6D, 0x88, 0x13, 0x60, 0x6E, 0xA6, 0x28, 0xE0, 0x6F, 0x67, 0xF5, 0x60, 
-0x70, 0x86, 0x0A, 0xE0, 0x71, 0x51, 0x11, 0xE0, 0x72, 0x65, 0xEC, 0xE0, 0x73, 0x30, 0xF3, 0xE0, 
-0x74, 0x45, 0xCE, 0xE0, 0x75, 0x10, 0xD5, 0xE0, 0x76, 0x2E, 0xEB, 0x60, 0x76, 0xF0, 0xB7, 0xE0, 
-0x78, 0x0E, 0xCD, 0x60, 0x78, 0xD0, 0x99, 0xE0, 0x79, 0xEE, 0xAF, 0x60, 0x7A, 0xB0, 0x7B, 0xE0, 
-0x7B, 0xCE, 0x91, 0x60, 0x7C, 0x99, 0x98, 0x60, 0x7D, 0xAE, 0x73, 0x60, 0x7E, 0x79, 0x7A, 0x60, 
-0x7F, 0x8E, 0x55, 0x60, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 
-0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 
-0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 
-0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 
-0x04, 0x03, 0x00, 0x00, 0x35, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x01, 0x04, 0x00, 0x00, 
-0x38, 0x40, 0x00, 0x09, 0x00, 0x00, 0x46, 0x50, 0x01, 0x04, 0x00, 0x00, 0x38, 0x40, 0x00, 0x09, 
-0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x55, 0x53, 0x54, 0x00, 0x4D, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x10, 0xDA, 0x01, 0x6A, 0x65, 0x70, 0x00, 
-0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x89, 0x7F, 0x05, 0x98, 
+0x18, 0x05, 0xED, 0x40, 0x18, 0xDB, 0x72, 0x30, 0x49, 0x03, 0x96, 0xE0, 0x49, 0xCE, 0x8F, 0xD0, 
+0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x35, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x01, 
+0x04, 0x00, 0x00, 0x38, 0x40, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x55, 0x53, 0x54, 0x00, 
+0x4D, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0x8E, 0xA5, 0x01, 0x6A, 
+0x65, 0x70, 0x00, 0x00, 0x00, 0x00, 
 
 /* Indian/Mayotte */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x59, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD0, 0x18, 
 0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x45, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x36, 0xBD, 0x01, 0x57, 0xAD, 
+0x00, 0x45, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 
 0xC5, 0x00, 0x00, 0x00, 0x00, 
 
 /* Indian/Reunion */
@@ -15930,7 +15911,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xCC, 0x39, 0x80, 
 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x52, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x22, 0x4A, 0x01, 0x67, 0x4B, 
+0x00, 0x52, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x7D, 0x35, 0x01, 0x67, 0x4B, 
 0x2A, 0x00, 0x00, 0x00, 0x00, 
 
 /* Iran */
@@ -16497,12 +16478,13 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 
 /* Pacific/Apia */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x57, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x91, 0x05, 0xFC, 0x00, 
-0xDA, 0x62, 0x04, 0x38, 0x01, 0x02, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 
-0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 
-0x00, 0x57, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xC3, 0xA5, 0x00, 
-0x0E, 0xDA, 0x15, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x91, 0x05, 0xFC, 0x00, 
+0xDA, 0x62, 0x04, 0x38, 0x4A, 0xC8, 0x80, 0x30, 0x4B, 0xAF, 0x28, 0xA0, 0x01, 0x02, 0x03, 0x02, 
+0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50, 
+0x00, 0x09, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 
+0x00, 0x57, 0x53, 0x54, 0x00, 0x57, 0x53, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x74, 0x38, 0x9A, 0x00, 0x0C, 0x9D, 0x2A, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Auckland */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4E, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -16560,7 +16542,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0xA8, 0xC0, 0x01, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0A, 0x00, 0x00, 0xA8, 0xC0, 0x00, 
 0x00, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 
 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x53, 0xB8, 0x4A, 0x02, 0x1D, 0x54, 0xBA, 0x00, 0x00, 0x00, 0x0E, 0x6D, 0x6F, 
+0x00, 0x00, 0x00, 0x51, 0x13, 0x35, 0x02, 0x1D, 0x54, 0xBA, 0x00, 0x00, 0x00, 0x0E, 0x6D, 0x6F, 
 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 
 
 /* Pacific/Chatham */
@@ -16609,8 +16591,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0xAB, 0xFC, 
 0x00, 0x00, 0x00, 0x00, 0xC1, 0x5C, 0x01, 0x04, 0x00, 0x00, 0xB3, 0x4C, 0x00, 0x0A, 0x00, 0x00, 
 0xB3, 0x4C, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x48, 0x41, 0x44, 0x54, 0x00, 0x43, 0x48, 
-0x41, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x2A, 0x78, 
-0x00, 0x06, 0xF1, 0x58, 0x00, 0x00, 0x00, 0x0F, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6D, 0x20, 
+0x41, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x44, 0x48, 
+0x00, 0x05, 0x43, 0xA7, 0x00, 0x00, 0x00, 0x0F, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6D, 0x20, 
 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Pacific/Easter */
@@ -16665,7 +16647,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x09, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x09, 0xFF, 
 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x09, 0x45, 0x4D, 0x54, 0x00, 0x45, 
 0x41, 0x53, 0x54, 0x00, 0x45, 0x41, 0x53, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 
-0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x60, 0x5B, 0xF8, 0x00, 0x6C, 0xFF, 0xA5, 0x00, 0x00, 
+0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x5F, 0xE6, 0xC8, 0x00, 0x6B, 0xAD, 0x1A, 0x00, 0x00, 
 0x00, 0x1C, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x20, 
 0x26, 0x20, 0x53, 0x61, 0x6C, 0x61, 0x20, 0x79, 0x20, 0x47, 0x6F, 0x6D, 0x65, 0x7A, 
 
@@ -16681,7 +16663,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x9D, 0xCC, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC0, 0x01, 
 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x56, 0x55, 0x53, 0x54, 0x00, 
-0x56, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x68, 0x0A, 0x02, 0x13, 
+0x56, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x5F, 0x35, 0x02, 0x13, 
 0xA4, 0x42, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Enderbury */
@@ -16690,14 +16672,14 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x12, 0x56, 0x04, 0xC0, 
 0x2F, 0x06, 0x8B, 0x30, 0x01, 0x02, 0xFF, 0xFF, 0x57, 0x40, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 
 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x00, 0x00, 0x50, 0x48, 0x4F, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x84, 0xF4, 0x75, 0x00, 0x0D, 0xDC, 0x2D, 0x00, 0x00, 0x00, 0x0F, 0x50, 
+0x00, 0x00, 0x00, 0x00, 0x84, 0x8C, 0x4A, 0x00, 0x0D, 0x9B, 0x12, 0x00, 0x00, 0x00, 0x0F, 0x50, 
 0x68, 0x6F, 0x65, 0x6E, 0x69, 0x78, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Pacific/Fakaofo */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, 
-0x00, 0x00, 0x54, 0x4B, 0x54, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x27, 0xDA, 0x00, 0x0E, 0x16, 0xC5, 
+0x00, 0x00, 0x54, 0x4B, 0x54, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x09, 0x65, 0x00, 0x0D, 0x60, 0x7A, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Fiji */
@@ -16707,14 +16689,14 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x36, 0x3B, 0x17, 0xE0, 0x36, 0xD7, 0xFA, 0x60, 0x38, 0x24, 0x34, 0x60, 0x38, 0xB7, 0xDC, 0x60, 
 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0xA7, 0x44, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 
 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4A, 0x53, 0x54, 0x00, 
-0x46, 0x4A, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x11, 0x15, 0x02, 0x22, 
+0x46, 0x4A, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0xA8, 0xEA, 0x02, 0x22, 
 0xE6, 0x82, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Funafuti */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 
-0x00, 0x00, 0x54, 0x56, 0x54, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xE9, 0x12, 0x02, 0x24, 0x1F, 0x02, 
+0x00, 0x00, 0x54, 0x56, 0x54, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x55, 0x6D, 0x02, 0x24, 0x1F, 0x02, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Galapagos */
@@ -16723,8 +16705,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xB6, 0xA4, 0x4C, 0x80, 
 0x1E, 0x18, 0xC4, 0x50, 0x01, 0x02, 0xFF, 0xFF, 0xAC, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 
 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x43, 0x54, 0x00, 
-0x47, 0x41, 0x4C, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xB3, 0xD0, 0x00, 
-0x8B, 0xC5, 0x40, 0x00, 0x00, 0x00, 0x11, 0x47, 0x61, 0x6C, 0x61, 0x70, 0x61, 0x67, 0x6F, 0x73, 
+0x47, 0x41, 0x4C, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xF4, 0xB0, 0x00, 
+0x89, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x11, 0x47, 0x61, 0x6C, 0x61, 0x70, 0x61, 0x67, 0x6F, 0x73, 
 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Pacific/Gambier */
@@ -16732,8 +16714,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x94, 0x50, 0x48, 0x04, 
 0x01, 0xFF, 0xFF, 0x81, 0x7C, 0x00, 0x00, 0xFF, 0xFF, 0x81, 0x70, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x47, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x6F, 0xF5, 0x00, 0x47, 
-0xA3, 0xD7, 0x00, 0x00, 0x00, 0x0F, 0x47, 0x61, 0x6D, 0x62, 0x69, 0x65, 0x72, 0x20, 0x49, 0x73, 
+0x00, 0x47, 0x41, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x07, 0xCA, 0x00, 0x44, 
+0xBD, 0xA8, 0x00, 0x00, 0x00, 0x0F, 0x47, 0x61, 0x6D, 0x62, 0x69, 0x65, 0x72, 0x20, 0x49, 0x73, 
 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Pacific/Guadalcanal */
@@ -16741,7 +16723,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x94, 0x4F, 0x33, 0x8C, 
 0x01, 0x00, 0x00, 0x95, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x53, 0x42, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x68, 0xF5, 0x02, 0x07, 0x1A, 
+0x00, 0x53, 0x42, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xC8, 0x4A, 0x02, 0x07, 0x1A, 
 0xA0, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Guam */
@@ -16761,14 +16743,14 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0x7A, 0x68, 0x01, 0x04, 0xFF, 0xFF, 0x7A, 0x68, 0x01, 0x08, 0xFF, 0xFF, 0x7A, 0x68, 
 0x01, 0x0C, 0xFF, 0xFF, 0x73, 0x60, 0x00, 0x00, 0x48, 0x53, 0x54, 0x00, 0x48, 0x44, 0x54, 0x00, 
 0x48, 0x57, 0x54, 0x00, 0x48, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x00, 0x00, 0xA9, 0xD7, 0x46, 0x00, 0x24, 0x67, 0xA9, 0x00, 0x00, 0x00, 0x06, 0x48, 0x61, 
+0x01, 0x00, 0x00, 0xA9, 0xD7, 0x46, 0x00, 0x21, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x06, 0x48, 0x61, 
 0x77, 0x61, 0x69, 0x69, 
 
 /* Pacific/Johnston */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, 
-0x00, 0x00, 0x48, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0xA2, 0xE3, 0x38, 0x00, 0x11, 0x92, 0xB2, 
+0x00, 0x00, 0x48, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0xA2, 0xE3, 0x38, 0x00, 0x0F, 0xFF, 0x0D, 
 0x00, 0x00, 0x00, 0x0E, 0x4A, 0x6F, 0x68, 0x6E, 0x73, 0x74, 0x6F, 0x6E, 0x20, 0x41, 0x74, 0x6F, 
 0x6C, 0x6C, 
 
@@ -16778,7 +16760,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x12, 0x55, 0xF2, 0x00, 
 0x2F, 0x06, 0x7D, 0x20, 0x01, 0x02, 0xFF, 0xFF, 0x6A, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x73, 0x60, 
 0x00, 0x00, 0x00, 0x00, 0xC4, 0xE0, 0x00, 0x00, 0x4C, 0x49, 0x4E, 0x54, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x8C, 0x2D, 0x6A, 0x00, 0x23, 0x9A, 0x95, 0x00, 0x00, 0x00, 0x0C, 0x4C, 
+0x00, 0x00, 0x00, 0x00, 0x8C, 0x2D, 0x6A, 0x00, 0x22, 0x96, 0x2A, 0x00, 0x00, 0x00, 0x0C, 0x4C, 
 0x69, 0x6E, 0x65, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Pacific/Kosrae */
@@ -16811,8 +16793,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x94, 0x50, 0x4C, 0x48, 
 0x01, 0xFF, 0xFF, 0x7D, 0x38, 0x00, 0x00, 0xFF, 0xFF, 0x7A, 0x68, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x4D, 0x41, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x98, 0xA0, 0x00, 0x3F, 
-0x52, 0xF0, 0x00, 0x00, 0x00, 0x11, 0x4D, 0x61, 0x72, 0x71, 0x75, 0x65, 0x73, 0x61, 0x73, 0x20, 
+0x00, 0x4D, 0x41, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x98, 0xA0, 0x00, 0x3D, 
+0xCC, 0x50, 0x00, 0x00, 0x00, 0x11, 0x4D, 0x61, 0x72, 0x71, 0x75, 0x65, 0x73, 0x61, 0x73, 0x20, 
 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Pacific/Midway */
@@ -16823,7 +16805,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x00, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x04, 0xFF, 0xFF, 0x65, 0x50, 
 0x00, 0x08, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x0C, 0x4E, 0x53, 0x54, 0x00, 0x4E, 0x44, 0x54, 0x00, 
 0x42, 0x53, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0xB4, 0x62, 0x62, 0x00, 0x05, 0x23, 0x1A, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, 0x64, 0x77, 
+0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, 0x64, 0x77, 
 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Pacific/Nauru */
@@ -16833,7 +16815,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xCB, 0xB4, 0xBF, 0x48, 0xD0, 0x42, 0x50, 0x70, 0x11, 0x8B, 0x04, 0xC8, 0x01, 0x02, 0x01, 0x03, 
 0x00, 0x00, 0x9C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xB8, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 
 0x00, 0x08, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x52, 0x54, 0x00, 
-0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x1E, 0x12, 
+0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x8A, 0x6D, 
 0x02, 0x11, 0x5A, 0x52, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Niue */
@@ -16842,14 +16824,14 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0xDC, 0x43, 0x35, 0x60, 
 0x10, 0x74, 0xCA, 0x38, 0x01, 0x02, 0xFF, 0xFF, 0x60, 0xA0, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 
 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x00, 0x4E, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x6C, 0x5C, 0xE2, 0x00, 0x12, 0x2E, 0xF2, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x6C, 0x4F, 0xDD, 0x00, 0x0F, 0x62, 0xCD, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Norfolk */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4E, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDC, 0x41, 0xF8, 0x80, 
 0x01, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xB8, 0x00, 0x04, 0x4E, 0x4D, 0x54, 
-0x00, 0x4E, 0x46, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x27, 0xA8, 0x02, 0x12, 0xF4, 
+0x00, 0x4E, 0x46, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x98, 0x02, 0x12, 0xF4, 
 0x7A, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Noumea */
@@ -16861,7 +16843,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x9C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 
 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 
 0x00, 0x4E, 0x43, 0x53, 0x54, 0x00, 0x4E, 0x43, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x2A, 0xAA, 0x02, 0x10, 0xA4, 0x08, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x5A, 0x55, 0x02, 0x10, 0xA4, 0x08, 0x00, 0x00, 0x00, 0x00, 
 
 
 /* Pacific/Pago_Pago */
@@ -16872,8 +16854,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50, 
 0x00, 0x09, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x0D, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x11, 0x4C, 0x4D, 
 0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 0x00, 0x4E, 0x53, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x53, 
-0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x5F, 
-0xAA, 0x00, 0x10, 0x53, 0xAF, 0x00, 0x00, 0x00, 0x00, 
+0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x8F, 
+0x55, 0x00, 0x0E, 0x30, 0xD0, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Palau */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -16887,8 +16869,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x35, 0x44, 0x42, 0x08, 
 0x01, 0xFF, 0xFF, 0x88, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x04, 0x50, 0x4E, 0x54, 
-0x00, 0x50, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x48, 0xAA, 0x00, 0x4C, 0x6B, 
-0xCD, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x50, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x14, 0x95, 0x00, 0x4C, 0x2A, 
+0xB2, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Ponape */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x46, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -16902,7 +16884,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 
-0x00, 0x00, 0x50, 0x47, 0x54, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x5B, 0xF0, 0x01, 0xF3, 0x37, 0x7A, 
+0x00, 0x00, 0x50, 0x47, 0x54, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xD5, 0x50, 0x01, 0xF3, 0x37, 0x7A, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Rarotonga */
@@ -16919,7 +16901,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 
 0x6C, 0x58, 0x00, 0x00, 0xFF, 0xFF, 0x73, 0x60, 0x00, 0x00, 0xFF, 0xFF, 0x7A, 0x68, 0x01, 0x04, 
 0x43, 0x4B, 0x54, 0x00, 0x43, 0x4B, 0x48, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x69, 0xA4, 0x45, 0x00, 0x21, 0x36, 0x9A, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x68, 0xED, 0xFA, 0x00, 0x1E, 0xDF, 0xA5, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Saipan */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -16946,8 +16928,8 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x94, 0x50, 0x55, 0xB8, 
 0x01, 0xFF, 0xFF, 0x73, 0xC8, 0x00, 0x00, 0xFF, 0xFF, 0x73, 0x60, 0x00, 0x04, 0x4C, 0x4D, 0x54, 
-0x00, 0x54, 0x41, 0x48, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x33, 0xF5, 0x00, 0x30, 
-0x2A, 0xBA, 0x00, 0x00, 0x00, 0x0F, 0x53, 0x6F, 0x63, 0x69, 0x65, 0x74, 0x79, 0x20, 0x49, 0x73, 
+0x00, 0x54, 0x41, 0x48, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x93, 0x4A, 0x00, 0x2E, 
+0x70, 0x05, 0x00, 0x00, 0x00, 0x0F, 0x53, 0x6F, 0x63, 0x69, 0x65, 0x74, 0x79, 0x20, 0x49, 0x73, 
 0x6C, 0x61, 0x6E, 0x64, 0x73, 
 
 /* Pacific/Tarawa */
@@ -16967,7 +16949,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xE0, 0x01, 
 0x04, 0x00, 0x00, 0xB6, 0xD0, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xE0, 0x01, 0x04, 0x54, 0x4F, 0x54, 
 0x00, 0x54, 0x4F, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x69, 0x8A, 0x3A, 0x00, 0x07, 0xE2, 0x3A, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x69, 0x08, 0x05, 0x00, 0x07, 0x60, 0x05, 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Truk */
 0x50, 0x48, 0x50, 0x31, 0x01, 0x46, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
@@ -16989,7 +16971,7 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x50, 0x48, 0x50, 0x31, 0x01, 0x57, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 
-0x00, 0x00, 0x57, 0x46, 0x54, 0x00, 0x00, 0x00, 0x00, 0x75, 0xF3, 0x50, 0x00, 0x06, 0x5B, 0x9A, 
+0x00, 0x00, 0x57, 0x46, 0x54, 0x00, 0x00, 0x00, 0x00, 0x75, 0x08, 0xF0, 0x00, 0x05, 0xD9, 0x65, 
 0x00, 0x00, 0x00, 0x00, 
 
 /* Pacific/Yap */
@@ -18113,4 +18095,4 @@ const unsigned char timelib_timezone_db_data_builtin[257923] = {
 0x00, 0x00, 0x55, 0x54, 0x43, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 
 0x00, 0x00, 0x00, 0x00, };
 
-const timelib_tzdb timezonedb_builtin = { "2009.9", 560, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
+const timelib_tzdb timezonedb_builtin = { "2009.13", 560, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
diff --git a/ext/date/lib/tm2unixtime.c b/ext/date/lib/tm2unixtime.c
index 4cd3584..ade2fdf 100644
--- a/ext/date/lib/tm2unixtime.c
+++ b/ext/date/lib/tm2unixtime.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: tm2unixtime.c,v 1.13.2.3.2.8 2009/05/03 18:22:59 derick Exp $ */
+/* $Id: tm2unixtime.c 279800 2009-05-03 18:22:59Z derick $ */
 
 #include "timelib.h"
 
diff --git a/ext/date/lib/unixtime2tm.c b/ext/date/lib/unixtime2tm.c
index b5178e3..98963f6 100644
--- a/ext/date/lib/unixtime2tm.c
+++ b/ext/date/lib/unixtime2tm.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: unixtime2tm.c,v 1.12.2.4.2.6 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: unixtime2tm.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "timelib.h"
 
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index e25e70a..472496d 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_date.c,v 1.43.2.45.2.71 2009/06/05 22:34:30 rasmus Exp $ */
+/* $Id: php_date.c 288356 2009-09-15 20:34:54Z rasmus $ */
 
 #include "php.h"
 #include "php_streams.h"
@@ -38,6 +38,10 @@ static __inline __int64 llabs( __int64 i ) { return i >= 0? i: -i; }
 static __inline __int64_t llabs( __int64_t i ) { return i >= 0 ? i : -i; }
 #endif
 
+#if defined(NETWARE) && defined(__MWERKS__)
+static __inline long long llabs( long long i ) { return i >= 0 ? i : -i; }
+#endif
+
 /* {{{ arginfo */
 static
 ZEND_BEGIN_ARG_INFO_EX(arginfo_date, 0, 0, 1)
@@ -798,7 +802,7 @@ static char *date_format(char *format, int format_len, timelib_time *t, int loca
 			/* year */
 			case 'L': length = slprintf(buffer, 32, "%d", timelib_is_leap((int) t->y)); break;
 			case 'y': length = slprintf(buffer, 32, "%02d", (int) t->y % 100); break;
-			case 'Y': length = slprintf(buffer, 32, "%s%04ld", t->y < 0 ? "-" : "", llabs(t->y)); break;
+			case 'Y': length = slprintf(buffer, 32, "%s%04lld", t->y < 0 ? "-" : "", llabs(t->y)); break;
 
 			/* time */
 			case 'a': length = slprintf(buffer, 32, "%s", t->h >= 12 ? "pm" : "am"); break;
@@ -1748,7 +1752,7 @@ static int date_initialize(php_date_obj *dateobj, /*const*/ char *time_str, int
 	}
 	timelib_unixtime2local(now, (timelib_sll) time(NULL));
 
-	timelib_fill_holes(dateobj->time, now, 0);
+	timelib_fill_holes(dateobj->time, now, TIMELIB_NO_CLONE);
 	timelib_update_ts(dateobj->time, tzi);
 
 	dateobj->time->have_weekday_relative = dateobj->time->have_relative = 0;
@@ -2276,7 +2280,7 @@ PHP_FUNCTION(timezone_transitions_get)
 {
 	zval                *object, *element;
 	php_timezone_obj    *tzobj;
-	int                  i;
+	unsigned int         i;
 
 	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &object, date_ce_timezone) == FAILURE) {
 		RETURN_FALSE;
@@ -2452,7 +2456,7 @@ static void php_do_date_sunrise_sunset(INTERNAL_FUNCTION_PARAMETERS, int calc_su
 	}
 
 	timelib_unixtime2local(t, time);
-	rs = timelib_astro_rise_set_altitude(t, longitude, latitude, altitude, altitude > -1 ? 1 : 0, &h_rise, &h_set, &rise, &set, &transit);
+	rs = timelib_astro_rise_set_altitude(t, longitude, latitude, altitude, calc_sunset?0:1, &h_rise, &h_set, &rise, &set, &transit);
 	timelib_time_dtor(t);
 	
 	if (rs != 0) {
diff --git a/ext/date/php_date.h b/ext/date/php_date.h
index 33328fd..e8f1bf7 100644
--- a/ext/date/php_date.h
+++ b/ext/date/php_date.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_date.h,v 1.17.2.11.2.6 2009/05/31 20:43:57 stas Exp $ */
+/* $Id: php_date.h 281477 2009-05-31 20:43:57Z stas $ */
 
 #ifndef PHP_DATE_H
 #define PHP_DATE_H
diff --git a/ext/date/tests/bug27719.phpt b/ext/date/tests/bug27719.phpt
index 63cdc61..3daae98 100644
--- a/ext/date/tests/bug27719.phpt
+++ b/ext/date/tests/bug27719.phpt
@@ -3,7 +3,7 @@ Bug #27719 (mktime returns incorrect timestamp for dst days)
 --INI--
 error_reporting=2047
 --FILE--
-<?php /* $Id: bug27719.phpt,v 1.1 2005/07/03 14:36:59 derick Exp $ */
+<?php /* $Id: bug27719.phpt 189800 2005-07-03 14:36:59Z derick $ */
 	putenv("TZ=EST");  // No DST
 	$a = mktime(0, 0, 0, 4, 4, 2004, 0);
 	$b = mktime(0, 0, 0, 4, 4, 2004, 1);
diff --git a/ext/date/tests/bug48276.phpt b/ext/date/tests/bug48276.phpt
new file mode 100644
index 0000000..d26605d
--- /dev/null
+++ b/ext/date/tests/bug48276.phpt
@@ -0,0 +1,9 @@
+--TEST--
+Bug #48276 (date("Y") prints wrong year on Big Endian machines)
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+var_dump(date("Y", 1245623227));
+--EXPECT--
+string(4) "2009"
diff --git a/ext/date/tests/cal_days_in_month_invalid_calendar.phpt b/ext/date/tests/cal_days_in_month_invalid_calendar.phpt
new file mode 100644
index 0000000..3550b91
--- /dev/null
+++ b/ext/date/tests/cal_days_in_month_invalid_calendar.phpt
@@ -0,0 +1,16 @@
+--TEST--
+cal_days_in_month: test invalid parameter
+--CREDITS--
+Havard Eide <nucleuz at gmail.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php if (!extension_loaded("calendar")) { echo "skip extension not available"; } ?>
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+echo cal_days_in_month(99,0, 2009);
+?>
+--EXPECTF--
+Warning: cal_days_in_month(): invalid calendar ID 99. in %s on line %d
+
diff --git a/ext/date/tests/cal_days_in_month_invalid_date.phpt b/ext/date/tests/cal_days_in_month_invalid_date.phpt
new file mode 100644
index 0000000..0315270
--- /dev/null
+++ b/ext/date/tests/cal_days_in_month_invalid_date.phpt
@@ -0,0 +1,16 @@
+--TEST--
+cal_days_in_month: test invalid parameter
+--CREDITS--
+Havard Eide <nucleuz at gmail.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php if (!extension_loaded("calendar")) { echo "skip extension not available"; } ?>
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+echo cal_days_in_month(CAL_GREGORIAN,0, 2009);
+?>
+--EXPECTF--
+Warning: cal_days_in_month(): invalid date. in %s on line %d
+
diff --git a/ext/date/tests/gmstrftime_variation22.phpt b/ext/date/tests/gmstrftime_variation22.phpt
index 213fa5c..e14cef6 100644
--- a/ext/date/tests/gmstrftime_variation22.phpt
+++ b/ext/date/tests/gmstrftime_variation22.phpt
@@ -5,6 +5,10 @@ Test gmstrftime() function : usage variation - Checking Preferred date and time
 if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
     die("skip Test is not valid for Windows");
 }
+if (!setlocale(LC_ALL, "en_US")) {
+    die("skip Locale en_US not available");
+}
+
 ?>
 --FILE--
 <?php
diff --git a/ext/date/tests/strftime_variation22.phpt b/ext/date/tests/strftime_variation22.phpt
index 8ea259c..4f32ebd 100644
--- a/ext/date/tests/strftime_variation22.phpt
+++ b/ext/date/tests/strftime_variation22.phpt
@@ -5,6 +5,9 @@ Test strftime() function : usage variation - Checking Preferred date and time re
 if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
     die("skip Test is not valid for Windows");
 }
+if (!setlocale(LC_ALL, "en_US")) {
+    die("skip The en_US locale is not available");
+}
 ?>
 --FILE--
 <?php
diff --git a/ext/date/tests/strtotime_basic.phpt b/ext/date/tests/strtotime_basic.phpt
index 15caa2f..dc1b715 100644
--- a/ext/date/tests/strtotime_basic.phpt
+++ b/ext/date/tests/strtotime_basic.phpt
@@ -14,29 +14,29 @@ date.timezone="UTC"
 /*
  * This is parsed as the "first following Monday OR the current day if it is a Monday"
  */ 
-var_dump(date('Y-m-d', strtotime('1 Monday December 2008')));
+var_dump(date('Y-m-d', strtotime('1 Monday December 2008')));
 /*
  * This is parsed as the "second following Monday OR the first following 
  * Monday if the current day is a Monday"
  */
-var_dump(date('Y-m-d', strtotime('2 Monday December 2008')));
+var_dump(date('Y-m-d', strtotime('2 Monday December 2008')));
 /*
  * This is parsed as the "third following Monday OR the second following 
  * Monday if the current day is a Monday"
  */
-var_dump(date('Y-m-d', strtotime('3 Monday December 2008')));
+var_dump(date('Y-m-d', strtotime('3 Monday December 2008')));
 /*
  * This is parsed as the "first following Monday after the first Monday in December"
  */ 
-var_dump(date('Y-m-d', strtotime('first Monday December 2008')));
+var_dump(date('Y-m-d', strtotime('first Monday December 2008')));
 /*
  * This is parsed as the "second following Monday after the first Monday in December"
  */ 
-var_dump(date('Y-m-d', strtotime('second Monday December 2008')));
+var_dump(date('Y-m-d', strtotime('second Monday December 2008')));
 /*
  * This is parsed as the "third following Monday after the first Monday in December"
  */ 
-var_dump(date('Y-m-d', strtotime('third Monday December 2008')));
+var_dump(date('Y-m-d', strtotime('third Monday December 2008')));
 ?>
 --EXPECTF--
 string(10) "2008-12-01"
diff --git a/ext/dba/config.m4 b/ext/dba/config.m4
index 60cb811..8135ff6 100644
--- a/ext/dba/config.m4
+++ b/ext/dba/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.70.2.2.2.9 2007/12/06 14:17:43 helly Exp $
+dnl $Id: config.m4 247694 2007-12-06 14:17:43Z helly $
 dnl
 
 dnl Suppose we need FlatFile if no support or only CDB is used.
diff --git a/ext/dba/config.w32 b/ext/dba/config.w32
index 2239009..1f72019 100644
--- a/ext/dba/config.w32
+++ b/ext/dba/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.3 2005/02/26 01:05:33 helly Exp $
+// $Id: config.w32 180813 2005-02-26 01:05:33Z helly $
 // vim:ft=javascript
 
 ARG_WITH("dba", "DBA support", "no");
diff --git a/ext/dba/dba.c b/ext/dba/dba.c
index e33d7f9..e7fcbc5 100644
--- a/ext/dba/dba.c
+++ b/ext/dba/dba.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba.c,v 1.111.2.4.2.8 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_cdb.c b/ext/dba/dba_cdb.c
index 60bb386..d7ee1f5 100644
--- a/ext/dba/dba_cdb.c
+++ b/ext/dba/dba_cdb.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_cdb.c,v 1.32.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_cdb.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_db1.c b/ext/dba/dba_db1.c
index 35e28c9..a888f40 100755
--- a/ext/dba/dba_db1.c
+++ b/ext/dba/dba_db1.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_db1.c,v 1.3.2.1.2.4 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_db1.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_db2.c b/ext/dba/dba_db2.c
index 56d1451..925fc79 100644
--- a/ext/dba/dba_db2.c
+++ b/ext/dba/dba_db2.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_db2.c,v 1.39.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_db2.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_db3.c b/ext/dba/dba_db3.c
index 0209cb8..e389e84 100644
--- a/ext/dba/dba_db3.c
+++ b/ext/dba/dba_db3.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_db3.c,v 1.33.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_db3.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_db4.c b/ext/dba/dba_db4.c
index 9a95aa2..bdf9cdf 100644
--- a/ext/dba/dba_db4.c
+++ b/ext/dba/dba_db4.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_db4.c,v 1.15.2.3.2.5 2009/05/13 02:16:36 felipe Exp $ */
+/* $Id: dba_db4.c 286636 2009-08-01 23:10:11Z felipe $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -175,7 +175,15 @@ DBA_EXISTS_FUNC(db4)
 	DB4_GKEY;
 	
 	memset(&gval, 0, sizeof(gval));
+	
+	if (info->flags & DBA_PERSISTENT) {
+		gval.flags |= DB_DBT_MALLOC;
+	}
+
 	if (!dba->dbp->get(dba->dbp, NULL, &gkey, &gval, 0)) {
+		if (info->flags & DBA_PERSISTENT) {
+			free(gval.data);
+		}
 		return SUCCESS;
 	}
 	return FAILURE;
diff --git a/ext/dba/dba_dbm.c b/ext/dba/dba_dbm.c
index 27e196b..0814a13 100644
--- a/ext/dba/dba_dbm.c
+++ b/ext/dba/dba_dbm.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_dbm.c,v 1.29.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_dbm.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_flatfile.c b/ext/dba/dba_flatfile.c
index f57d1e4..21d9ca6 100644
--- a/ext/dba/dba_flatfile.c
+++ b/ext/dba/dba_flatfile.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_flatfile.c,v 1.19.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_flatfile.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_gdbm.c b/ext/dba/dba_gdbm.c
index 0a821b1..04e7045 100644
--- a/ext/dba/dba_gdbm.c
+++ b/ext/dba/dba_gdbm.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_gdbm.c,v 1.23.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_gdbm.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_inifile.c b/ext/dba/dba_inifile.c
index 6fa9a80..1383f45 100644
--- a/ext/dba/dba_inifile.c
+++ b/ext/dba/dba_inifile.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_inifile.c,v 1.5.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_inifile.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_ndbm.c b/ext/dba/dba_ndbm.c
index 8062d67..fd8a00f 100644
--- a/ext/dba/dba_ndbm.c
+++ b/ext/dba/dba_ndbm.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dba_ndbm.c,v 1.19.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_ndbm.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/dba_qdbm.c b/ext/dba/dba_qdbm.c
index 4cfcbbf..d300262 100755
--- a/ext/dba/dba_qdbm.c
+++ b/ext/dba/dba_qdbm.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: dba_qdbm.c,v 1.4.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: dba_qdbm.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dba/install_cdb.sh b/ext/dba/install_cdb.sh
index 82396b9..ce5f3cc 100755
--- a/ext/dba/install_cdb.sh
+++ b/ext/dba/install_cdb.sh
@@ -8,7 +8,7 @@
 # library which programs can link against.  This shell script fills
 # the gap.
 #
-# $Id: install_cdb.sh,v 1.2 2002/11/04 17:53:04 helly Exp $
+# $Id: install_cdb.sh,v 1.2 2002-11-04 17:53:04 helly Exp $
 
 if test -r "cdb.a" && test -r "auto-str.c" && test -r "byte.a"; then
   :
diff --git a/ext/dba/libcdb/cdb.c b/ext/dba/libcdb/cdb.c
index 597ab02..db6a81d 100644
--- a/ext/dba/libcdb/cdb.c
+++ b/ext/dba/libcdb/cdb.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: cdb.c,v 1.10.2.1.2.5 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: cdb.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
 
@@ -189,6 +189,6 @@ int cdb_find(struct cdb *c, char *key, unsigned int len TSRMLS_DC)
 /* {{{ cdb_version */
 char *cdb_version() 
 {
-	return "0.75, $Revision: 1.10.2.1.2.5 $";
+	return "0.75, $Revision: 272374 $";
 }
 /* }}} */
diff --git a/ext/dba/libcdb/cdb.h b/ext/dba/libcdb/cdb.h
index e5a8281..da8971c 100644
--- a/ext/dba/libcdb/cdb.h
+++ b/ext/dba/libcdb/cdb.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: cdb.h,v 1.7.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: cdb.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
 
diff --git a/ext/dba/libcdb/cdb_make.c b/ext/dba/libcdb/cdb_make.c
index 79a15c1..9bdcb66 100644
--- a/ext/dba/libcdb/cdb_make.c
+++ b/ext/dba/libcdb/cdb_make.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: cdb_make.c,v 1.9.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: cdb_make.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
 
@@ -240,5 +240,5 @@ int cdb_make_finish(struct cdb_make *c TSRMLS_DC)
 /* {{{ cdb_make_version */
 char *cdb_make_version() 
 {
-	return "0.75, $Revision: 1.9.2.1.2.3 $";
+	return "0.75, $Revision: 272374 $";
 }
diff --git a/ext/dba/libcdb/cdb_make.h b/ext/dba/libcdb/cdb_make.h
index d121ea8..feb1e2d 100644
--- a/ext/dba/libcdb/cdb_make.h
+++ b/ext/dba/libcdb/cdb_make.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: cdb_make.h,v 1.7.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: cdb_make.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
 
diff --git a/ext/dba/libcdb/uint32.c b/ext/dba/libcdb/uint32.c
index 06dcc40..e309ca8 100644
--- a/ext/dba/libcdb/uint32.c
+++ b/ext/dba/libcdb/uint32.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: uint32.c,v 1.6.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: uint32.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
 
diff --git a/ext/dba/libcdb/uint32.h b/ext/dba/libcdb/uint32.h
index 8dcdb2b..2ef519e 100644
--- a/ext/dba/libcdb/uint32.h
+++ b/ext/dba/libcdb/uint32.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: uint32.h,v 1.6.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: uint32.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
 
diff --git a/ext/dba/libflatfile/flatfile.c b/ext/dba/libflatfile/flatfile.c
index 0e7d1c8..4bd6a70 100644
--- a/ext/dba/libflatfile/flatfile.c
+++ b/ext/dba/libflatfile/flatfile.c
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: flatfile.c,v 1.14.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: flatfile.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -307,7 +307,7 @@ datum flatfile_nextkey(flatfile *dba TSRMLS_DC) {
 /* {{{ flatfile_version */
 char *flatfile_version() 
 {
-	return "1.0, $Revision: 1.14.2.1.2.3 $";
+	return "1.0, $Revision: 272374 $";
 }
 /* }}} */ 
 
diff --git a/ext/dba/libflatfile/flatfile.h b/ext/dba/libflatfile/flatfile.h
index 4ad4684..89bdbea 100644
--- a/ext/dba/libflatfile/flatfile.h
+++ b/ext/dba/libflatfile/flatfile.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: flatfile.h,v 1.11.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: flatfile.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_LIB_FLATFILE_H
 #define PHP_LIB_FLATFILE_H
diff --git a/ext/dba/libinifile/inifile.c b/ext/dba/libinifile/inifile.c
index 080124f..3b379cd 100644
--- a/ext/dba/libinifile/inifile.c
+++ b/ext/dba/libinifile/inifile.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: inifile.c,v 1.14.2.1.2.6 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: inifile.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -43,7 +43,7 @@
 /* {{{ inifile_version */
 char *inifile_version() 
 {
-	return "1.0, $Revision: 1.14.2.1.2.6 $";
+	return "1.0, $Revision: 272374 $";
 }
 /* }}} */ 
 
diff --git a/ext/dba/libinifile/inifile.h b/ext/dba/libinifile/inifile.h
index 3426820..526ced8 100644
--- a/ext/dba/libinifile/inifile.h
+++ b/ext/dba/libinifile/inifile.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: inifile.h,v 1.5.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: inifile.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_LIB_INIFILE_H
 #define PHP_LIB_INIFILE_H
diff --git a/ext/dba/php_dba.h b/ext/dba/php_dba.h
index 2440cba..adaa608 100644
--- a/ext/dba/php_dba.h
+++ b/ext/dba/php_dba.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_dba.h,v 1.29.2.1.2.3 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: php_dba.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_DBA_H
 #define PHP_DBA_H
diff --git a/ext/dba/tests/bug36436.phpt b/ext/dba/tests/bug36436.phpt
index 6047066..4e8daa8 100755
--- a/ext/dba/tests/bug36436.phpt
+++ b/ext/dba/tests/bug36436.phpt
@@ -3,13 +3,13 @@ Bug #36436 (DBA problem with Berkeley DB4)
 --SKIPIF--
 <?php 
 	$handler = 'db4';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 
 $handler = 'db4';
-require_once('test.inc');
+require_once dirname(__FILE__) .'/test.inc';
 
 $db = dba_popen($db_filename, 'c', 'db4');
 
diff --git a/ext/dba/tests/bug48240.phpt b/ext/dba/tests/bug48240.phpt
index 72dc439..27f8d95 100644
--- a/ext/dba/tests/bug48240.phpt
+++ b/ext/dba/tests/bug48240.phpt
@@ -3,13 +3,13 @@ Bug #48240 (DBA Segmentation fault dba_nextkey)
 --SKIPIF--
 <?php 
 	$handler = 'db4';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 
 $handler = 'db4';
-require_once('test.inc');
+require_once dirname(__FILE__) .'/test.inc';
 
 $db = dba_open($db_filename, 'c', 'db4');
 
diff --git a/ext/dba/tests/bug49125.phpt b/ext/dba/tests/bug49125.phpt
new file mode 100644
index 0000000..3724b89
--- /dev/null
+++ b/ext/dba/tests/bug49125.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Bug #49125 (Error in dba_exists C code)
+--SKIPIF--
+<?php 
+	$handler = 'db4';
+	require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+
+error_reporting(E_ALL);
+
+$handler = 'db4';
+require_once dirname(__FILE__) .'/test.inc';
+
+$db = dba_popen($db_filename, 'c', 'db4');
+
+dba_insert('foo', 'foo', $db);
+
+var_dump(dba_exists('foo', $db));
+
+dba_close($db);
+
+unlink($db_filename);
+
+--EXPECT--
+bool(true)
diff --git a/ext/dba/tests/dba001.phpt b/ext/dba/tests/dba001.phpt
index 3d617fb..00aec69 100644
--- a/ext/dba/tests/dba001.phpt
+++ b/ext/dba/tests/dba001.phpt
@@ -2,12 +2,12 @@
 DBA File Creation Test
 --SKIPIF--
 <?php 
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	die("info $HND handler used");
 ?>
 --FILE--
 <?php
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
     	echo "database file created\n";
@@ -18,4 +18,4 @@ DBA File Creation Test
 ?>
 --EXPECTF--
 database handler: %s
-database file created
\ No newline at end of file
+database file created
diff --git a/ext/dba/tests/dba002.phpt b/ext/dba/tests/dba002.phpt
index 3f862e3..974b09f 100644
--- a/ext/dba/tests/dba002.phpt
+++ b/ext/dba/tests/dba002.phpt
@@ -2,12 +2,12 @@
 DBA Insert/Fetch Test
 --SKIPIF--
 <?php 
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	die("info $HND handler used");
 ?>
 --FILE--
 <?php
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
 		dba_insert("key1", "This is a test insert", $db_file);
diff --git a/ext/dba/tests/dba003.phpt b/ext/dba/tests/dba003.phpt
index 617ae91..832c7a0 100644
--- a/ext/dba/tests/dba003.phpt
+++ b/ext/dba/tests/dba003.phpt
@@ -2,12 +2,12 @@
 DBA Insert/Replace/Fetch Test
 --SKIPIF--
 <?php 
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	die("info $HND handler used");
 ?>
 --FILE--
 <?php
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
 		dba_insert("key1", "This is a test insert", $db_file);
diff --git a/ext/dba/tests/dba004.phpt b/ext/dba/tests/dba004.phpt
index 3b1f29c..42da1c6 100644
--- a/ext/dba/tests/dba004.phpt
+++ b/ext/dba/tests/dba004.phpt
@@ -2,12 +2,12 @@
 DBA Multiple Insert/Fetch Test
 --SKIPIF--
 <?php 
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	die("info $HND handler used");
 ?>
 --FILE--
 <?php
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
 		dba_insert("key1", "Content String 1", $db_file);
diff --git a/ext/dba/tests/dba005.phpt b/ext/dba/tests/dba005.phpt
index 5a933c4..3e7e580 100644
--- a/ext/dba/tests/dba005.phpt
+++ b/ext/dba/tests/dba005.phpt
@@ -2,12 +2,12 @@
 DBA FirstKey/NextKey Loop Test With 5 Items
 --SKIPIF--
 <?php 
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	die("info $HND handler used");
 ?>
 --FILE--
 <?php
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
 		dba_insert("key1", "Content String 1", $db_file);
diff --git a/ext/dba/tests/dba006.phpt b/ext/dba/tests/dba006.phpt
index efa36a5..f6177b0 100644
--- a/ext/dba/tests/dba006.phpt
+++ b/ext/dba/tests/dba006.phpt
@@ -2,12 +2,12 @@
 DBA FirstKey/NextKey with 2 deletes
 --SKIPIF--
 <?php 
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	die("info $HND handler used");
 ?>
 --FILE--
 <?php
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
 		dba_insert("key1", "Content String 1", $db_file);
@@ -34,4 +34,4 @@ DBA FirstKey/NextKey with 2 deletes
 ?>
 --EXPECTF--
 database handler: %s
-3NYNYY
\ No newline at end of file
+3NYNYY
diff --git a/ext/dba/tests/dba007.phpt b/ext/dba/tests/dba007.phpt
index cc84a72..0f30932 100644
--- a/ext/dba/tests/dba007.phpt
+++ b/ext/dba/tests/dba007.phpt
@@ -2,13 +2,13 @@
 DBA Multiple File Creation Test
 --SKIPIF--
 <?php 
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	if (!function_exists('dba_list')) die('skip dba_list() not available');
 	die("info $HND handler used");
 ?>
 --FILE--
 <?php
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	$db_file1 = dirname(__FILE__).'/test1.dbm'; 
 	$db_file2 = dirname(__FILE__).'/test2.dbm'; 
diff --git a/ext/dba/tests/dba008.phpt b/ext/dba/tests/dba008.phpt
index 84a47ba..8fde8ff 100644
--- a/ext/dba/tests/dba008.phpt
+++ b/ext/dba/tests/dba008.phpt
@@ -2,12 +2,12 @@
 DBA magic_quotes_runtime Test
 --SKIPIF--
 <?php 
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	die("info $HND handler used");
 ?>
 --FILE--
 <?php
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
 		ini_set('magic_quotes_runtime', 0);
diff --git a/ext/dba/tests/dba009.phpt b/ext/dba/tests/dba009.phpt
index 50a50c6..b4d8308 100755
--- a/ext/dba/tests/dba009.phpt
+++ b/ext/dba/tests/dba009.phpt
@@ -2,12 +2,12 @@
 DBA dba_popen Test
 --SKIPIF--
 <?php 
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	print("info $HND handler used");
 ?>
 --FILE--
 <?php
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	if (($db=dba_popen($db_file, "n", $handler))!==FALSE) {
 		echo "Opened\n";
diff --git a/ext/dba/tests/dba_cdb.phpt b/ext/dba/tests/dba_cdb.phpt
index f3bf797..0b75596 100644
--- a/ext/dba/tests/dba_cdb.phpt
+++ b/ext/dba/tests/dba_cdb.phpt
@@ -3,14 +3,14 @@ DBA CDB handler test
 --SKIPIF--
 <?php 
 	$handler = 'cdb';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	die('info CDB does not support replace or delete');
 ?>
 --FILE--
 <?php
 	$handler = 'cdb';
-	require_once('test.inc');
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/test.inc';
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECT--
diff --git a/ext/dba/tests/dba_cdb_make.phpt b/ext/dba/tests/dba_cdb_make.phpt
index 04df925..39f641d 100644
--- a/ext/dba/tests/dba_cdb_make.phpt
+++ b/ext/dba/tests/dba_cdb_make.phpt
@@ -5,13 +5,13 @@ magic_quotes_runtime=1
 --SKIPIF--
 <?php 
 	$handler = 'cdb_make';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	die('info CDB_MAKE does not support reading');
 ?>
 --FILE--
 <?php
 	$handler = 'cdb_make';
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	echo "database handler: $handler\n";
 	// print md5 checksum of test.cdb which is generated by cdb_make program
 	var_dump(md5_file(dirname(__FILE__).'/test.cdb'));
diff --git a/ext/dba/tests/dba_cdb_read.phpt b/ext/dba/tests/dba_cdb_read.phpt
index a0fbe7b..71575f5 100644
--- a/ext/dba/tests/dba_cdb_read.phpt
+++ b/ext/dba/tests/dba_cdb_read.phpt
@@ -3,7 +3,7 @@ DBA CDB handler test (read only)
 --SKIPIF--
 <?php 
 	$handler = 'cdb_make';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
@@ -62,4 +62,4 @@ database handler: cdb
 #1122
 ?1212314
 #1212314
-=1231324
\ No newline at end of file
+=1231324
diff --git a/ext/dba/tests/dba_db1.phpt b/ext/dba/tests/dba_db1.phpt
index 983954b..a246003 100755
--- a/ext/dba/tests/dba_db1.phpt
+++ b/ext/dba/tests/dba_db1.phpt
@@ -3,13 +3,13 @@ DBA DB1 handler test
 --SKIPIF--
 <?php 
 	$handler = 'db1';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'db1';
-	require_once('test.inc');
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/test.inc';
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECT--
diff --git a/ext/dba/tests/dba_db2.phpt b/ext/dba/tests/dba_db2.phpt
index bcc5a94..89d8a92 100644
--- a/ext/dba/tests/dba_db2.phpt
+++ b/ext/dba/tests/dba_db2.phpt
@@ -3,13 +3,13 @@ DBA DB2 handler test
 --SKIPIF--
 <?php 
 	$handler = 'db2';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'db2';
-	require_once('test.inc');
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/test.inc';
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECT--
diff --git a/ext/dba/tests/dba_db3.phpt b/ext/dba/tests/dba_db3.phpt
index c6d04cf..257c882 100644
--- a/ext/dba/tests/dba_db3.phpt
+++ b/ext/dba/tests/dba_db3.phpt
@@ -3,13 +3,13 @@ DBA DB3 handler test
 --SKIPIF--
 <?php 
 	$handler = 'db3';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'db3';
-	require_once('test.inc');
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/test.inc';
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECT--
diff --git a/ext/dba/tests/dba_db4.phpt b/ext/dba/tests/dba_db4.phpt
index fcf089a..2c2a7a6 100644
--- a/ext/dba/tests/dba_db4.phpt
+++ b/ext/dba/tests/dba_db4.phpt
@@ -3,13 +3,13 @@ DBA DB4 handler test
 --SKIPIF--
 <?php 
 	$handler = 'db4';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'db4';
-	require_once('test.inc');
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/test.inc';
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECT--
diff --git a/ext/dba/tests/dba_dbm.phpt b/ext/dba/tests/dba_dbm.phpt
index fdd7b37..dd1fe1e 100644
--- a/ext/dba/tests/dba_dbm.phpt
+++ b/ext/dba/tests/dba_dbm.phpt
@@ -3,13 +3,13 @@ DBA DBM handler test
 --SKIPIF--
 <?php 
 	$handler = 'dbm';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'dbm';
-	require_once('test.inc');
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/test.inc';
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECT--
diff --git a/ext/dba/tests/dba_flatfile.phpt b/ext/dba/tests/dba_flatfile.phpt
index 2e32b8a..a85472b 100644
--- a/ext/dba/tests/dba_flatfile.phpt
+++ b/ext/dba/tests/dba_flatfile.phpt
@@ -3,13 +3,13 @@ DBA FlatFile handler test
 --SKIPIF--
 <?php 
 	$handler = 'flatfile';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'flatfile';
-	require_once('test.inc');
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/test.inc';
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECT--
diff --git a/ext/dba/tests/dba_gdbm.phpt b/ext/dba/tests/dba_gdbm.phpt
index f9b3e3c..33d7d20 100644
--- a/ext/dba/tests/dba_gdbm.phpt
+++ b/ext/dba/tests/dba_gdbm.phpt
@@ -3,14 +3,14 @@ DBA GDBM handler test
 --SKIPIF--
 <?php 
 	$handler = 'gdbm';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'gdbm';
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	$lock_flag = ''; // lock in library
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 	
 	// Read during write is system dependant. Important is that there is no deadlock
 ?>
diff --git a/ext/dba/tests/dba_inifile.phpt b/ext/dba/tests/dba_inifile.phpt
index 9511a8b..81ab738 100644
--- a/ext/dba/tests/dba_inifile.phpt
+++ b/ext/dba/tests/dba_inifile.phpt
@@ -3,13 +3,13 @@ DBA INIFILE handler test
 --SKIPIF--
 <?php 
 	$handler = 'inifile';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'inifile';
-	require_once('test.inc');
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/test.inc';
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECT--
diff --git a/ext/dba/tests/dba_ndbm.phpt b/ext/dba/tests/dba_ndbm.phpt
index f7955c5..b0f5542 100644
--- a/ext/dba/tests/dba_ndbm.phpt
+++ b/ext/dba/tests/dba_ndbm.phpt
@@ -3,13 +3,13 @@ DBA NDBM handler test
 --SKIPIF--
 <?php 
 	$handler = 'ndbm';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'ndbm';
-	require_once('test.inc');
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/test.inc';
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECT--
diff --git a/ext/dba/tests/dba_qdbm.phpt b/ext/dba/tests/dba_qdbm.phpt
index a7c9ab6..ef216d9 100755
--- a/ext/dba/tests/dba_qdbm.phpt
+++ b/ext/dba/tests/dba_qdbm.phpt
@@ -3,14 +3,14 @@ DBA QDBM handler test
 --SKIPIF--
 <?php
 	$handler = 'qdbm';
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 ?>
 --FILE--
 <?php
 	$handler = 'qdbm';
-	require_once('test.inc');
+	require_once dirname(__FILE__) .'/test.inc';
 	$lock_flag = ''; // lock in library
-	require_once('dba_handler.inc');
+	require_once dirname(__FILE__) .'/dba_handler.inc';
 ?>
 ===DONE===
 --EXPECTF--
diff --git a/ext/dba/tests/test.inc b/ext/dba/tests/test.inc
index 04f9545..7c4e207 100644
--- a/ext/dba/tests/test.inc
+++ b/ext/dba/tests/test.inc
@@ -1,7 +1,7 @@
 <?php
-	require_once('skipif.inc');
+	require_once dirname(__FILE__) .'/skipif.inc';
 	$lock_flag = 'l';
-	$db_filename = $db_file = dirname(__FILE__).'/test0.dbm';
+	$db_filename = $db_file = dirname(__FILE__) .'/test0.dbm';
 	@unlink($db_filename);
 	@unlink($db_filename.'.lck');
 ?>
diff --git a/ext/dom/attr.c b/ext/dom/attr.c
index cac7d94..49c981b 100644
--- a/ext/dom/attr.c
+++ b/ext/dom/attr.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: attr.c,v 1.18.2.2.2.6 2009/03/13 13:41:42 rrichards Exp $ */
+/* $Id: attr.c 277100 2009-03-13 13:41:42Z rrichards $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/cdatasection.c b/ext/dom/cdatasection.c
index 0e11169..b6249d0 100644
--- a/ext/dom/cdatasection.c
+++ b/ext/dom/cdatasection.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: cdatasection.c,v 1.11.2.1.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: cdatasection.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/characterdata.c b/ext/dom/characterdata.c
index 1535337..aed6fce 100644
--- a/ext/dom/characterdata.c
+++ b/ext/dom/characterdata.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: characterdata.c,v 1.15.2.1.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: characterdata.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/comment.c b/ext/dom/comment.c
index 2e7271a..d4ee82b 100644
--- a/ext/dom/comment.c
+++ b/ext/dom/comment.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: comment.c,v 1.11.2.1.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: comment.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/config.m4 b/ext/dom/config.m4
index 12d40f2..89dd4c0 100644
--- a/ext/dom/config.m4
+++ b/ext/dom/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.20.4.1 2007/07/03 17:25:33 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl
 
 PHP_ARG_ENABLE(dom, whether to enable DOM support,
diff --git a/ext/dom/config.w32 b/ext/dom/config.w32
index 182467b..aaf1f72 100644
--- a/ext/dom/config.w32
+++ b/ext/dom/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.3 2003/12/22 13:16:39 wez Exp $
+// $Id: config.w32 147161 2003-12-22 13:16:43Z wez $
 // vim:ft=javascript
 
 ARG_WITH("dom", "DOM support", "yes");
diff --git a/ext/dom/document.c b/ext/dom/document.c
index 73ebcef..d65ca32 100644
--- a/ext/dom/document.c
+++ b/ext/dom/document.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: document.c,v 1.68.2.3.2.13 2009/04/07 15:33:20 rrichards Exp $ */
+/* $Id: document.c 278373 2009-04-07 15:33:20Z rrichards $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/documentfragment.c b/ext/dom/documentfragment.c
index 88b30e1..57cece7 100644
--- a/ext/dom/documentfragment.c
+++ b/ext/dom/documentfragment.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: documentfragment.c,v 1.15.2.1.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: documentfragment.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/documenttype.c b/ext/dom/documenttype.c
index 18365f1..cb00435 100644
--- a/ext/dom/documenttype.c
+++ b/ext/dom/documenttype.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: documenttype.c,v 1.15.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: documenttype.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/dom_ce.h b/ext/dom/dom_ce.h
index 4d0c12d..f1b72b6 100644
--- a/ext/dom/dom_ce.h
+++ b/ext/dom/dom_ce.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: dom_ce.h,v 1.8.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: dom_ce.h 272374 2008-12-31 11:17:49Z sebastian $ */
 #ifndef DOM_CE_H
 #define DOM_CE_H
 
diff --git a/ext/dom/dom_fe.h b/ext/dom/dom_fe.h
index f603bb3..29002f0 100644
--- a/ext/dom/dom_fe.h
+++ b/ext/dom/dom_fe.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: dom_fe.h,v 1.14.2.1.2.6 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: dom_fe.h 272374 2008-12-31 11:17:49Z sebastian $ */
 #ifndef DOM_FE_H
 #define DOM_FE_H
 
diff --git a/ext/dom/dom_iterators.c b/ext/dom/dom_iterators.c
index a56c835..184ca2f 100644
--- a/ext/dom/dom_iterators.c
+++ b/ext/dom/dom_iterators.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: dom_iterators.c,v 1.9.2.3.2.7 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: dom_iterators.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/dom_properties.h b/ext/dom/dom_properties.h
index 6064bdc..09902b8 100644
--- a/ext/dom/dom_properties.h
+++ b/ext/dom/dom_properties.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: dom_properties.h,v 1.7.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: dom_properties.h 272374 2008-12-31 11:17:49Z sebastian $ */
 #ifndef DOM_PROPERTIES_H
 #define DOM_PROPERTIES_H
 
diff --git a/ext/dom/domconfiguration.c b/ext/dom/domconfiguration.c
index 98a81c7..5842363 100644
--- a/ext/dom/domconfiguration.c
+++ b/ext/dom/domconfiguration.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: domconfiguration.c,v 1.5.2.1.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: domconfiguration.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/domerror.c b/ext/dom/domerror.c
index 940c427..1135d82 100644
--- a/ext/dom/domerror.c
+++ b/ext/dom/domerror.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: domerror.c,v 1.6.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: domerror.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/domerrorhandler.c b/ext/dom/domerrorhandler.c
index 4da18ff..5219869 100644
--- a/ext/dom/domerrorhandler.c
+++ b/ext/dom/domerrorhandler.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: domerrorhandler.c,v 1.5.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: domerrorhandler.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/domexception.c b/ext/dom/domexception.c
index 56ee632..ad243f2 100644
--- a/ext/dom/domexception.c
+++ b/ext/dom/domexception.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: domexception.c,v 1.11.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: domexception.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/domimplementation.c b/ext/dom/domimplementation.c
index 7a62b72..df69ac3 100644
--- a/ext/dom/domimplementation.c
+++ b/ext/dom/domimplementation.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: domimplementation.c,v 1.15.2.2.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: domimplementation.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/domimplementationlist.c b/ext/dom/domimplementationlist.c
index d492982..60a063d 100644
--- a/ext/dom/domimplementationlist.c
+++ b/ext/dom/domimplementationlist.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: domimplementationlist.c,v 1.6.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: domimplementationlist.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/domimplementationsource.c b/ext/dom/domimplementationsource.c
index d9cba4a..7f3c86f 100644
--- a/ext/dom/domimplementationsource.c
+++ b/ext/dom/domimplementationsource.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: domimplementationsource.c,v 1.5.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: domimplementationsource.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/domlocator.c b/ext/dom/domlocator.c
index d80f13c..8af4dd7 100644
--- a/ext/dom/domlocator.c
+++ b/ext/dom/domlocator.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: domlocator.c,v 1.6.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: domlocator.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/domstringlist.c b/ext/dom/domstringlist.c
index 31810d9..9d85de1 100644
--- a/ext/dom/domstringlist.c
+++ b/ext/dom/domstringlist.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: domstringlist.c,v 1.6.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: domstringlist.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/element.c b/ext/dom/element.c
index 8b754a4..9ffb718 100644
--- a/ext/dom/element.c
+++ b/ext/dom/element.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: element.c,v 1.36.2.4.2.12 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: element.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/entity.c b/ext/dom/entity.c
index 363d6d4..ef0e539 100644
--- a/ext/dom/entity.c
+++ b/ext/dom/entity.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: entity.c,v 1.9.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: entity.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/entityreference.c b/ext/dom/entityreference.c
index b01bcbf..3f4fb68 100644
--- a/ext/dom/entityreference.c
+++ b/ext/dom/entityreference.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: entityreference.c,v 1.12.2.1.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: entityreference.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/namednodemap.c b/ext/dom/namednodemap.c
index 2f83607..aa00a28 100644
--- a/ext/dom/namednodemap.c
+++ b/ext/dom/namednodemap.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: namednodemap.c,v 1.15.2.2.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: namednodemap.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/namelist.c b/ext/dom/namelist.c
index c0c82b6..c7e589e 100644
--- a/ext/dom/namelist.c
+++ b/ext/dom/namelist.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: namelist.c,v 1.7.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: namelist.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/node.c b/ext/dom/node.c
index 24e05e5..4a61e5e 100644
--- a/ext/dom/node.c
+++ b/ext/dom/node.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: node.c,v 1.37.2.3.2.14 2009/03/13 13:41:42 rrichards Exp $ */
+/* $Id: node.c 277100 2009-03-13 13:41:42Z rrichards $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/nodelist.c b/ext/dom/nodelist.c
index ecea228..b812e34 100644
--- a/ext/dom/nodelist.c
+++ b/ext/dom/nodelist.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: nodelist.c,v 1.17.2.2.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: nodelist.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/notation.c b/ext/dom/notation.c
index e30f5a8..cca6d3d 100644
--- a/ext/dom/notation.c
+++ b/ext/dom/notation.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: notation.c,v 1.9.2.2.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: notation.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c
index 37d4dc2..f103052 100644
--- a/ext/dom/php_dom.c
+++ b/ext/dom/php_dom.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_dom.c,v 1.73.2.12.2.15 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_dom.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/php_dom.h b/ext/dom/php_dom.h
index 61f11f3..6d985f4 100644
--- a/ext/dom/php_dom.h
+++ b/ext/dom/php_dom.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_dom.h,v 1.28.2.1.2.6 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_dom.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_DOM_H
 #define PHP_DOM_H
diff --git a/ext/dom/processinginstruction.c b/ext/dom/processinginstruction.c
index 67354d8..a358859 100644
--- a/ext/dom/processinginstruction.c
+++ b/ext/dom/processinginstruction.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: processinginstruction.c,v 1.17.2.1.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: processinginstruction.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/string_extend.c b/ext/dom/string_extend.c
index af0a1db..67503d8 100644
--- a/ext/dom/string_extend.c
+++ b/ext/dom/string_extend.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: string_extend.c,v 1.5.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: string_extend.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/tests/DOMAttr_value_basic_001.phpt b/ext/dom/tests/DOMAttr_value_basic_001.phpt
new file mode 100755
index 0000000..40e00bc
--- /dev/null
+++ b/ext/dom/tests/DOMAttr_value_basic_001.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Read empty $value. 
+--CREDIT--
+Jason Bouffard <jbouffard1 at yahoo.com>
+# TestFest Atlanta 2009-05-14
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$attr = new DOMAttr('category');
+print $attr->value."\n";
+?>
+===DONE===
+--EXPECTF--
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/dom/tests/DOMCharacterData_appendData_basic.phpt b/ext/dom/tests/DOMCharacterData_appendData_basic.phpt
index ee590de..c935957 100644
--- a/ext/dom/tests/DOMCharacterData_appendData_basic.phpt
+++ b/ext/dom/tests/DOMCharacterData_appendData_basic.phpt
@@ -3,6 +3,8 @@ DOMCharacterData::appendData basic functionality test
 --CREDITS--
 Mike Sullivan <mike at regexia.com>
 #TestFest 2008 (London)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
 --FILE--
 <?php
 
@@ -26,10 +28,13 @@ echo "CDATA Content: " . $cdatanode->data . "\n";
 echo "\n" . $document->saveXML();
 
 ?>
+===DONE===
 --EXPECT--
 CDATA Length (one append): 4
 CDATA Length (two appends): 8
 CDATA Content: data><&"
 
 <?xml version="1.0"?>
-<root><cdata><![CDATA[data><&"]]></cdata></root>
\ No newline at end of file
+<root><cdata><![CDATA[data><&"]]></cdata></root>
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/dom/tests/DOMCharacterData_data_basic_002.phpt b/ext/dom/tests/DOMCharacterData_data_basic_002.phpt
new file mode 100644
index 0000000..394b316
--- /dev/null
+++ b/ext/dom/tests/DOMCharacterData_data_basic_002.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Create CDATA section and change it using DOMcreateCDATASection
+--CREDITS--
+Nic Rosental nicrosental at gmail.com
+# TestFest Atlanta 2009-5-28 
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$document = new DOMDocument;
+$root = $document->createElement('root');
+$document->appendChild($root);
+
+$cdata = $document->createCDATASection('t');
+$root->appendChild($cdata);
+print $document->saveXML()."\n";
+
+$cdata->data = 100;
+print $document->saveXML()."\n";
+
+?>
+--EXPECT--
+<?xml version="1.0"?>
+<root><![CDATA[t]]></root>
+
+<?xml version="1.0"?>
+<root><![CDATA[100]]></root>
diff --git a/ext/dom/tests/DOMCharacterData_length_error_001.phpt b/ext/dom/tests/DOMCharacterData_length_error_001.phpt
new file mode 100755
index 0000000..0dda492
--- /dev/null
+++ b/ext/dom/tests/DOMCharacterData_length_error_001.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Invalid State Error when getting length on DOMCharacterData out of content.
+--CREDIT--
+Jason Bouffard <jbouffard1 at yahoo.com>
+# TestFest Atlanta 2009-05-14
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$character_data = new DOMCharacterData();
+print $character_data->length;
+?>
+===DONE===
+--EXPECTF--
+Warning: main(): Invalid State Error in %s
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/dom/tests/DOMCharacterData_substringData_basic_001.phpt b/ext/dom/tests/DOMCharacterData_substringData_basic_001.phpt
new file mode 100644
index 0000000..b9d73e1
--- /dev/null
+++ b/ext/dom/tests/DOMCharacterData_substringData_basic_001.phpt
@@ -0,0 +1,21 @@
+--TEST--
+__DOMCharacterData::substringData pull mid section of string 
+--CREDITS--
+Nic Rosental nicrosental at gmail.com
+# TestFest Atlanta 2009-5-28 
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$document = new DOMDocument;
+$root = $document->createElement('root');
+$document->appendChild($root);
+
+$cdata = $document->createCDATASection('testfest');
+$root->appendChild($cdata);
+print $cdata->substringData(1, 6);
+
+?>
+--EXPECT--
+estfes
\ No newline at end of file
diff --git a/ext/dom/tests/DOMDocument_config_basic.phpt b/ext/dom/tests/DOMDocument_config_basic.phpt
new file mode 100644
index 0000000..947743a
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_config_basic.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Tests DOMDocument::config read
+--CREDITS--
+Chris Snyder <chsnyder at gmail.com>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+// create dom document
+$dom = new DOMDocument;
+echo "DOMDocument created\n";
+
+$test = $dom->config;
+echo "Read config:\n";
+var_dump( $test );
+
+// note -- will always be null as DOMConfiguration is not implemented in PHP
+
+echo "Done\n";
+?>
+--EXPECT--
+DOMDocument created
+Read config:
+NULL
+Done
diff --git a/ext/dom/tests/DOMDocument_createEntityReference_basic.phpt b/ext/dom/tests/DOMDocument_createEntityReference_basic.phpt
new file mode 100644
index 0000000..4f4ddf1
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_createEntityReference_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+DOMDocument::createEntityReference() should create a new entity reference node
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+$dom = new DOMDocument('1.0');
+$ref = $dom->createEntityReference('nbsp');
+$dom->appendChild($ref);
+echo $dom->saveXML();
+?>
+--EXPECTF--
+<?xml version="1.0"?>
+&nbsp;
diff --git a/ext/dom/tests/DOMDocument_documentURI_basic.phpt b/ext/dom/tests/DOMDocument_documentURI_basic.phpt
new file mode 100644
index 0000000..e40a42b
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_documentURI_basic.phpt
@@ -0,0 +1,39 @@
+--TEST--
+Tests DOMDocument::documentURI read and write
+--CREDITS--
+Chris Snyder <chsnyder at gmail.com>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+// create dom document
+$dom = new DOMDocument;
+$xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd">
+<s1>foo</s1>';
+$dom->loadXML($xml);
+if(!$dom) {
+  echo "Error while parsing the document\n";
+  exit;
+}
+echo "DOMDocument created\n";
+
+$test = $dom->documentURI;
+echo "Read initial documentURI:\n";
+echo $test."\n";
+
+$dom->documentURI = 'http://dom.example.org/example.xml';
+$test = $dom->documentURI;
+echo "Set documentURI to a URL, reading again:\n";
+var_dump( $test );
+
+echo "Done\n";
+?>
+--EXPECTF--
+DOMDocument created
+Read initial documentURI:
+%s
+Set documentURI to a URL, reading again:
+string(34) "http://dom.example.org/example.xml"
+Done
diff --git a/ext/dom/tests/DOMDocument_encoding_basic.phpt b/ext/dom/tests/DOMDocument_encoding_basic.phpt
new file mode 100644
index 0000000..9fc099b
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_encoding_basic.phpt
@@ -0,0 +1,52 @@
+--TEST--
+DOMDocument::$encoding - read/write tests (dom_document_encoding_read/dom_document_encoding_write)
+--CREDITS--
+Hans Zaunere
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('dom_test.inc');
+
+$dom = new DOMDocument;
+$dom->loadXML($xmlstr);
+
+if( !$dom )
+{
+    echo "Error while parsing the document\n";
+    exit;
+}
+
+echo "Empty Encoding Read: {$dom->encoding}\n";
+
+$ret = $dom->encoding = 'NYPHP DOMinatrix';
+echo "Adding invalid encoding: $ret\n";
+
+$ret = $dom->encoding = 'ISO-8859-1';
+echo "Adding ISO-8859-1 encoding: $ret\n";
+echo "ISO-8859-1 Encoding Read: {$dom->encoding}\n";
+
+$ret = $dom->encoding = 'UTF-8';
+echo "Adding UTF-8 encoding: $ret\n";
+echo "UTF-8 Encoding Read: {$dom->encoding}\n";
+
+$ret = $dom->encoding = 'UTF-16';
+echo "Adding UTF-16 encoding: $ret\n";
+echo "UTF-16 Encoding Read: {$dom->encoding}\n";
+
+
+?>
+--EXPECTF--
+Empty Encoding Read: 
+
+Warning: main(): Invalid Document Encoding in %s on line %d
+Adding invalid encoding: NYPHP DOMinatrix
+Adding ISO-8859-1 encoding: ISO-8859-1
+ISO-8859-1 Encoding Read: ISO-8859-1
+Adding UTF-8 encoding: UTF-8
+UTF-8 Encoding Read: UTF-8
+Adding UTF-16 encoding: UTF-16
+UTF-16 Encoding Read: UTF-16
+
diff --git a/ext/dom/tests/DOMDocument_implementationRead_basic.phpt b/ext/dom/tests/DOMDocument_implementationRead_basic.phpt
new file mode 100644
index 0000000..17daddf
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_implementationRead_basic.phpt
@@ -0,0 +1,21 @@
+--TEST--
+DOMDocument::DOMImplementation - basic test for DomDocument::DOMImplementation
+--CREDITS--
+Lev Radin <prokurator at gmail.com>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+$doc->load(dirname(__FILE__)."/book.xml");
+
+var_dump($doc->implementation);
+
+
+?>
+--EXPECTF--
+object(DOMImplementation)#%d (0) {
+}
+
diff --git a/ext/dom/tests/DOMDocument_preserveWhiteSpace_basic.phpt b/ext/dom/tests/DOMDocument_preserveWhiteSpace_basic.phpt
new file mode 100644
index 0000000..a772bc8
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_preserveWhiteSpace_basic.phpt
@@ -0,0 +1,23 @@
+--TEST--
+DOMDocument::$preserveWhiteSpace - test ability to read and write property
+--CREDITS--
+Lev Radin <prokurator at gmail.com>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+$doc->load(dirname(__FILE__)."/book.xml");
+
+var_dump($doc->preserveWhiteSpace);
+
+$doc->preserveWhiteSpace = false;
+var_dump($doc->preserveWhiteSpace);
+
+?>
+--EXPECT--
+bool(true)
+bool(false)
+
diff --git a/ext/dom/tests/DOMDocument_preserveWhiteSpace_variations.phpt b/ext/dom/tests/DOMDocument_preserveWhiteSpace_variations.phpt
new file mode 100644
index 0000000..e467f56
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_preserveWhiteSpace_variations.phpt
@@ -0,0 +1,40 @@
+--TEST--
+DOMDocument::$preserveWhiteSpace - test ability to read and write property
+--CREDITS--
+Lev Radin <prokurator at gmail.com>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+echo "Load document with preserveWhiteSpace on\n";
+$doc = new DOMDocument;
+$doc->load(dirname(__FILE__)."/book.xml");
+echo $doc->saveXML();
+
+
+echo "\nLoad document with preserveWhiteSpace off\n";
+$doc = new DOMDocument;
+$doc->preserveWhiteSpace = false;
+$doc->load(dirname(__FILE__)."/book.xml");
+echo $doc->saveXML();
+
+?>
+--EXPECT--
+Load document with preserveWhiteSpace on
+<?xml version="1.0"?>
+<books>
+ <book>
+  <title>The Grapes of Wrath</title>
+  <author>John Steinbeck</author>
+ </book>
+ <book>
+  <title>The Pearl</title>
+  <author>John Steinbeck</author>
+ </book>
+</books>
+
+Load document with preserveWhiteSpace off
+<?xml version="1.0"?>
+<books><book><title>The Grapes of Wrath</title><author>John Steinbeck</author></book><book><title>The Pearl</title><author>John Steinbeck</author></book></books>
diff --git a/ext/dom/tests/DOMDocument_resolveExternals_basic.phpt b/ext/dom/tests/DOMDocument_resolveExternals_basic.phpt
new file mode 100644
index 0000000..ccada3f
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_resolveExternals_basic.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Tests DOMDocument::resoleExternals get and set
+--CREDITS--
+Chris Snyder <chsnyder at gmail.com>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+// create dom document
+$dom = new DOMDocument;
+$xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<h1>&quot;Foo&quot;</h1>';
+$dom->loadXML($xml);
+if(!$dom) {
+  echo "Error while parsing the document\n";
+  exit;
+}
+echo "DOMDocument with external entities created\n";
+
+$test = $dom->resolveExternals;
+echo "Read initial resolveExternals:\n";
+var_dump( $test );
+
+$dom->resolveExternals = TRUE;
+$test = $dom->resolveExternals;
+echo "Set resolveExternals to TRUE, reading again:\n";
+var_dump( $test );
+
+/**
+ * Don't bother testing the resolveExternals functionality here, it throws warnings on html dtd
+ *
+echo "Reloading xml with resolveExternals turned on\n";
+$dom->loadXML($xml);
+$test = $dom->saveXML();
+var_dump( $test );
+ */
+
+echo "Done";
+?>
+--EXPECT--
+DOMDocument with external entities created
+Read initial resolveExternals:
+bool(false)
+Set resolveExternals to TRUE, reading again:
+bool(true)
+Done
\ No newline at end of file
diff --git a/ext/dom/tests/DOMDocument_saveHTMLFile_basic.phpt b/ext/dom/tests/DOMDocument_saveHTMLFile_basic.phpt
new file mode 100644
index 0000000..dd0824b
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_saveHTMLFile_basic.phpt
@@ -0,0 +1,29 @@
+--TEST--
+DOMDocument::saveHTMLFile() should dump the internal document into a file using HTML formatting
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+$filename = dirname(__FILE__)."/tmp_savehtmlfile".time().".html";
+$doc = new DOMDocument('1.0');
+$root = $doc->createElement('html');
+$root = $doc->appendChild($root);
+$head = $doc->createElement('head');
+$head = $root->appendChild($head);
+$title = $doc->createElement('title');
+$title = $head->appendChild($title);
+$text = $doc->createTextNode('This is the title');
+$text = $title->appendChild($text);
+$bytes = $doc->saveHTMLFile($filename);
+var_dump($bytes);
+echo file_get_contents($filename);
+unlink($filename);
+?>
+--EXPECTF--
+int(126)
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>This is the title</title></head></html>
diff --git a/ext/dom/tests/DOMDocument_saveHTMLFile_error1.phpt b/ext/dom/tests/DOMDocument_saveHTMLFile_error1.phpt
new file mode 100644
index 0000000..d4dfbe8
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_saveHTMLFile_error1.phpt
@@ -0,0 +1,24 @@
+--TEST--
+DOMDocument::saveHTMLFile() should fail if no parameter is given
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+?>
+--FILE--
+<?php
+$doc = new DOMDocument('1.0');
+$root = $doc->createElement('html');
+$root = $doc->appendChild($root);
+$head = $doc->createElement('head');
+$head = $root->appendChild($head);
+$title = $doc->createElement('title');
+$title = $head->appendChild($title);
+$text = $doc->createTextNode('This is the title');
+$text = $title->appendChild($text);
+$doc->saveHTMLFile();
+?>
+--EXPECTF--
+Warning: DOMDocument::saveHTMLFile() expects exactly 1 parameter, 0 given in %s on line %d
diff --git a/ext/dom/tests/DOMDocument_saveHTMLFile_error2.phpt b/ext/dom/tests/DOMDocument_saveHTMLFile_error2.phpt
new file mode 100644
index 0000000..33e07c6
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_saveHTMLFile_error2.phpt
@@ -0,0 +1,15 @@
+--TEST--
+DOMDocument::saveHTMLFile() should fail if called statically
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+DOMDocument::saveHTMLFile();
+?>
+--EXPECTF--
+Fatal error: Non-static method DOMDocument::saveHTMLFile() cannot be called statically in %s on line %d
diff --git a/ext/dom/tests/DOMDocument_saveHTMLFile_formatOutput.phpt b/ext/dom/tests/DOMDocument_saveHTMLFile_formatOutput.phpt
new file mode 100644
index 0000000..5aece37
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_saveHTMLFile_formatOutput.phpt
@@ -0,0 +1,33 @@
+--TEST--
+DOMDocument::saveHTMLFile() should format output on demand
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+$filename = dirname(__FILE__)."/tmp_savehtmlfile".time().".html";
+$doc = new DOMDocument('1.0');
+$doc->formatOutput = true;
+$root = $doc->createElement('html');
+$root = $doc->appendChild($root);
+$head = $doc->createElement('head');
+$head = $root->appendChild($head);
+$title = $doc->createElement('title');
+$title = $head->appendChild($title);
+$text = $doc->createTextNode('This is the title');
+$text = $title->appendChild($text);
+$bytes = $doc->saveHTMLFile($filename);
+var_dump($bytes);
+echo file_get_contents($filename);
+unlink($filename);
+?>
+--EXPECTF--
+int(129)
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>This is the title</title>
+</head></html>
diff --git a/ext/dom/tests/DOMDocument_saveHTMLFile_invalid_filename.phpt b/ext/dom/tests/DOMDocument_saveHTMLFile_invalid_filename.phpt
new file mode 100644
index 0000000..d5c6a79
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_saveHTMLFile_invalid_filename.phpt
@@ -0,0 +1,25 @@
+--TEST--
+DOMDocument::saveHTMLFile() should fail with invalid filename
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+$filename = null;
+$doc = new DOMDocument('1.0');
+$root = $doc->createElement('html');
+$root = $doc->appendChild($root);
+$head = $doc->createElement('head');
+$head = $root->appendChild($head);
+$title = $doc->createElement('title');
+$title = $head->appendChild($title);
+$text = $doc->createTextNode('This is the title');
+$text = $title->appendChild($text);
+$bytes = $doc->saveHTMLFile($filename);
+?>
+--EXPECTF--
+Warning: DOMDocument::saveHTMLFile(): Invalid Filename in %s on line %d
diff --git a/ext/dom/tests/DOMDocument_saveHTML_basic.phpt b/ext/dom/tests/DOMDocument_saveHTML_basic.phpt
new file mode 100644
index 0000000..76f1ed0
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_saveHTML_basic.phpt
@@ -0,0 +1,24 @@
+--TEST--
+DOMDocument::saveHTML() should dump the internal document into a string using HTML formatting 
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+$doc = new DOMDocument('1.0');
+$root = $doc->createElement('html');
+$root = $doc->appendChild($root);
+$head = $doc->createElement('head');
+$head = $root->appendChild($head);
+$title = $doc->createElement('title');
+$title = $head->appendChild($title);
+$text = $doc->createTextNode('This is the title');
+$text = $title->appendChild($text);
+echo $doc->saveHTML();
+?>
+--EXPECTF--
+<html><head><title>This is the title</title></head></html>
diff --git a/ext/dom/tests/DOMDocument_saveHTML_error1.phpt b/ext/dom/tests/DOMDocument_saveHTML_error1.phpt
new file mode 100644
index 0000000..78718de
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_saveHTML_error1.phpt
@@ -0,0 +1,24 @@
+--TEST--
+DOMDocument::saveHTML() should fail if a parameter is given
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+?>
+--FILE--
+<?php
+$doc = new DOMDocument('1.0');
+$root = $doc->createElement('html');
+$root = $doc->appendChild($root);
+$head = $doc->createElement('head');
+$head = $root->appendChild($head);
+$title = $doc->createElement('title');
+$title = $head->appendChild($title);
+$text = $doc->createTextNode('This is the title');
+$text = $title->appendChild($text);
+echo $doc->saveHTML(true);
+?>
+--EXPECTF--
+Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given in %s on line %d
diff --git a/ext/dom/tests/DOMDocument_saveHTML_error2.phpt b/ext/dom/tests/DOMDocument_saveHTML_error2.phpt
new file mode 100644
index 0000000..614605b
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_saveHTML_error2.phpt
@@ -0,0 +1,15 @@
+--TEST--
+DOMDocument::saveHTML() should fail if called statically
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+DOMDocument::saveHTML(true);
+?>
+--EXPECTF--
+Fatal error: Non-static method DOMDocument::saveHTML() cannot be called statically in %s on line %d
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_basic.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_basic.phpt
new file mode 100755
index 0000000..38bc3fa
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_basic.phpt
@@ -0,0 +1,22 @@
+--TEST--
+DomDocument::schemaValidateSource() - basic
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$xsd = file_get_contents(dirname(__FILE__)."/book.xsd");
+
+$result = $doc->schemaValidateSource($xsd);
+var_dump($result);
+
+?>
+--EXPECT--
+bool(true)
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_error1.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_error1.phpt
new file mode 100755
index 0000000..51eb82e
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_error1.phpt
@@ -0,0 +1,29 @@
+--TEST--
+DomDocument::schemaValidateSource() - string that is not a schema
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$result = $doc->schemaValidateSource('string that is not a schema');
+var_dump($result);
+
+?>
+--EXPECTF--
+Warning: DOMDocument::schemaValidateSource(): Entity: line 1: parser error : Start tag expected, '<' not found in %s.php on line %d
+
+Warning: DOMDocument::schemaValidateSource(): string that is not a schema in %s.php on line %d
+
+Warning: DOMDocument::schemaValidateSource(): ^ in %s.php on line %d
+
+Warning: DOMDocument::schemaValidateSource(): Failed to parse the XML resource 'in_memory_buffer'. in %s.php on line %d
+
+Warning: DOMDocument::schemaValidateSource(): Invalid Schema in %s.php on line %d
+bool(false)
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_error2.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_error2.phpt
new file mode 100755
index 0000000..41a833b
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_error2.phpt
@@ -0,0 +1,23 @@
+--TEST--
+DomDocument::schemaValidateSource() - non-conforming schema
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$xsd = file_get_contents(dirname(__FILE__)."/book-non-conforming-schema.xsd");
+
+$result = $doc->schemaValidateSource($xsd);
+var_dump($result);
+
+?>
+--EXPECTF--
+Warning: DOMDocument::schemaValidateSource(): Element 'books': No matching global declaration available for the validation root. in %s.php on line %d
+bool(false)
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_error3.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_error3.phpt
new file mode 100755
index 0000000..93dd792
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_error3.phpt
@@ -0,0 +1,21 @@
+--TEST--
+DomDocument::schemaValidateSource() - empty string for schema string
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$result = $doc->schemaValidateSource('');
+var_dump($result);
+
+?>
+--EXPECTF--
+Warning: DOMDocument::schemaValidateSource(): Invalid Schema source in %s.php on line %d
+bool(false)
diff --git a/ext/dom/tests/DOMDocument_schemaValidateSource_error4.phpt b/ext/dom/tests/DOMDocument_schemaValidateSource_error4.phpt
new file mode 100755
index 0000000..65c8d86
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidateSource_error4.phpt
@@ -0,0 +1,21 @@
+--TEST--
+DomDocument::schemaValidateSource() - pass no parameters
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$result = $doc->schemaValidateSource();
+var_dump($result);
+
+?>
+--EXPECTF--
+Warning: DOMDocument::schemaValidateSource() expects exactly 1 parameter, 0 given in %s.php on line %d
+NULL
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_basic.phpt b/ext/dom/tests/DOMDocument_schemaValidate_basic.phpt
new file mode 100755
index 0000000..eec790d
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidate_basic.phpt
@@ -0,0 +1,20 @@
+--TEST--
+DomDocument::schemaValidate() - basic
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$result = $doc->schemaValidate(dirname(__FILE__)."/book.xsd");
+var_dump($result);
+
+?>
+--EXPECT--
+bool(true)
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error1.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error1.phpt
new file mode 100755
index 0000000..594c3c4
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error1.phpt
@@ -0,0 +1,29 @@
+--TEST--
+DomDocument::schemaValidate() - file that is not a schema
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$result = $doc->schemaValidate(dirname(__FILE__)."/book-not-a-schema.xsd");
+var_dump($result);
+
+?>
+--EXPECTF--
+Warning: DOMDocument::schemaValidate(): %sbook-not-a-schema.xsd:1: parser error : Start tag expected, '<' not found in %s.php on line %d
+
+Warning: DOMDocument::schemaValidate(): Let's see what happens upon parsing a file that doesn't contain a schema. in %s.php on line %d
+
+Warning: DOMDocument::schemaValidate(): ^ in %s.php on line %d
+
+Warning: DOMDocument::schemaValidate(): Failed to parse the XML resource '%sbook-not-a-schema.xsd'. in %s.php on line %d
+
+Warning: DOMDocument::schemaValidate(): Invalid Schema in %s.php on line %d
+bool(false)
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error2.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error2.phpt
new file mode 100755
index 0000000..5ffd533
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error2.phpt
@@ -0,0 +1,21 @@
+--TEST--
+DomDocument::schemaValidate() - non-conforming schema file
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$result = $doc->schemaValidate(dirname(__FILE__)."/book-non-conforming-schema.xsd");
+var_dump($result);
+
+?>
+--EXPECTF--
+Warning: DOMDocument::schemaValidate(): Element 'books': No matching global declaration available for the validation root. in %s.php on line %d
+bool(false)
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error3.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error3.phpt
new file mode 100755
index 0000000..275204f
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error3.phpt
@@ -0,0 +1,21 @@
+--TEST--
+DomDocument::schemaValidate() - empty string for schema file name
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$result = $doc->schemaValidate('');
+var_dump($result);
+
+?>
+--EXPECTF--
+Warning: DOMDocument::schemaValidate(): Invalid Schema source in %s.php on line %d
+bool(false)
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error4.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error4.phpt
new file mode 100755
index 0000000..d4817de
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error4.phpt
@@ -0,0 +1,21 @@
+--TEST--
+DomDocument::schemaValidate() - pass no parameters
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$result = $doc->schemaValidate();
+var_dump($result);
+
+?>
+--EXPECTF--
+Warning: DOMDocument::schemaValidate() expects exactly 1 parameter, 0 given in %s.php on line %d
+NULL
diff --git a/ext/dom/tests/DOMDocument_schemaValidate_error5.phpt b/ext/dom/tests/DOMDocument_schemaValidate_error5.phpt
new file mode 100755
index 0000000..d3f0658
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_schemaValidate_error5.phpt
@@ -0,0 +1,25 @@
+--TEST--
+DomDocument::schemaValidate() - non-existant schema file
+--CREDITS--
+Daniel Convissor <danielc at php.net>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+
+$doc->load(dirname(__FILE__)."/book.xml");
+
+$result = $doc->schemaValidate(dirname(__FILE__)."/non-existant-file");
+var_dump($result);
+
+?>
+--EXPECTF--
+Warning: DOMDocument::schemaValidate(): I/O warning : failed to load external entity "%snon-existant-file" in %s.php on line %d
+
+Warning: DOMDocument::schemaValidate(): Failed to locate the main schema resource at '%s/non-existant-file'. in %s.php on line %d
+
+Warning: DOMDocument::schemaValidate(): Invalid Schema in %s.php on line %d
+bool(false)
diff --git a/ext/dom/tests/DOMDocument_standalone_basic.phpt b/ext/dom/tests/DOMDocument_standalone_basic.phpt
new file mode 100644
index 0000000..2316a38
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_standalone_basic.phpt
@@ -0,0 +1,48 @@
+--TEST--
+Tests DOMDocument::standalone get, set, and functionality
+--CREDITS--
+Chris Snyder <chsnyder at gmail.com>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+// create dom document
+$dom = new DOMDocument;
+$xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd">
+<s1>foo</s1>';
+$dom->loadXML($xml);
+if(!$dom) {
+  echo "Error while parsing the document\n";
+  exit;
+}
+echo "Standalone DOMDocument created\n";
+
+$test = $dom->standalone;
+echo "Read initial standalone:\n";
+var_dump( $test );
+
+$dom->standalone = FALSE;
+$test = $dom->standalone;
+echo "Set standalone to FALSE, reading again:\n";
+var_dump( $test );
+
+$test = $dom->saveXML();
+echo "Document is no longer standalone\n";
+var_dump( $test );
+
+echo "Done";
+?>
+--EXPECT--
+Standalone DOMDocument created
+Read initial standalone:
+bool(true)
+Set standalone to FALSE, reading again:
+bool(false)
+Document is no longer standalone
+string(136) "<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd">
+<s1>foo</s1>
+"
+Done
\ No newline at end of file
diff --git a/ext/dom/tests/DOMDocument_strictErrorChecking_basic.phpt b/ext/dom/tests/DOMDocument_strictErrorChecking_basic.phpt
new file mode 100644
index 0000000..9ad55a4
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_strictErrorChecking_basic.phpt
@@ -0,0 +1,22 @@
+--TEST--
+DomDocument::$strictErrorChecking - basic test 
+--CREDITS--
+Vincent Tsao <notes4vincent at gmail.com>
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+$doc = new DOMDocument;
+$doc->load(dirname(__FILE__)."/book.xml");
+
+var_dump($doc->strictErrorChecking);
+
+$doc->strictErrorChecking = false;
+var_dump($doc->strictErrorChecking);
+
+?>
+--EXPECT--
+bool(true)
+bool(false)
diff --git a/ext/dom/tests/DOMDocument_strictErrorChecking_variation.phpt b/ext/dom/tests/DOMDocument_strictErrorChecking_variation.phpt
new file mode 100644
index 0000000..b6d94f9
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_strictErrorChecking_variation.phpt
@@ -0,0 +1,59 @@
+--TEST--
+DomDocument::$strictErrorChecking - ensure turning off actually works
+--CREDITS--
+Vincent Tsao <notes4vincent at gmail.com>
+(and Dan Convissor)
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+echo "Load document\n";
+$doc = new DOMDocument;
+$doc->load(dirname(__FILE__)."/book.xml");
+
+echo "See if strictErrorChecking is on\n";
+var_dump($doc->strictErrorChecking);
+
+echo "Should throw DOMException when strictErrorChecking is on\n";
+try {
+	$attr = $doc->createAttribute(0);
+} catch (DOMException $e) {
+	echo "GOOD. DOMException thrown\n";
+	echo $e->getMessage() ."\n";
+} catch (Exception $e) {
+	echo "OOPS. Other exception thrown\n";
+}
+
+
+echo "Turn strictErrorChecking off\n";
+$doc->strictErrorChecking = false;
+
+echo "See if strictErrorChecking is off\n";
+var_dump($doc->strictErrorChecking);
+
+echo "Should raise PHP error because strictErrorChecking is off\n";
+try {
+	$attr = $doc->createAttribute(0);
+} catch (DOMException $e) {
+	echo "OOPS. DOMException thrown\n";
+	echo $e->getMessage() ."\n";
+} catch (Exception $e) {
+	echo "OOPS. Other exception thrown\n";
+}
+
+?>
+--EXPECTF--
+Load document
+See if strictErrorChecking is on
+bool(true)
+Should throw DOMException when strictErrorChecking is on
+GOOD. DOMException thrown
+Invalid Character Error
+Turn strictErrorChecking off
+See if strictErrorChecking is off
+bool(false)
+Should raise PHP error because strictErrorChecking is off
+
+Warning: DOMDocument::createAttribute(): Invalid Character Error in %sDOMDocument_strictErrorChecking_variation.php on line %d
diff --git a/ext/dom/tests/DOMDocument_validate_basic.phpt b/ext/dom/tests/DOMDocument_validate_basic.phpt
new file mode 100644
index 0000000..7c0eec8
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_validate_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+DOMDocument::validate() should validate an internal DTD declaration
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+$xml = "<?xml version=\"1.0\"?>
+<!DOCTYPE note [
+<!ELEMENT note (to,from,heading,body)>
+<!ELEMENT to (#PCDATA)>
+<!ELEMENT from (#PCDATA)>
+<!ELEMENT heading (#PCDATA)>
+<!ELEMENT body (#PCDATA)>
+]>
+<note>
+<to>Tove</to>
+<from>Jani</from>
+<heading>Reminder</heading>
+<body>Don't forget me this weekend</body>
+</note>";
+$dom = new DOMDocument('1.0');
+$dom->loadXML($xml);
+var_dump($dom->validate());
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/dom/tests/DOMDocument_validate_error1.phpt b/ext/dom/tests/DOMDocument_validate_error1.phpt
new file mode 100644
index 0000000..8e1e72f
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_validate_error1.phpt
@@ -0,0 +1,16 @@
+--TEST--
+DOMDocument::validate() should fail if any parameter is given
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+$dom = new DOMDocument('1.0');
+$dom->validate(true);
+?>
+--EXPECTF--
+Warning: DOMDocument::validate() expects exactly 0 parameters, 1 given in %s on line %d
diff --git a/ext/dom/tests/DOMDocument_validate_error2.phpt b/ext/dom/tests/DOMDocument_validate_error2.phpt
new file mode 100644
index 0000000..fe7e4fc
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_validate_error2.phpt
@@ -0,0 +1,15 @@
+--TEST--
+DOMDocument::validate() should fail if called statically
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+DOMDocument::validate();
+?>
+--EXPECTF--
+Fatal error: Non-static method DOMDocument::validate() cannot be called statically in %s on line %d
diff --git a/ext/dom/tests/DOMDocument_validate_external_dtd.phpt b/ext/dom/tests/DOMDocument_validate_external_dtd.phpt
new file mode 100644
index 0000000..51a044c
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_validate_external_dtd.phpt
@@ -0,0 +1,19 @@
+--TEST--
+DOMDocument::validate() should validate an external DTD declaration
+--CREDITS--
+Knut Urdalen <knut at php.net>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+require_once dirname(__FILE__) .'/skipif.inc';
+?>
+--FILE--
+<?php
+// reusing existing xml: http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/dom.xml?view=co&content-type=text%2Fplain
+// reusing existing dtd: http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/dom.ent?view=co&content-type=text%2Fplain
+$dom = new DOMDocument('1.0');
+$dom->load(dirname(__FILE__).'/dom.xml');
+var_dump($dom->validate());
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/dom/tests/DOMDocument_validate_on_parse_basic.phpt b/ext/dom/tests/DOMDocument_validate_on_parse_basic.phpt
new file mode 100644
index 0000000..a95b0a3
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_validate_on_parse_basic.phpt
@@ -0,0 +1,38 @@
+--TEST--
+DOMDocument::$validateOnParse - read/write tests (dom_document_validate_on_parse_read/dom_document_validate_on_parse_write)
+--CREDITS--
+Hans Zaunere
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('dom_test.inc');
+
+$dom = new DOMDocument;
+$dom->loadXML($xmlstr);
+
+if( !$dom )
+{
+    echo "Error while parsing the document\n";
+    exit;
+}
+
+echo "Checking documented default value: ";
+var_dump($dom->validateOnParse);
+
+$dom->validateOnParse = TRUE;
+echo "Setting validateOnParse to TRUE: ";
+var_dump($dom->validateOnParse);
+
+$dom->validateOnParse = FALSE;
+echo "Setting validateOnParse to FALSE: ";
+var_dump($dom->validateOnParse);
+
+?>
+--EXPECT--
+Checking documented default value: bool(false)
+Setting validateOnParse to TRUE: bool(true)
+Setting validateOnParse to FALSE: bool(false)
+
diff --git a/ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt b/ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt
new file mode 100644
index 0000000..6aa390c
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_validate_on_parse_variation.phpt
@@ -0,0 +1,49 @@
+--TEST--
+DOMDocument::$validateOnParse - effectual determination (dom_document_validate_on_parse_read/dom_document_validate_on_parse_write)
+--CREDITS--
+Hans Zaunere
+# TestFest 2009 NYPHP
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+
+// need external DTD/XML docs
+if( @file_get_contents('http://www.php.net/') === FALSE )
+    exit('skip network not available');
+?>
+--FILE--
+<?php
+
+require_once('dom_test.inc');
+
+$XMLStringGood = file_get_contents('http://www.php.net/');
+
+$dom = new DOMDocument;
+$dom->resolveExternals = TRUE;
+
+$dom->validateOnParse = FALSE;
+echo "validateOnParse set to FALSE: \n";
+$dom->loadXML($XMLStringGood);
+echo "No Error Report Above\n";
+
+$BogusElement = $dom->createElement('NYPHP','DOMinatrix');
+$Body = $dom->getElementsByTagName('body')->item(0);
+$Body->appendChild($BogusElement);
+$XMLStringBad = $dom->saveXML();
+
+echo "validateOnParse set to TRUE: \n";
+$dom->validateOnParse = TRUE;
+$dom->loadXML($XMLStringBad);
+echo "Error Report Above\n";
+
+?>
+--EXPECTF--
+validateOnParse set to FALSE: 
+No Error Report Above
+validateOnParse set to TRUE: 
+
+Warning: DOMDocument::loadXML(): No declaration for element NYPHP in Entity, line: %d in %s on line %d
+
+Warning: DOMDocument::loadXML(): Element body content does not follow the DTD, expecting (p | h1 | h2 | h3 | h4 | h5 | h6 | div | ul | ol | dl | pre | hr | blockquote | address | fieldset | table | form | noscript | ins | del | script)*, got (div div div div div NYPHP) in Entity, line: %d in %s on line %d
+Error Report Above
+
diff --git a/ext/dom/tests/DOMText_appendData_basic.phpt b/ext/dom/tests/DOMText_appendData_basic.phpt
index 6a28a9a..0eea699 100644
--- a/ext/dom/tests/DOMText_appendData_basic.phpt
+++ b/ext/dom/tests/DOMText_appendData_basic.phpt
@@ -3,6 +3,8 @@ DOMText::appendData basic functionality test
 --CREDITS--
 Mike Sullivan <mike at regexia.com>
 #TestFest 2008 (London)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
 --FILE--
 <?php
 
@@ -26,10 +28,13 @@ echo "Text Content: " . $textnode->data . "\n";
 echo "\n" . $document->saveXML();
 
 ?>
+===DONE===
 --EXPECT--
 Text Length (one append): 4
 Text Length (two appends): 8
 Text Content: data><&"
 
 <?xml version="1.0"?>
-<root><text>data&gt;&lt;&amp;"</text></root>
\ No newline at end of file
+<root><text>data&gt;&lt;&amp;"</text></root>
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/dom/tests/book-non-conforming-schema.xsd b/ext/dom/tests/book-non-conforming-schema.xsd
new file mode 100755
index 0000000..d1ecbef
--- /dev/null
+++ b/ext/dom/tests/book-non-conforming-schema.xsd
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="make_it_fail">
+  <xs:complexType>
+   <xs:sequence>
+    <xs:element name="book" minOccurs="1" maxOccurs="unbounded">
+     <xs:complexType>
+      <xs:sequence>
+       <xs:element name="title" type="xs:string"/>
+       <xs:element name="author" type="xs:string"/>
+      </xs:sequence>
+     </xs:complexType>
+    </xs:element>
+   </xs:sequence>
+  </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/ext/dom/tests/book-not-a-schema.xsd b/ext/dom/tests/book-not-a-schema.xsd
new file mode 100755
index 0000000..d89e3bb
--- /dev/null
+++ b/ext/dom/tests/book-not-a-schema.xsd
@@ -0,0 +1 @@
+Let's see what happens upon parsing a file that doesn't contain a schema.
diff --git a/ext/dom/tests/book.xsd b/ext/dom/tests/book.xsd
new file mode 100755
index 0000000..45986fc
--- /dev/null
+++ b/ext/dom/tests/book.xsd
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="books">
+  <xs:complexType>
+   <xs:sequence>
+    <xs:element name="book" minOccurs="1" maxOccurs="unbounded">
+     <xs:complexType>
+      <xs:sequence>
+       <xs:element name="title" type="xs:string"/>
+       <xs:element name="author" type="xs:string"/>
+      </xs:sequence>
+     </xs:complexType>
+    </xs:element>
+   </xs:sequence>
+  </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/ext/dom/tests/bug42082.phpt b/ext/dom/tests/bug42082.phpt
index 86f32dd..ab018a7 100644
--- a/ext/dom/tests/bug42082.phpt
+++ b/ext/dom/tests/bug42082.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #42082 (NodeList length zero should be empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
 --FILE--
 <?php
 $doc = new DOMDocument();
@@ -14,6 +16,7 @@ $doc->loadXML("<element></element>");
 var_dump($doc->firstChild->nodeValue, empty($doc->firstChild->nodeValue), isset($doc->firstChild->nodeValue));
 var_dump(empty($doc->nodeType), empty($doc->firstChild->nodeType))
 ?>
+===DONE===
 --EXPECTF--
 object(DOMNodeList)#%d (0) {
 }
@@ -24,4 +27,6 @@ string(0) ""
 bool(true)
 bool(true)
 bool(false)
-bool(false) 
\ No newline at end of file
+bool(false)
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/dom/tests/bug43364.phpt b/ext/dom/tests/bug43364.phpt
index 0df581b..daca894 100644
--- a/ext/dom/tests/bug43364.phpt
+++ b/ext/dom/tests/bug43364.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #43364 (recursive xincludes don't remove internal xml nodes properly)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
 --FILE--
 <?php 
 function loopElements($nodes)
@@ -36,5 +38,8 @@ $count = loopElements(array($doc->documentElement));
 
 var_dump($count);
 ?>
+===DONE===
 --EXPECT--
 int(13)
+===DONE===
+	
diff --git a/ext/dom/tests/domdocument_createcomment_error_001.phpt b/ext/dom/tests/domdocument_createcomment_error_001.phpt
new file mode 100644
index 0000000..24104a1
--- /dev/null
+++ b/ext/dom/tests/domdocument_createcomment_error_001.phpt
@@ -0,0 +1,16 @@
+--TEST--
+DomDocument::CreateComment() - Incorrect Parameters
+--CREDITS--
+Clint Priest @ PhpTek09
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+	$x = new DomDocument();
+	$x->createComment();
+?>
+===DONE===
+--EXPECTF--
+Warning: DOMDocument::createComment() expects exactly 1 parameter, 0 given in %s
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/dom/tests/domdocument_createentityreference_001.phpt b/ext/dom/tests/domdocument_createentityreference_001.phpt
new file mode 100644
index 0000000..7343e74
--- /dev/null
+++ b/ext/dom/tests/domdocument_createentityreference_001.phpt
@@ -0,0 +1,18 @@
+--TEST--
+DomDocument::CreateEntityReference() - Creates an entity reference with the appropriate name
+--CREDITS--
+Clint Priest @ PhpTek09
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+	$objDoc = new DomDocument();
+	
+	$objRef = $objDoc->createEntityReference('Test');
+	echo $objRef->nodeName . "\n";
+?>
+===DONE===
+--EXPECT--
+Test
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/dom/tests/domdocument_createentityreference_002.phpt b/ext/dom/tests/domdocument_createentityreference_002.phpt
new file mode 100644
index 0000000..a2416c2
--- /dev/null
+++ b/ext/dom/tests/domdocument_createentityreference_002.phpt
@@ -0,0 +1,17 @@
+--TEST--
+DomDocument::CreateEntityReference() - Empty Arguments
+--CREDITS--
+Clint Priest @ PhpTek09
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+	$objDoc = new DomDocument();
+	
+	$objRef = $objDoc->createEntityReference();
+?>
+===DONE===
+--EXPECTF--
+Warning: DOMDocument::createEntityReference() expects exactly 1 parameter, 0 given in %s
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/dom/text.c b/ext/dom/text.c
index b0acfa0..a23d4d3 100644
--- a/ext/dom/text.c
+++ b/ext/dom/text.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: text.c,v 1.23.2.1.2.9 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: text.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/typeinfo.c b/ext/dom/typeinfo.c
index 8753be9..1666606 100644
--- a/ext/dom/typeinfo.c
+++ b/ext/dom/typeinfo.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: typeinfo.c,v 1.6.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: typeinfo.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/userdatahandler.c b/ext/dom/userdatahandler.c
index a2655c7..942a332 100644
--- a/ext/dom/userdatahandler.c
+++ b/ext/dom/userdatahandler.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: userdatahandler.c,v 1.6.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: userdatahandler.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/dom/xml_common.h b/ext/dom/xml_common.h
index 3578763..6e2bd3f 100644
--- a/ext/dom/xml_common.h
+++ b/ext/dom/xml_common.h
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: xml_common.h,v 1.23.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: xml_common.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_XML_COMMON_H
 #define PHP_XML_COMMON_H
diff --git a/ext/dom/xpath.c b/ext/dom/xpath.c
index 76561fe..31bcc51 100644
--- a/ext/dom/xpath.c
+++ b/ext/dom/xpath.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: xpath.c,v 1.26.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: xpath.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/exif/config.m4 b/ext/exif/config.m4
index 633cb4a..6d1d8c5 100644
--- a/ext/exif/config.m4
+++ b/ext/exif/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.8 2002/09/19 20:14:34 derick Exp $
+dnl $Id: config.m4 96181 2002-09-19 20:14:35Z derick $
 dnl
 
 PHP_ARG_ENABLE(exif, whether to enable EXIF (metadata from images) support,
diff --git a/ext/exif/config.w32 b/ext/exif/config.w32
index de8154e..05a0f5b 100644
--- a/ext/exif/config.w32
+++ b/ext/exif/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.3 2005/02/25 01:17:45 helly Exp $
+// $Id: config.w32 180733 2005-02-25 01:17:45Z helly $
 // vim:ft=javascript
 
 ARG_ENABLE("exif", "exif", "no");
diff --git a/ext/exif/example.php b/ext/exif/example.php
index 8f6e31f..fb9b5ad 100644
--- a/ext/exif/example.php
+++ b/ext/exif/example.php
@@ -1,7 +1,7 @@
 <?php
 // (c) M.Boerger
 //
-// $Id: example.php,v 1.1 2002/03/08 11:33:45 helly Exp $
+// $Id: example.php 72471 2002-03-08 11:33:46Z helly $
 //
 ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional">
 <html>
diff --git a/ext/exif/exif.c b/ext/exif/exif.c
index 13e0cf8..55f3cf2 100644
--- a/ext/exif/exif.c
+++ b/ext/exif/exif.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: exif.c,v 1.173.2.5.2.28 2009/05/28 14:03:09 pajoye Exp $ */
+/* $Id: exif.c 287371 2009-08-16 14:31:27Z iliaa $ */
 
 /*  ToDos
  *
@@ -142,7 +142,7 @@ zend_function_entry exif_functions[] = {
 };
 /* }}} */
 
-#define EXIF_VERSION "1.4 $Id: exif.c,v 1.173.2.5.2.28 2009/05/28 14:03:09 pajoye Exp $"
+#define EXIF_VERSION "1.4 $Id: exif.c 287371 2009-08-16 14:31:27Z iliaa $"
 
 /* {{{ PHP_MINFO_FUNCTION
  */
@@ -3243,7 +3243,7 @@ static void exif_process_APP1(image_info_type *ImageInfo, char *CharBuf, size_t
 {
 	/* Check the APP1 for Exif Identifier Code */
 	static const uchar ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00};
-	if (memcmp(CharBuf+2, ExifHeader, 6)) {
+	if (length <= 8 || memcmp(CharBuf+2, ExifHeader, 6)) {
 		exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Incorrect APP1 Exif Identifier Code");
 		return;
 	}
@@ -3326,8 +3326,14 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
 		}
 
 		/* Read the length of the section. */
-		lh = php_stream_getc(ImageInfo->infile);
-		ll = php_stream_getc(ImageInfo->infile);
+		if ((lh = php_stream_getc(ImageInfo->infile)) == EOF) {
+			EXIF_ERRLOG_CORRUPT(ImageInfo)
+			return FALSE;
+		}
+		if ((ll = php_stream_getc(ImageInfo->infile)) == EOF) {
+			EXIF_ERRLOG_CORRUPT(ImageInfo)
+			return FALSE;
+		}
 
 		itemlen = (lh << 8) | ll;
 
@@ -3527,6 +3533,10 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
 	int entry_tag , entry_type;
 	tag_table_type tag_table = exif_get_tag_table(section_index);
 
+	if (ImageInfo->ifd_nesting_level > MAX_IFD_NESTING_LEVEL) {
+                return FALSE;
+        }
+
 	if (ImageInfo->FileSize >= dir_offset+2) {
 		sn = exif_file_sections_add(ImageInfo, M_PSEUDO, 2, NULL);
 #ifdef EXIF_DEBUG
@@ -3670,6 +3680,7 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
 #ifdef EXIF_DEBUG
 						exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Next IFD: %s @x%04X", exif_get_sectionname(sub_section_index), entry_offset);
 #endif
+						ImageInfo->ifd_nesting_level++;
 						exif_process_IFD_in_TIFF(ImageInfo, entry_offset, sub_section_index TSRMLS_CC);
 						if (section_index!=SECTION_THUMBNAIL && entry_tag==TAG_SUB_IFD) {
 							if (ImageInfo->Thumbnail.filetype != IMAGE_FILETYPE_UNKNOWN
@@ -3709,6 +3720,7 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
 #ifdef EXIF_DEBUG
 					exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read next IFD (THUMBNAIL) at x%04X", next_offset);
 #endif
+					ImageInfo->ifd_nesting_level++;
 					exif_process_IFD_in_TIFF(ImageInfo, next_offset, SECTION_THUMBNAIL TSRMLS_CC);
 #ifdef EXIF_DEBUG
 					exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "%s THUMBNAIL @0x%04X + 0x%04X", ImageInfo->Thumbnail.data ? "Ignore" : "Read", ImageInfo->Thumbnail.offset, ImageInfo->Thumbnail.size);
@@ -3781,9 +3793,7 @@ static int exif_scan_FILE_header(image_info_type *ImageInfo TSRMLS_DC)
 				} else {
 					exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Invalid TIFF file");
 				}
-			}
-			else
-			if (!memcmp(file_header, "MM\x00\x2a", 4)) {
+			} else if (!memcmp(file_header, "MM\x00\x2a", 4)) {
 				ImageInfo->FileType = IMAGE_FILETYPE_TIFF_MM;
 				ImageInfo->motorola_intel = 1;
 #ifdef EXIF_DEBUG
diff --git a/ext/exif/php_exif.h b/ext/exif/php_exif.h
index 3939572..49799aa 100644
--- a/ext/exif/php_exif.h
+++ b/ext/exif/php_exif.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_exif.h,v 1.14.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_exif.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #if HAVE_EXIF
 extern zend_module_entry exif_module_entry;
diff --git a/ext/exif/test.txt b/ext/exif/test.txt
index f9d501e..46703a1 100644
--- a/ext/exif/test.txt
+++ b/ext/exif/test.txt
@@ -4,7 +4,7 @@
  *
  * (c) Marcus Boerger, 2002
  *
- * $Id: test.txt,v 1.8 2002/03/12 16:43:29 helly Exp $
+ * $Id: test.txt 72965 2002-03-12 16:43:29Z helly $
  *
  * Rename the file to test.php and read the instructions. If the
  * script cannot be executed or does not generate any output check
diff --git a/ext/ext_skel_win32.php b/ext/ext_skel_win32.php
index ae825c3..3f38d4f 100644
--- a/ext/ext_skel_win32.php
+++ b/ext/ext_skel_win32.php
@@ -1,5 +1,5 @@
 <?php
-/* $Id: ext_skel_win32.php,v 1.6 2003/10/29 05:42:05 fmk Exp $ */
+/* $Id: ext_skel_win32.php 143314 2003-10-29 05:42:26Z fmk $ */
 
 if (php_sapi_name() != "cli") {
 	echo "Please run this script using the CLI version of PHP\n";
diff --git a/ext/fbsql/config.m4 b/ext/fbsql/config.m4
index 3db7cad..719305a 100644
--- a/ext/fbsql/config.m4
+++ b/ext/fbsql/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.14 2005/05/29 23:16:40 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl
 
 PHP_ARG_WITH(fbsql, for FrontBase SQL92 (fbsql) support,
diff --git a/ext/fbsql/config.w32 b/ext/fbsql/config.w32
index 4ae564d..a668f95 100644
--- a/ext/fbsql/config.w32
+++ b/ext/fbsql/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.4 2003/12/22 22:41:59 wez Exp $
+// $Id: config.w32 147207 2003-12-22 22:41:59Z wez $
 // vim:ft=javascript
 
 ARG_WITH("fbsql", "FrontBase support", "no");
diff --git a/ext/fbsql/php_fbsql.c b/ext/fbsql/php_fbsql.c
index a1b6537..d51da9a 100644
--- a/ext/fbsql/php_fbsql.c
+++ b/ext/fbsql/php_fbsql.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_fbsql.c,v 1.114.2.3.2.8 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_fbsql.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* TODO:
  *
diff --git a/ext/fbsql/php_fbsql.h b/ext/fbsql/php_fbsql.h
index 2ae7732..a2ed53e 100644
--- a/ext/fbsql/php_fbsql.h
+++ b/ext/fbsql/php_fbsql.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_fbsql.h,v 1.31.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_fbsql.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define HAVE_FBSQL 1
 
diff --git a/ext/fdf/config.m4 b/ext/fdf/config.m4
index b6abd48..35df0cc 100644
--- a/ext/fdf/config.m4
+++ b/ext/fdf/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.25 2005/05/29 23:16:40 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl
 
 PHP_ARG_WITH(fdftk, for FDF support,
diff --git a/ext/fdf/config.w32 b/ext/fdf/config.w32
index b67e698..579c9d0 100644
--- a/ext/fdf/config.w32
+++ b/ext/fdf/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/07 00:49:25 edink Exp $
+// $Id: config.w32 145847 2003-12-07 00:49:25Z edink $
 // vim:ft=javascript
 
 ARG_WITH("fdf", "Include FDF support.", "no");
diff --git a/ext/fdf/fdf.c b/ext/fdf/fdf.c
index e32b861..4d0587c 100644
--- a/ext/fdf/fdf.c
+++ b/ext/fdf/fdf.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: fdf.c,v 1.89.2.2.2.11 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: fdf.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* FdfTk lib 2.0 is a Complete C/C++ FDF Toolkit available from
    http://beta1.adobe.com/ada/acrosdk/forms.html. */
diff --git a/ext/fdf/php_fdf.h b/ext/fdf/php_fdf.h
index 5072007..3f01328 100644
--- a/ext/fdf/php_fdf.h
+++ b/ext/fdf/php_fdf.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_fdf.h,v 1.22.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_fdf.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_FDF_H
 #define PHP_FDF_H
diff --git a/ext/filter/callback_filter.c b/ext/filter/callback_filter.c
index 69d0942..1193eea 100644
--- a/ext/filter/callback_filter.c
+++ b/ext/filter/callback_filter.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: callback_filter.c,v 1.9.2.6 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: callback_filter.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_filter.h"
 
diff --git a/ext/filter/config.m4 b/ext/filter/config.m4
index 0de6fb5..0cfda9c 100644
--- a/ext/filter/config.m4
+++ b/ext/filter/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.6.2.3 2006/12/05 23:51:30 tony2001 Exp $
+dnl $Id: config.m4 224446 2006-12-05 23:51:30Z tony2001 $
 dnl config.m4 for input filtering extension
 
 PHP_ARG_ENABLE(filter, whether to enable input filter support,
diff --git a/ext/filter/config.w32 b/ext/filter/config.w32
index 5b1046c..8426d69 100644
--- a/ext/filter/config.w32
+++ b/ext/filter/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2005/12/01 00:48:13 sniper Exp $
+// $Id: config.w32 201777 2005-12-01 00:48:13Z sniper $
 // vim:ft=javascript
 
 ARG_ENABLE("filter", "Filter Support", "yes");
diff --git a/ext/filter/docs/filter.txt b/ext/filter/docs/filter.txt
index 1110116..03c34a2 100644
--- a/ext/filter/docs/filter.txt
+++ b/ext/filter/docs/filter.txt
@@ -326,6 +326,6 @@ boolean callback(&$value, $characterset);
     *input_get()* or *input_get_array()*. If the *$characterset* parameter was
     not passed, it defaults to *'null'*.
 
-Version: $Id: filter.txt,v 1.5 2006/05/24 11:51:55 pajoye Exp $
+Version: $Id: filter.txt 213641 2006-05-24 11:51:55Z pajoye $
 .. vim: et syn=rst tw=78
 
diff --git a/ext/filter/filter.c b/ext/filter/filter.c
index b94ed53..f399eb6 100644
--- a/ext/filter/filter.c
+++ b/ext/filter/filter.c
@@ -19,7 +19,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: filter.c,v 1.52.2.47 2009/04/14 14:18:49 tony2001 Exp $ */
+/* $Id: filter.c 288083 2009-09-05 17:35:26Z pajoye $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -275,7 +275,7 @@ PHP_MINFO_FUNCTION(filter)
 {
 	php_info_print_table_start();
 	php_info_print_table_row( 2, "Input Validation and Filtering", "enabled" );
-	php_info_print_table_row( 2, "Revision", "$Revision: 1.52.2.47 $");
+	php_info_print_table_row( 2, "Revision", "$Revision: 288083 $");
 	php_info_print_table_end();
 
 	DISPLAY_INI_ENTRIES();
@@ -316,6 +316,19 @@ static void php_zval_filter(zval **value, long filter, long flags, zval *options
 	if (copy) {
 		SEPARATE_ZVAL(value);
 	}
+
+	/* #49274, fatal error with object without a toString method
+	  Fails nicely instead of getting a recovarable fatal error. */
+	if (Z_TYPE_PP(value) == IS_OBJECT) {
+		zend_class_entry *ce;
+
+		ce = Z_OBJCE_PP(value);
+		if (!ce->__tostring) {
+			ZVAL_FALSE(*value);
+			return;
+		}
+	}
+
 	/* Here be strings */
 	convert_to_string(*value);
 
diff --git a/ext/filter/filter_private.h b/ext/filter/filter_private.h
index fae3cad..83ebbe9 100644
--- a/ext/filter/filter_private.h
+++ b/ext/filter/filter_private.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: filter_private.h,v 1.12.2.11 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: filter_private.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef FILTER_PRIVATE_H
 #define FILTER_PRIVATE_H
diff --git a/ext/filter/logical_filters.c b/ext/filter/logical_filters.c
index 1155290..cd2c9ee 100644
--- a/ext/filter/logical_filters.c
+++ b/ext/filter/logical_filters.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: logical_filters.c,v 1.1.2.34 2009/06/10 19:05:49 felipe Exp $ */
+/* $Id: logical_filters.c 284213 2009-07-16 23:32:16Z felipe $ */
 
 #include "php_filter.h"
 #include "filter_private.h"
@@ -472,7 +472,7 @@ void php_filter_validate_url(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
 void php_filter_validate_email(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
 {
 	/* From http://cvs.php.net/co.php/pear/HTML_QuickForm/QuickForm/Rule/Email.php?r=1.4 */
-	const char regexp[] = "/^((\\\"[^\\\"\\f\\n\\r\\t\\b]+\\\")|([A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\^\\`\\|\\{\\}]+(\\.[A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\^\\`\\|\\{\\}]*)*))@((\\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9])(([A-Za-z0-9\\-])*([A-Za-z0-9]))?(\\.(?=[A-Za-z\\-]))?)+[A-Za-z\\-]*))$/D";
+	const char regexp[] = "/^((\\\"[^\\\"\\f\\n\\r\\t\\b]+\\\")|([A-Za-z0-9_][A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\^\\`\\|\\{\\}]*(\\.[A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\^\\`\\|\\{\\}]*)*))@((\\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9])(([A-Za-z0-9\\-])*([A-Za-z0-9]))?(\\.(?=[A-Za-z0-9\\-]))?)+[A-Za-z]+))$/D";
 
 	pcre       *re = NULL;
 	pcre_extra *pcre_extra = NULL;
@@ -529,7 +529,7 @@ static int _php_filter_validate_ipv6(char *str, int str_len TSRMLS_DC) /* {{{ */
 	int compressed = 0;
 	int blocks = 8;
 	int n;
-	char *ipv4 = NULL;
+	char *ipv4;
 	char *end;
 	int ip4elm[4];
 	char *s = str;
@@ -555,24 +555,21 @@ static int _php_filter_validate_ipv6(char *str, int str_len TSRMLS_DC) /* {{{ */
 		blocks = 6;
 	}
 
-	end = ipv4 ? ipv4 : str + str_len;
+	end = str + str_len;
 
 	while (str < end) {
 		if (*str == ':') {
 			if (--blocks == 0) {
-				if ((str+1) == end && ipv4) {
-					return 1;
-				}
 				return 0;
 			}			
 			if (++str >= end) {
-				return (ipv4 && ipv4 == str && blocks == 3) || 0;
+				return 0;
 			}
 			if (*str == ':') {
 				if (compressed || --blocks == 0) {
 					return 0;
 				}			
-				if (++str == end || (ipv4 && ipv4 == str)) {
+				if (++str == end) {
 					return 1;
 				}
 				compressed = 1;
diff --git a/ext/filter/php_filter.h b/ext/filter/php_filter.h
index 3fd2ef5..9911c02 100644
--- a/ext/filter/php_filter.h
+++ b/ext/filter/php_filter.h
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_filter.h,v 1.10.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_filter.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_FILTER_H
 #define PHP_FILTER_H
diff --git a/ext/filter/sanitizing_filters.c b/ext/filter/sanitizing_filters.c
index 59b9500..ed5d346 100644
--- a/ext/filter/sanitizing_filters.c
+++ b/ext/filter/sanitizing_filters.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: sanitizing_filters.c,v 1.11.2.11 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: sanitizing_filters.c 288117 2009-09-07 02:35:25Z iliaa $ */
 
 #include "php_filter.h"
 #include "filter_private.h"
@@ -275,7 +275,7 @@ void php_filter_unsafe_raw(PHP_INPUT_FILTER_PARAM_DECL)
 void php_filter_email(PHP_INPUT_FILTER_PARAM_DECL)
 {
 	/* Check section 6 of rfc 822 http://www.faqs.org/rfcs/rfc822.html */
-	const unsigned char allowed_list[] = LOWALPHA HIALPHA DIGIT "!#$%&'*+-/=?^_`{|}~@.[]";
+	const unsigned char allowed_list[] = LOWALPHA HIALPHA DIGIT "!#$%&'*+-=?^_`{|}~@.[]";
 	filter_map     map;
 
 	filter_map_init(&map);
diff --git a/ext/filter/tests/016.phpt b/ext/filter/tests/016.phpt
index d7e33b8..fbe8f3b 100644
--- a/ext/filter/tests/016.phpt
+++ b/ext/filter/tests/016.phpt
@@ -14,7 +14,12 @@ $values = Array(
 '@',	
 '[]()/@example.com',	
 'QWERTYUIOPASDFGHJKLZXCVBNM at QWERTYUIOPASDFGHJKLZXCVBNM.NET',
-'e.x.a.m.p.l.e. at example.com'
+'e.x.a.m.p.l.e. at example.com',
+'firstname.lastname at employee.2something.com',
+'- at foo.com',
+'foo at -.com',
+'foo at bar.123',
+'foo at bar.-'
 );
 foreach ($values as $value) {
 	var_dump(filter_var($value, FILTER_VALIDATE_EMAIL));
@@ -33,4 +38,9 @@ bool(false)
 bool(false)
 string(57) "QWERTYUIOPASDFGHJKLZXCVBNM at QWERTYUIOPASDFGHJKLZXCVBNM.NET"
 string(26) "e.x.a.m.p.l.e. at example.com"
-Done
\ No newline at end of file
+string(42) "firstname.lastname at employee.2something.com"
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+Done
diff --git a/ext/filter/tests/045.phpt b/ext/filter/tests/045.phpt
index 22b8710..ad8f47e 100755
--- a/ext/filter/tests/045.phpt
+++ b/ext/filter/tests/045.phpt
@@ -1,30 +1,30 @@
---TEST--
-Options must not be changed by filter_var()
---SKIPIF--
-<?php if (!extension_loaded("filter")) die("skip"); ?>
---FILE--
-<?php
-$a = array("flags"=>(string)FILTER_FLAG_ALLOW_HEX, "options" => array("min_range"=>"0", "max_range"=>"1024")); 
-$ret = filter_var("0xff", FILTER_VALIDATE_INT, $a);
-echo ($ret === 255 && $a["options"]["min_range"] === "0")?"ok\n":"bug\n";
-echo ($ret === 255 && $a["options"]["max_range"] === "1024")?"ok\n":"bug\n";
-echo ($ret === 255 && is_string($a["flags"]) && $a["flags"] == FILTER_FLAG_ALLOW_HEX)?"ok\n":"bug\n";
-$a = (string)FILTER_FLAG_ALLOW_HEX;
-$ret = filter_var("0xff", FILTER_VALIDATE_INT, $a);
-echo ($ret === 255 && is_string($a) && $a == FILTER_FLAG_ALLOW_HEX)?"ok\n":"bug\n";
-$a = array("test"=>array("filter"=>(string)FILTER_VALIDATE_INT, "flags"=>(string)FILTER_FLAG_ALLOW_HEX));
-$ret = filter_var_array(array("test"=>"0xff"), $a);
-echo ($ret["test"] === 255 && is_string($a["test"]["filter"]) && $a["test"]["filter"] == FILTER_VALIDATE_INT)?"ok\n":"bug\n";
-echo ($ret["test"] === 255 && is_string($a["test"]["flags"]) && $a["test"]["flags"] == FILTER_FLAG_ALLOW_HEX)?"ok\n":"bug\n";
-$a = array("test"=>(string)FILTER_VALIDATE_INT);
-$ret = filter_var_array(array("test"=>"255"), $a);
-echo ($ret["test"] === 255 && is_string($a["test"]) && $a["test"] == FILTER_VALIDATE_INT)?"ok\n":"bug\n";
-?>
---EXPECT--
-ok
-ok
-ok
-ok
-ok
-ok
-ok
+--TEST--
+Options must not be changed by filter_var()
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+$a = array("flags"=>(string)FILTER_FLAG_ALLOW_HEX, "options" => array("min_range"=>"0", "max_range"=>"1024")); 
+$ret = filter_var("0xff", FILTER_VALIDATE_INT, $a);
+echo ($ret === 255 && $a["options"]["min_range"] === "0")?"ok\n":"bug\n";
+echo ($ret === 255 && $a["options"]["max_range"] === "1024")?"ok\n":"bug\n";
+echo ($ret === 255 && is_string($a["flags"]) && $a["flags"] == FILTER_FLAG_ALLOW_HEX)?"ok\n":"bug\n";
+$a = (string)FILTER_FLAG_ALLOW_HEX;
+$ret = filter_var("0xff", FILTER_VALIDATE_INT, $a);
+echo ($ret === 255 && is_string($a) && $a == FILTER_FLAG_ALLOW_HEX)?"ok\n":"bug\n";
+$a = array("test"=>array("filter"=>(string)FILTER_VALIDATE_INT, "flags"=>(string)FILTER_FLAG_ALLOW_HEX));
+$ret = filter_var_array(array("test"=>"0xff"), $a);
+echo ($ret["test"] === 255 && is_string($a["test"]["filter"]) && $a["test"]["filter"] == FILTER_VALIDATE_INT)?"ok\n":"bug\n";
+echo ($ret["test"] === 255 && is_string($a["test"]["flags"]) && $a["test"]["flags"] == FILTER_FLAG_ALLOW_HEX)?"ok\n":"bug\n";
+$a = array("test"=>(string)FILTER_VALIDATE_INT);
+$ret = filter_var_array(array("test"=>"255"), $a);
+echo ($ret["test"] === 255 && is_string($a["test"]) && $a["test"] == FILTER_VALIDATE_INT)?"ok\n":"bug\n";
+?>
+--EXPECT--
+ok
+ok
+ok
+ok
+ok
+ok
+ok
diff --git a/ext/filter/tests/046.phpt b/ext/filter/tests/046.phpt
index 8394da9..ef26e17 100755
--- a/ext/filter/tests/046.phpt
+++ b/ext/filter/tests/046.phpt
@@ -1,23 +1,23 @@
---TEST--
-Integer overflow
---SKIPIF--
-<?php if (!extension_loaded("filter")) die("skip"); ?>
---FILE--
-<?php
-$s = sprintf("%d", PHP_INT_MAX);
-var_dump(is_long(filter_var($s, FILTER_VALIDATE_INT)));
-
-$s = sprintf("%.0f", PHP_INT_MAX+1);
-var_dump(filter_var($s, FILTER_VALIDATE_INT));
-
-$s = sprintf("%d", -PHP_INT_MAX);
-var_dump(is_long(filter_var($s, FILTER_VALIDATE_INT)));
-
-$s = sprintf("%.0f", ~(PHP_INT_MAX)-1);
-var_dump(filter_var($s, FILTER_VALIDATE_INT));
-?>
---EXPECT--
-bool(true)
-bool(false)
-bool(true)
-bool(false)
+--TEST--
+Integer overflow
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+$s = sprintf("%d", PHP_INT_MAX);
+var_dump(is_long(filter_var($s, FILTER_VALIDATE_INT)));
+
+$s = sprintf("%.0f", PHP_INT_MAX+1);
+var_dump(filter_var($s, FILTER_VALIDATE_INT));
+
+$s = sprintf("%d", -PHP_INT_MAX);
+var_dump(is_long(filter_var($s, FILTER_VALIDATE_INT)));
+
+$s = sprintf("%.0f", ~(PHP_INT_MAX)-1);
+var_dump(filter_var($s, FILTER_VALIDATE_INT));
+?>
+--EXPECT--
+bool(true)
+bool(false)
+bool(true)
+bool(false)
diff --git a/ext/filter/tests/047.phpt b/ext/filter/tests/047.phpt
index 9bcb666..cc41eab 100755
--- a/ext/filter/tests/047.phpt
+++ b/ext/filter/tests/047.phpt
@@ -1,37 +1,37 @@
---TEST--
-Octal integer overflow
---SKIPIF--
-<?php if (!extension_loaded("filter")) die("skip"); ?>
---FILE--
-<?php
-function octal_inc($s) {
-	$len = strlen($s);
-	while ($len > 0) {
-		$len--;
-		if ($s[$len] != '7') {
-			$s[$len] = $s[$len] + 1;
-			return $s;
-		}
-		$s[$len] = '0';
-	}
-	return '1'.$s;
-}
-
-
-$s = sprintf("%o", PHP_INT_MAX);
-var_dump(is_long(filter_var('0'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL))));
-
-$s = octal_inc($s);
-var_dump(is_long(filter_var('0'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL))));
-
-$s = sprintf("%o", ~0);
-var_dump(is_long(filter_var('0'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL))));
-
-$s = octal_inc($s);
-var_dump(filter_var('0'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
-?>
---EXPECT--
-bool(true)
-bool(true)
-bool(true)
-bool(false)
+--TEST--
+Octal integer overflow
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+function octal_inc($s) {
+	$len = strlen($s);
+	while ($len > 0) {
+		$len--;
+		if ($s[$len] != '7') {
+			$s[$len] = $s[$len] + 1;
+			return $s;
+		}
+		$s[$len] = '0';
+	}
+	return '1'.$s;
+}
+
+
+$s = sprintf("%o", PHP_INT_MAX);
+var_dump(is_long(filter_var('0'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL))));
+
+$s = octal_inc($s);
+var_dump(is_long(filter_var('0'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL))));
+
+$s = sprintf("%o", ~0);
+var_dump(is_long(filter_var('0'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL))));
+
+$s = octal_inc($s);
+var_dump(filter_var('0'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+bool(false)
diff --git a/ext/filter/tests/048.phpt b/ext/filter/tests/048.phpt
index c4436c4..92ab690 100755
--- a/ext/filter/tests/048.phpt
+++ b/ext/filter/tests/048.phpt
@@ -1,41 +1,41 @@
---TEST--
-Hex integer overflow
---SKIPIF--
-<?php if (!extension_loaded("filter")) die("skip"); ?>
---FILE--
-<?php
-function hex_inc($s) {
-	$len = strlen($s);
-	while ($len > 0) {
-		$len--;
-		if ($s[$len] != 'f') {
-			if ($s[$len] == '9') {
-				$s[$len] = 'a';
-			} else {
-				$s[$len] = $s[$len] + 1;
-			}
-			return $s;
-		}
-		$s[$len] = '0';
-	}
-	return '1'.$s;
-}
-
-
-$s = sprintf("%x", PHP_INT_MAX);
-var_dump(is_long(filter_var('0x'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX))));
-
-$s = hex_inc($s);
-var_dump(is_long(filter_var('0x'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX))));
-
-$s = sprintf("%x", ~0);
-var_dump(is_long(filter_var('0x'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX))));
-
-$s = hex_inc($s);
-var_dump(filter_var('0x'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-?>
---EXPECT--
-bool(true)
-bool(true)
-bool(true)
-bool(false)
+--TEST--
+Hex integer overflow
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+function hex_inc($s) {
+	$len = strlen($s);
+	while ($len > 0) {
+		$len--;
+		if ($s[$len] != 'f') {
+			if ($s[$len] == '9') {
+				$s[$len] = 'a';
+			} else {
+				$s[$len] = $s[$len] + 1;
+			}
+			return $s;
+		}
+		$s[$len] = '0';
+	}
+	return '1'.$s;
+}
+
+
+$s = sprintf("%x", PHP_INT_MAX);
+var_dump(is_long(filter_var('0x'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX))));
+
+$s = hex_inc($s);
+var_dump(is_long(filter_var('0x'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX))));
+
+$s = sprintf("%x", ~0);
+var_dump(is_long(filter_var('0x'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX))));
+
+$s = hex_inc($s);
+var_dump(filter_var('0x'.$s, FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+bool(false)
diff --git a/ext/filter/tests/049.phpt b/ext/filter/tests/049.phpt
index c87e705..5a9977b 100755
--- a/ext/filter/tests/049.phpt
+++ b/ext/filter/tests/049.phpt
@@ -1,34 +1,34 @@
---TEST--
-filter_var() and doubles with thousend separators
---SKIPIF--
-<?php if (!extension_loaded("filter")) die("skip"); ?>
---FILE--
-<?php
-$test = array(
-	'0'							=> 0.0,
-	'12345678900.1234567165'	=> 12345678900.1234567165,
-	'1,234,567,890.1234567165'	=> 1234567890.1234567165,
-	'-1,234,567,890.1234567165'	=> -1234567890.1234567165,
-	'1234,567,890.1234567165'	=> false,
-	'1,234,567,89.1234567165'	=> false,
-	'1,234,567,8900.1234567165'	=> false,
-	'1.234.567.890.1234567165'	=> false,
-	'1,234,567,8900.123,456'	=> false,
-);
-foreach ($test as $src => $dst) {
-	$out = filter_var($src, FILTER_VALIDATE_FLOAT, array("flags"=>FILTER_FLAG_ALLOW_THOUSAND));
-	if ($dst !== $out) {
-		if ($out === false) {
-			echo "$src -> false != $dst\n";
-		} elseif ($dst === false) {
-			echo "$src -> $out != false\n";
-		} else {
-			echo "$src -> $out != $dst\n";
-		}
-	}
-}
-
-echo "Ok\n";
-?>
---EXPECT--
-Ok
+--TEST--
+filter_var() and doubles with thousend separators
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+$test = array(
+	'0'							=> 0.0,
+	'12345678900.1234567165'	=> 12345678900.1234567165,
+	'1,234,567,890.1234567165'	=> 1234567890.1234567165,
+	'-1,234,567,890.1234567165'	=> -1234567890.1234567165,
+	'1234,567,890.1234567165'	=> false,
+	'1,234,567,89.1234567165'	=> false,
+	'1,234,567,8900.1234567165'	=> false,
+	'1.234.567.890.1234567165'	=> false,
+	'1,234,567,8900.123,456'	=> false,
+);
+foreach ($test as $src => $dst) {
+	$out = filter_var($src, FILTER_VALIDATE_FLOAT, array("flags"=>FILTER_FLAG_ALLOW_THOUSAND));
+	if ($dst !== $out) {
+		if ($out === false) {
+			echo "$src -> false != $dst\n";
+		} elseif ($dst === false) {
+			echo "$src -> $out != false\n";
+		} else {
+			echo "$src -> $out != $dst\n";
+		}
+	}
+}
+
+echo "Ok\n";
+?>
+--EXPECT--
+Ok
diff --git a/ext/filter/tests/050.phpt b/ext/filter/tests/050.phpt
index fb6b692..69a269f 100755
--- a/ext/filter/tests/050.phpt
+++ b/ext/filter/tests/050.phpt
@@ -1,29 +1,29 @@
---TEST--
-filter_var() and double overflow/underflow
---SKIPIF--
-<?php if (!extension_loaded("filter")) die("skip"); ?>
---FILE--
-<?php
-$test = array(
-	'1e+308'					=> 1e+308,
-	'1e+309'					=> false,
-	'1e-323'					=> 1e-323,
-	'1e-324'					=> false,
-);
-foreach ($test as $src => $dst) {
-	$out = filter_var($src, FILTER_VALIDATE_FLOAT);
-	if ($dst !== $out) {
-		if ($out === false) {
-			echo "$src -> false != $dst\n";
-		} elseif ($dst === false) {
-			echo "$src -> $out != false\n";
-		} else {
-			echo "$src -> $out != $dst\n";
-		}
-	}
-}
-
-echo "Ok\n";
-?>
---EXPECT--
-Ok
+--TEST--
+filter_var() and double overflow/underflow
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+$test = array(
+	'1e+308'					=> 1e+308,
+	'1e+309'					=> false,
+	'1e-323'					=> 1e-323,
+	'1e-324'					=> false,
+);
+foreach ($test as $src => $dst) {
+	$out = filter_var($src, FILTER_VALIDATE_FLOAT);
+	if ($dst !== $out) {
+		if ($out === false) {
+			echo "$src -> false != $dst\n";
+		} elseif ($dst === false) {
+			echo "$src -> $out != false\n";
+		} else {
+			echo "$src -> $out != $dst\n";
+		}
+	}
+}
+
+echo "Ok\n";
+?>
+--EXPECT--
+Ok
diff --git a/ext/filter/tests/051.phpt b/ext/filter/tests/051.phpt
index 1a5f166..e34289d 100755
--- a/ext/filter/tests/051.phpt
+++ b/ext/filter/tests/051.phpt
@@ -1,11 +1,11 @@
---TEST--
-filter_var() and default values
---SKIPIF--
-<?php if (!extension_loaded("filter")) die("skip"); ?>
---FILE--
-<?php
-$tmp = $default = 321;
-var_dump(filter_var("123asd", FILTER_VALIDATE_INT, array("options"=>array("default"=>$default))));
-?>
---EXPECT--
-int(321)
+--TEST--
+filter_var() and default values
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+$tmp = $default = 321;
+var_dump(filter_var("123asd", FILTER_VALIDATE_INT, array("options"=>array("default"=>$default))));
+?>
+--EXPECT--
+int(321)
diff --git a/ext/filter/tests/bug42718.phpt b/ext/filter/tests/bug42718.phpt
index 61245ee..d1ede3f 100644
--- a/ext/filter/tests/bug42718.phpt
+++ b/ext/filter/tests/bug42718.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #42718 (unsafe_raw filter not applied when configured as default filter)
+--XFAIL--
+FILTER_UNSAFE_RAW not applied when configured as default filter, even with flags
 --SKIPIF--
 <?php if (!extension_loaded("filter")) die("skip"); ?>
 --INI--
@@ -15,7 +17,6 @@ echo ini_get('filter.default_flags') . "\n";
 var_dump(FILTER_FLAG_STRIP_LOW == 4);
 echo addcslashes($_GET['a'],"\0") . "\n";
 ?>
---XFAIL--
 --EXPECT--
 unsafe_raw
 4
diff --git a/ext/filter/tests/bug48762.phpt b/ext/filter/tests/bug48762.phpt
new file mode 100644
index 0000000..1737f0a
--- /dev/null
+++ b/ext/filter/tests/bug48762.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Bug #48762 (IPv6 address filter still rejects valid address)
+--FILE--
+<?php
+
+var_dump(filter_var('0b15:23::3:67.98.234.17', FILTER_VALIDATE_IP, FILTER_FLAG_IPV6));
+var_dump(filter_var('::67:78b:34.43.43.2', FILTER_VALIDATE_IP, FILTER_FLAG_IPV6));
+
+?>
+--EXPECT--
+string(23) "0b15:23::3:67.98.234.17"
+string(19) "::67:78b:34.43.43.2"
diff --git a/ext/filter/tests/bug49274.phpt b/ext/filter/tests/bug49274.phpt
new file mode 100644
index 0000000..c87e6be
--- /dev/null
+++ b/ext/filter/tests/bug49274.phpt
@@ -0,0 +1,10 @@
+--TEST--
+#49274, fatal error when an object does not implement toString
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+var_dump(filter_var(new stdClass, FILTER_VALIDATE_EMAIL));
+?>
+--EXPECTF--	
+bool(false)
diff --git a/ext/ftp/config.m4 b/ext/ftp/config.m4
index 3a7bf07..fb8dd90 100644
--- a/ext/ftp/config.m4
+++ b/ext/ftp/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.7.20.3 2005/11/01 00:32:21 bfrance Exp $
+dnl $Id: config.m4 199642 2005-11-01 00:32:21Z bfrance $
 dnl
 
 PHP_ARG_ENABLE(ftp,whether to enable FTP support,
diff --git a/ext/ftp/config.w32 b/ext/ftp/config.w32
index 9c663aa..65c705b 100644
--- a/ext/ftp/config.w32
+++ b/ext/ftp/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/02 23:16:52 wez Exp $
+// $Id: config.w32 145409 2003-12-02 23:17:04Z wez $
 // vim:ft=javascript
 
 ARG_ENABLE("ftp", "ftp support", "yes");
diff --git a/ext/ftp/ftp.c b/ext/ftp/ftp.c
index 6d9b6b7..9e5d17e 100644
--- a/ext/ftp/ftp.c
+++ b/ext/ftp/ftp.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: ftp.c,v 1.112.2.4.2.11 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: ftp.c 288034 2009-09-04 07:59:48Z srinatar $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -147,7 +147,7 @@ ftp_open(const char *host, short port, long timeout_sec TSRMLS_DC)
 
 	size = sizeof(ftp->localaddr);
 	memset(&ftp->localaddr, 0, size);
-	if (getsockname(ftp->fd, (struct sockaddr*) &ftp->localaddr, &size) == -1) {
+	if (getsockname(ftp->fd, (struct sockaddr*) &ftp->localaddr, &size) != 0) {
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "getsockname failed: %s (%d)", strerror(errno), errno);
 		goto bail;
 	}
@@ -1387,7 +1387,7 @@ ftp_getdata(ftpbuf_t *ftp TSRMLS_DC)
 
 	sa = (struct sockaddr *) &ftp->localaddr;
 	/* bind/listen */
-	if ((fd = socket(sa->sa_family, SOCK_STREAM, 0)) == -1) {
+	if ((fd = socket(sa->sa_family, SOCK_STREAM, 0)) == SOCK_ERR) {
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "socket() failed: %s (%d)", strerror(errno), errno);
 		goto bail;
 	}
@@ -1420,17 +1420,17 @@ ftp_getdata(ftpbuf_t *ftp TSRMLS_DC)
 	php_any_addr(sa->sa_family, &addr, 0);
 	size = php_sockaddr_size(&addr);
 
-	if (bind(fd, (struct sockaddr*) &addr, size) == -1) {
+	if (bind(fd, (struct sockaddr*) &addr, size) != 0) {
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "bind() failed: %s (%d)", strerror(errno), errno);
 		goto bail;
 	}
 
-	if (getsockname(fd, (struct sockaddr*) &addr, &size) == -1) {
+	if (getsockname(fd, (struct sockaddr*) &addr, &size) != 0) {
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "getsockname() failed: %s (%d)", strerror(errno), errno);
 		goto bail;
 	}
 
-	if (listen(fd, 5) == -1) {
+	if (listen(fd, 5) != 0) {
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "listen() failed: %s (%d)", strerror(errno), errno);
 		goto bail;
 	}
diff --git a/ext/ftp/ftp.h b/ext/ftp/ftp.h
index 44acde2..492ced0 100644
--- a/ext/ftp/ftp.h
+++ b/ext/ftp/ftp.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: ftp.h,v 1.43.2.1.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: ftp.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef	FTP_H
 #define	FTP_H
diff --git a/ext/ftp/php_ftp.c b/ext/ftp/php_ftp.c
index 8724d79..866e968 100644
--- a/ext/ftp/php_ftp.c
+++ b/ext/ftp/php_ftp.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_ftp.c,v 1.103.2.2.2.4 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_ftp.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/ftp/php_ftp.h b/ext/ftp/php_ftp.h
index dfc3ae4..b9afbe8 100644
--- a/ext/ftp/php_ftp.h
+++ b/ext/ftp/php_ftp.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_ftp.h,v 1.29.2.1.2.3 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_ftp.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef	_INCLUDED_FTP_H
 #define	_INCLUDED_FTP_H
diff --git a/ext/ftp/tests/ftp_alloc_basic1.phpt b/ext/ftp/tests/ftp_alloc_basic1.phpt
new file mode 100755
index 0000000..b2bdf74
--- /dev/null
+++ b/ext/ftp/tests/ftp_alloc_basic1.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing ftp_alloc returns true
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+if (!$ftp) die("Couldn't connect to the server");
+ftp_login($ftp, 'user', 'pass');
+
+var_dump(ftp_alloc($ftp, 1024));
+?>
+--EXPECT--
+bool(true)
\ No newline at end of file
diff --git a/ext/ftp/tests/ftp_alloc_basic2.phpt b/ext/ftp/tests/ftp_alloc_basic2.phpt
new file mode 100755
index 0000000..b9e4253
--- /dev/null
+++ b/ext/ftp/tests/ftp_alloc_basic2.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Testing ftp_alloc returns true
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+if (!$ftp) die("Couldn't connect to the server");
+ftp_login($ftp, 'user', 'pass');
+
+var_dump(ftp_alloc($ftp, 1024, $result));
+var_dump($result);
+?>
+--EXPECT--
+bool(true)
+string(20) "1024 bytes allocated"
\ No newline at end of file
diff --git a/ext/ftp/tests/ftp_chmod_basic.phpt b/ext/ftp/tests/ftp_chmod_basic.phpt
new file mode 100755
index 0000000..baaa25a
--- /dev/null
+++ b/ext/ftp/tests/ftp_chmod_basic.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing ftp_chmod returns file mode
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+if (!$ftp) die("Couldn't connect to the server");
+ftp_login($ftp, 'user', 'pass');
+
+var_dump(ftp_chmod($ftp, 0644, 'test.txt'));
+?>
+--EXPECT--
+int(420)
diff --git a/ext/ftp/tests/ftp_exec_basic.phpt b/ext/ftp/tests/ftp_exec_basic.phpt
new file mode 100755
index 0000000..4a1f63e
--- /dev/null
+++ b/ext/ftp/tests/ftp_exec_basic.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing ftp_exec returns true
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+if (!$ftp) die("Couldn't connect to the server");
+
+var_dump(ftp_exec($ftp, 'ls -al'));
+?>
+--EXPECT--
+bool(true)
\ No newline at end of file
diff --git a/ext/ftp/tests/ftp_fget_basic1.phpt b/ext/ftp/tests/ftp_fget_basic1.phpt
new file mode 100644
index 0000000..475f718
--- /dev/null
+++ b/ext/ftp/tests/ftp_fget_basic1.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Testing ftp_fget ignore autoresume if autoseek is switched off
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+if (!$ftp) die("Couldn't connect to the server");
+ftp_set_option($ftp, FTP_AUTOSEEK, false);
+
+$local_file = dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt";
+$handle = fopen($local_file, 'w');
+
+var_dump(ftp_fget($ftp, $handle, 'fget.txt', FTP_ASCII, FTP_AUTORESUME));
+var_dump(file_get_contents($local_file));
+?>
+--CLEAN--
+<?php
+ at unlink(dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt");
+?>
+--EXPECT--
+bool(true)
+string(12) "ASCIIFooBar
+"
diff --git a/ext/ftp/tests/ftp_fget_basic2.phpt b/ext/ftp/tests/ftp_fget_basic2.phpt
new file mode 100644
index 0000000..00a2675
--- /dev/null
+++ b/ext/ftp/tests/ftp_fget_basic2.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Testing ftp_fget autoresume
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+if (!$ftp) die("Couldn't connect to the server");
+
+$local_file = dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt";
+file_put_contents($local_file, 'ASCIIFoo');
+$handle = fopen($local_file, 'a');
+
+var_dump(ftp_fget($ftp, $handle, 'fgetresume.txt', FTP_ASCII, FTP_AUTORESUME));
+var_dump(file_get_contents($local_file));
+?>
+--CLEAN--
+<?php
+ at unlink(dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt");
+?>
+--EXPECT--
+bool(true)
+string(12) "ASCIIFooBar
+"
diff --git a/ext/ftp/tests/ftp_fget_basic3.phpt b/ext/ftp/tests/ftp_fget_basic3.phpt
new file mode 100644
index 0000000..b709870
--- /dev/null
+++ b/ext/ftp/tests/ftp_fget_basic3.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Testing ftp_fget resume parameter
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+if (!$ftp) die("Couldn't connect to the server");
+
+$local_file = dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt";
+file_put_contents($local_file, 'ASCIIFoo');
+$handle = fopen($local_file, 'a');
+
+var_dump(ftp_fget($ftp, $handle, 'fgetresume.txt', FTP_ASCII, 8));
+var_dump(file_get_contents($local_file));
+?>
+--CLEAN--
+<?php
+ at unlink(dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt");
+?>
+--EXPECT--
+bool(true)
+string(12) "ASCIIFooBar
+"
diff --git a/ext/ftp/tests/ftp_nb_fget_basic1.phpt b/ext/ftp/tests/ftp_nb_fget_basic1.phpt
new file mode 100644
index 0000000..cac4eec
--- /dev/null
+++ b/ext/ftp/tests/ftp_nb_fget_basic1.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Testing ftp_nb_fget ignore autoresume if autoseek is switched off
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+if (!$ftp) die("Couldn't connect to the server");
+ftp_set_option($ftp, FTP_AUTOSEEK, false);
+
+$local_file = dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt";
+$handle = fopen($local_file, 'w');
+
+var_dump(ftp_nb_fget($ftp, $handle, 'fget.txt', FTP_ASCII, FTP_AUTORESUME));
+var_dump(file_get_contents($local_file));
+?>
+--CLEAN--
+<?php
+ at unlink(dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt");
+?>
+--EXPECT--
+int(2)
+string(12) "ASCIIFooBar
+"
diff --git a/ext/ftp/tests/ftp_nb_fget_basic2.phpt b/ext/ftp/tests/ftp_nb_fget_basic2.phpt
new file mode 100644
index 0000000..dc92f4e
--- /dev/null
+++ b/ext/ftp/tests/ftp_nb_fget_basic2.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Testing ftp_nb_fget autoresume
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+if (!$ftp) die("Couldn't connect to the server");
+
+$local_file = dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt";
+file_put_contents($local_file, 'ASCIIFoo');
+$handle = fopen($local_file, 'a');
+
+var_dump(ftp_nb_fget($ftp, $handle, 'fgetresume.txt', FTP_ASCII, FTP_AUTORESUME));
+var_dump(file_get_contents($local_file));
+?>
+--CLEAN--
+<?php
+ at unlink(dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt");
+?>
+--EXPECT--
+int(2)
+string(12) "ASCIIFooBar
+"
diff --git a/ext/ftp/tests/ftp_nb_fget_basic3.phpt b/ext/ftp/tests/ftp_nb_fget_basic3.phpt
new file mode 100644
index 0000000..d1a87c4
--- /dev/null
+++ b/ext/ftp/tests/ftp_nb_fget_basic3.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Testing ftp_nb_fget resume parameter
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+if (!$ftp) die("Couldn't connect to the server");
+
+$local_file = dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt";
+file_put_contents($local_file, 'ASCIIFoo');
+$handle = fopen($local_file, 'a');
+
+var_dump(ftp_nb_fget($ftp, $handle, 'fgetresume.txt', FTP_ASCII, 8));
+var_dump(file_get_contents($local_file));
+?>
+--CLEAN--
+<?php
+ at unlink(dirname(__FILE__) . DIRECTORY_SEPARATOR . "localfile.txt");
+?>
+--EXPECT--
+int(2)
+string(12) "ASCIIFooBar
+"
diff --git a/ext/ftp/tests/ftp_rawlist_basic2.phpt b/ext/ftp/tests/ftp_rawlist_basic2.phpt
new file mode 100644
index 0000000..1d93643
--- /dev/null
+++ b/ext/ftp/tests/ftp_rawlist_basic2.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing ftp_rawlist returns false on server error
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+ftp_login($ftp, 'user', 'pass');
+if (!$ftp) die("Couldn't connect to the server");
+
+var_dump(ftp_rawlist($ftp, 'no_exists/'));
+?>
+--EXPECT--
+bool(false)
\ No newline at end of file
diff --git a/ext/ftp/tests/ftp_rmdir_basic.phpt b/ext/ftp/tests/ftp_rmdir_basic.phpt
new file mode 100755
index 0000000..6626cb4
--- /dev/null
+++ b/ext/ftp/tests/ftp_rmdir_basic.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing ftp_rmdir returns true
+--CREDITS--
+Rodrigo Moyle <eu [at] rodrigorm [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+if (!$ftp) die("Couldn't connect to the server");
+ftp_login($ftp, 'user', 'pass');
+
+var_dump(ftp_rmdir($ftp, 'www/'));
+?>
+--EXPECT--
+bool(true)
\ No newline at end of file
diff --git a/ext/ftp/tests/server.inc b/ext/ftp/tests/server.inc
index 76198c2..8617880 100644
--- a/ext/ftp/tests/server.inc
+++ b/ext/ftp/tests/server.inc
@@ -6,293 +6,405 @@ $context = stream_context_create(array('ssl' => array('local_cert' => dirname(__
 
 for ($i=0; $i<10 && !$socket; ++$i) {
 	$port = rand(50000, 65535);
+	
 	$socket = stream_socket_server("tcp://127.0.0.1:$port", $errno, $errstr, STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $context);
 }
+//set anther random port that is not the same as $port
+do{
+	$pasv_port = rand(50000, 65535);
+}while($pasv_port == $port);
 
 if (!$socket) {
 	die("could not start/bind the ftp server\n");
 }
 
-$pid = pcntl_fork();
-
-if ($pid) {
-
-function dump_and_exit($buf)
-{
-	var_dump($buf);
-	fclose($GLOBALS['s']);
-	exit;
-}
 
-function anonymous()
-{
-	return $GLOBALS['user'] === 'anonymous';
-}
 
-/* quick&dirty realpath() like function */
-function change_dir($dir)
-{
-	global $cwd;
 
-	if ($dir[0] == '/') {
-		$cwd = $dir;
-		return;
-	}
+$pid = pcntl_fork();
 
-	$cwd = "$cwd/$dir";
 
-	do {
-		$old = $cwd;
-		$cwd = preg_replace('@/?[^/]+/\.\.@', '', $cwd);
-	} while ($old != $cwd);
 
-	$cwd = strtr($cwd, array('//' => '/'));
-	if (!$cwd) $cwd = '/';
+function pasv_listen($action){
+	global $pasv_port, $tmp_file;
+	$tmp_file = 'nm2.php';
+	$pid = pcntl_fork();
+	if($pid === 0){
+		$soc  = stream_socket_server("tcp://127.0.0.1:$pasv_port");
+		$fs = stream_socket_accept($soc, 3);
+		switch ($action) {
+			case 'fget':
+			case 'get':
+			//listen for 3 seconds 3 seconds
+			fputs($fs, "I am passive.\r\n");
+			break;
+			case 'put':
+			file_put_contents($tmp_file,  stream_get_contents($fs));
+			break;
+			case 'list':
+			fputs($fs, "drwxr-x---   3 owner  group      4096 Jul 12 12:16 .\r\n");
+			fputs($fs, "drwxr-x---   3 owner  group      4096 Jul 12 12:16 ..\r\n");
+			fputs($fs, "drwxr-x---   3 owner  group      4096 Jul 12 12:16 public_ftp\r\n");
+			break;
+			case 'list_null':
+			fputs($fs, "\r\n");
+			break;
+		}
+		fclose($fs);
+		exit;
+	}
 }
 
 
-$s = stream_socket_accept($socket);
-if (!$s) die("Error accepting a new connection\n");
-
-fputs($s, "220----- PHP FTP server 0.3 -----\r\n220 Service ready\r\n");
-$buf = fread($s, 2048);
-
 
-function user_auth($buf) {
-	global $user, $s, $ssl, $bug37799;
-
-if (!empty($ssl)) {
-	if ($buf !== "AUTH TLS\r\n") {
-		fputs($s, "500 Syntax error, command unrecognized.\r\n");
-		dump_and_exit($buf);
-	}
+if ($pid) {
 
-	if (empty($bug37799)) {
-		fputs($s, "234 auth type accepted\r\n");
-	} else {
-		fputs($s, "666 dummy\r\n");
-		fputs($s, "666 bogus msg\r\n");
+	function dump_and_exit($buf)
+	{
+		var_dump($buf);
+		fclose($GLOBALS['s']);
 		exit;
 	}
 
-	if (!stream_socket_enable_crypto($s, true, STREAM_CRYPTO_METHOD_SSLv23_SERVER)) {
-		die("SSLv23 handshake failed.\n");
+	function anonymous()
+	{
+		return $GLOBALS['user'] === 'anonymous';
 	}
 
-	if (!preg_match('/^PBSZ \d+\r\n$/', $buf = fread($s, 2048))) {
-		fputs($s, "501 bogus data\r\n");
-		dump_and_exit($buf);
-	}
+	/* quick&dirty realpath() like function */
+	function change_dir($dir)
+	{
+		global $cwd;
 
-	fputs($s, "200 OK\r\n");
-	$buf = fread($s, 2048);
+		if ($dir[0] == '/') {
+			$cwd = $dir;
+			return;
+		}
 
-	if ($buf !== "PROT P\r\n") {
-		fputs($s, "504 Wrong protection.\r\n");
-		dump_and_exit($buf);
-	}
+		$cwd = "$cwd/$dir";
 
-	fputs($s, "200 OK\r\n");
+		do {
+			$old = $cwd;
+			$cwd = preg_replace('@/?[^/]+/\.\.@', '', $cwd);
+		} while ($old != $cwd);
 
-	$buf = fread($s, 2048);
-}
+		$cwd = strtr($cwd, array('//' => '/'));
+		if (!$cwd) $cwd = '/';
+	}
 
-if (!preg_match('/^USER (\w+)\r\n$/', $buf, $m)) {
-	fputs($s, "500 Syntax error, command unrecognized.\r\n");
-	dump_and_exit($buf);
-}
-$user = $m[1];
-if ($user !== 'user' && $user !== 'anonymous') {
-	fputs($s, "530 Not logged in.\r\n");
-	fclose($s);
-	exit;
-}
+	$s = stream_socket_accept($socket);
 
-if (anonymous()) {
-	fputs($s, "230 Anonymous user logged in\r\n");
+	if (!$s) die("Error accepting a new connection\n");
 
-} else {
-	fputs($s, "331 User name ok, need password\r\n");
+	fputs($s, "220----- PHP FTP server 0.3 -----\r\n220 Service ready\r\n");
+	$buf = fread($s, 2048);
 
-	if (!preg_match('/^PASS (\w+)\r\n$/', $buf = fread($s, 100), $m)) {
-		fputs($s, "500 Syntax error, command unrecognized.\r\n");
-		dump_and_exit($buf);
-	}
 
-	$pass = $m[1];
-	if ($pass === 'pass') {
-		fputs($s, "230 User logged in\r\n");
-	} else {
-		fputs($s, "530 Not logged in.\r\n");
-		fclose($s);
-		exit;
-	}
-}
-}
+	function user_auth($buf) {
+		global $user, $s, $ssl, $bug37799;
 
-user_auth($buf);
+		if (!empty($ssl)) {
+			if ($buf !== "AUTH TLS\r\n") {
+				fputs($s, "500 Syntax error, command unrecognized.\r\n");
+				dump_and_exit($buf);
+			}
 
-$cwd = '/';
-$num_bogus_cmds = 0;
+			if (empty($bug37799)) {
+				fputs($s, "234 auth type accepted\r\n");
+			} else {
+				fputs($s, "666 dummy\r\n");
+				fputs($s, "666 bogus msg\r\n");
+				exit;
+			}
 
-while($buf = fread($s, 4098)) {
-	if (!empty($bogus)) {
-		fputs($s, "502 Command not implemented (".$num_bogus_cmds++.").\r\n");
+			if (!stream_socket_enable_crypto($s, true, STREAM_CRYPTO_METHOD_SSLv23_SERVER)) {
+				die("SSLv23 handshake failed.\n");
+			}
 
-	} else if ($buf === "HELP\r\n") {
-		fputs($s, "214-There is help available for the following commands:\r\n");
-		fputs($s, " USER\r\n");
-		fputs($s, " HELP\r\n");
-		fputs($s, "214 end of list\r\n");
+			if (!preg_match('/^PBSZ \d+\r\n$/', $buf = fread($s, 2048))) {
+				fputs($s, "501 bogus data\r\n");
+				dump_and_exit($buf);
+			}
 
-	} elseif ($buf === "HELP HELP\r\n") {
-		fputs($s, "214 Syntax: HELP [<SP> <string>] <CRLF>\r\n");
+			fputs($s, "200 OK\r\n");
+			$buf = fread($s, 2048);
 
-	} elseif ($buf === "PWD\r\n") {
-		fputs($s, "257 \"$cwd\" is current directory.\r\n");
+			if ($buf !== "PROT P\r\n") {
+				fputs($s, "504 Wrong protection.\r\n");
+				dump_and_exit($buf);
+			}
 
-	} elseif ($buf === "CDUP\r\n") {
-		change_dir('..');
-		fputs($s, "250 CDUP command successful.\r\n");
+			fputs($s, "200 OK\r\n");
 
-	} elseif ($buf === "SYST\r\n") {
-		if (isset($bug27809)) {
-			fputs($s, "215   OS/400 is the remote operating system. The TCP/IP version is \"V5R2M0\"\r\n");
-		} else {
-			fputs($s, "215 UNIX Type: L8.\r\n");
+			$buf = fread($s, 2048);
 		}
 
-	} elseif ($buf === "TYPE A\r\n") {
-		$ascii = true;
-		fputs($s, "200 OK\r\n");
-
-	} elseif ($buf === "TYPE I\r\n") {
-		$ascii = false;
-		fputs($s, "200 OK\r\n");
-
-	} elseif ($buf === "QUIT\r\n") {
-		break;
-
-	} elseif (preg_match("~^PORT (\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\r\n$~", $buf, $m)) {
-		$host = "$m[1].$m[2].$m[3].$m[4]";
-		$port = ((int)$m[5] << 8) + (int)$m[6];
-		fputs($s, "200 OK.\r\n");
+		if (!preg_match('/^USER (\w+)\r\n$/', $buf, $m)) {
+			fputs($s, "500 Syntax error, command unrecognized.\r\n");
+			dump_and_exit($buf);
+		}
+		$user = $m[1];
+		if ($user !== 'user' && $user !== 'anonymous') {
+			fputs($s, "530 Not logged in.\r\n");
+			fclose($s);
+			exit;
+		}
 
-	} elseif (preg_match("~^STOR ([\w/.-]+)\r\n$~", $buf, $m)) {
-		fputs($s, "150 File status okay; about to open data connection\r\n");
+		if (anonymous()) {
+			fputs($s, "230 Anonymous user logged in\r\n");
 
-		if (!$fs = stream_socket_client("tcp://$host:$port")) {
-			fputs($s, "425 Can't open data connection\r\n");
-			continue;
+		} else {
+			fputs($s, "331 User name ok, need password\r\n");
+
+			if (!preg_match('/^PASS (\w+)\r\n$/', $buf = fread($s, 100), $m)) {
+				fputs($s, "500 Syntax error, command unrecognized.\r\n");
+				dump_and_exit($buf);
+			}
+
+			$pass = $m[1];
+			if ($pass === 'pass') {
+				fputs($s, "230 User logged in\r\n");
+			} else {
+				fputs($s, "530 Not logged in.\r\n");
+				fclose($s);
+				exit;
+			}
 		}
+	}
 
-		$data = stream_get_contents($fs);
-		$orig = file_get_contents(dirname(__FILE__).'/'.$m[1]);
+	user_auth($buf);
 
-		if (isset($ascii) && !$ascii && $orig === $data) {
-			fputs($s, "226 Closing data Connection.\r\n");
+	$cwd = '/';
+	$num_bogus_cmds = 0;
 
-		} elseif ((!empty($ascii) || isset($bug39583)) && $data === strtr($orig, array("\r\n" => "\n", "\r" => "\n", "\n" => "\r\n"))) {
-			fputs($s, "226 Closing data Connection.\r\n");
+	while($buf = fread($s, 4098)) {
+		if (!empty($bogus)) {
+			fputs($s, "502 Command not implemented (".$num_bogus_cmds++.").\r\n");
 
-		} else {
-			var_dump($data);
-			var_dump($orig);
-			fputs($s, "552 Requested file action aborted.\r\n");
-		}
-		fclose($fs);
+		} else if ($buf === "HELP\r\n") {
+			fputs($s, "214-There is help available for the following commands:\r\n");
+			fputs($s, " USER\r\n");
+			fputs($s, " HELP\r\n");
+			fputs($s, "214 end of list\r\n");
 
-	} elseif (preg_match("~^CWD ([A-Za-z./]+)\r\n$~", $buf, $m)) {
-		change_dir($m[1]);
-		fputs($s, "250 CWD command successful.\r\n");
+		} elseif ($buf === "HELP HELP\r\n") {
+			fputs($s, "214 Syntax: HELP [<SP> <string>] <CRLF>\r\n");
 
-	} elseif (preg_match("~^NLST(?: ([A-Za-z./]+))?\r\n$~", $buf, $m)) {
+		} elseif ($buf === "PWD\r\n") {
+			fputs($s, "257 \"$cwd\" is current directory.\r\n");
 
-		if (isset($m[1]) && $m[1] === 'bogusdir') {
-			fputs($s, "250 $m[1]: No such file or directory\r\n");
-			continue;
-		}
+		} elseif ($buf === "CDUP\r\n") {
+			change_dir('..');
+			fputs($s, "250 CDUP command successful.\r\n");
 
-		// there are some servers that don't open the ftp-data socket if there's nothing to send
-		if (isset($bug39458) && isset($m[1]) && $m[1] === 'emptydir') {
-			fputs($s, "226 Transfer complete.\r\n");
-			continue;
-		}
+		} elseif ($buf === "SYST\r\n") {
+			if (isset($bug27809)) {
+				fputs($s, "215   OS/400 is the remote operating system. The TCP/IP version is \"V5R2M0\"\r\n");
+			} else {
+				fputs($s, "215 UNIX Type: L8.\r\n");
+			}
 
-		fputs($s, "150 File status okay; about to open data connection\r\n");
+		} elseif ($buf === "TYPE A\r\n") {
+			$ascii = true;
+			fputs($s, "200 OK\r\n");
 
-		if (!$fs = stream_socket_client("tcp://$host:$port")) {
-			fputs($s, "425 Can't open data connection\r\n");
-			continue;
-		}
+		} elseif ($buf === "TYPE I\r\n") {
+			$ascii = false;
+			fputs($s, "200 OK\r\n");
 
-		if (empty($m[1]) || $m[1] !== 'emptydir') {
-			fputs($fs, "file1\r\nfile1\r\nfile\nb0rk\r\n");
-		}
+		} elseif ($buf === "QUIT\r\n") {
+			break;
 
-		fputs($s, "226 Closing data Connection.\r\n");
-		fclose($fs);
+		} elseif (preg_match("~^PORT (\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\r\n$~", $buf, $m)) {
+			$host = "$m[1].$m[2].$m[3].$m[4]";
+			$port = ((int)$m[5] << 8) + (int)$m[6];
+			fputs($s, "200 OK.\r\n");
+
+		} elseif (preg_match("~^STOR ([\w/.-]+)\r\n$~", $buf, $m)) {
+			fputs($s, "150 File status okay; about to open data connection\r\n");
+
+			if(empty($pasv))
+			{
+				if (!$fs = stream_socket_client("tcp://$host:$port")) {
+					fputs($s, "425 Can't open data connection\r\n");
+					continue;
+				}
+
+				$data = stream_get_contents($fs);
+				$orig = file_get_contents(dirname(__FILE__).'/'.$m[1]);
+
+
+				if (isset($ascii) && !$ascii && $orig === $data) {
+					fputs($s, "226 Closing data Connection.\r\n");
+
+				} elseif ((!empty($ascii) || isset($bug39583)) && $data === strtr($orig, array("\r\n" => "\n", "\r" => "\n", "\n" => "\r\n"))) {
+					fputs($s, "226 Closing data Connection.\r\n");
+
+				} else {
+					var_dump($data);
+					var_dump($orig);
+					fputs($s, "552 Requested file action aborted.\r\n");
+				}
+				fclose($fs);
+			}else{
+				$data = file_get_contents('nm2.php');
+				$orig = file_get_contents(dirname(__FILE__).'/'.$m[1]);
+				if ( $orig === $data) {
+					fputs($s, "226 Closing data Connection.\r\n");
+
+				} else {
+					var_dump($data);
+					var_dump($orig);
+					fputs($s, "552 Requested file action aborted.\r\n");
+				}
+			}
+
+		} elseif (preg_match("~^CWD ([A-Za-z./]+)\r\n$~", $buf, $m)) {
+			change_dir($m[1]);
+			fputs($s, "250 CWD command successful.\r\n");
+
+		} elseif (preg_match("~^NLST(?: ([A-Za-z./]+))?\r\n$~", $buf, $m)) {
+
+			if (isset($m[1]) && $m[1] === 'bogusdir') {
+				fputs($s, "250 $m[1]: No such file or directory\r\n");
+				continue;
+			}
+
+			// there are some servers that don't open the ftp-data socket if there's nothing to send
+			if (isset($bug39458) && isset($m[1]) && $m[1] === 'emptydir') {
+				fputs($s, "226 Transfer complete.\r\n");
+				continue;
+			}
+
+			fputs($s, "150 File status okay; about to open data connection\r\n");
+
+			if (!$fs = stream_socket_client("tcp://$host:$port")) {
+				fputs($s, "425 Can't open data connection\r\n");
+				continue;
+			}
+
+			if (empty($m[1]) || $m[1] !== 'emptydir') {
+				fputs($fs, "file1\r\nfile1\r\nfile\nb0rk\r\n");
+			}
 
-	} elseif (preg_match("~^MKD ([A-Za-z./]+)\r\n$~", $buf, $m)) {
-		if (isset($bug7216)) {
-			fputs($s, "257 OK.\r\n");
-		} else {
-			fputs($s, "257 \"/path/to/ftproot$cwd$m[1]\" created.\r\n");
-		}
+			fputs($s, "226 Closing data Connection.\r\n");
+			fclose($fs);
 
-	} elseif (preg_match('/^USER /', $buf)) {
-		user_auth($buf);
+		} elseif (preg_match("~^MKD ([A-Za-z./]+)\r\n$~", $buf, $m)) {
+			if (isset($bug7216)) {
+				fputs($s, "257 OK.\r\n");
+			} else {
+				fputs($s, "257 \"/path/to/ftproot$cwd$m[1]\" created.\r\n");
+			}
 
-	} elseif (preg_match('/^MDTM ([\w\h]+)/', $buf, $matches)) {
-		switch ($matches [1]){
-			case "A":
+		} elseif (preg_match('/^USER /', $buf)) {
+			user_auth($buf);
+
+		} elseif (preg_match('/^MDTM ([\w\h]+)/', $buf, $matches)) {
+			switch ($matches [1]){
+				case "A":
 				fputs($s, "213 19980615100045.014\r\n");
 				break;
-			case "B":
+				case "B":
 				fputs($s, "213 19980615100045.014\r\n");
 				break;
-			case "C":
+				case "C":
 				fputs($s, "213 19980705132316\r\n");
 				break;
-			case "19990929043300 File6":
+				case "19990929043300 File6":
 				fputs($s, "213 19991005213102\r\n");
 				break;
-			default :
+				default :
 				fputs($s, "550 No file named \"{$matches [1]}\"\r\n");
 				break;
-		}
-         }elseif (preg_match('/^RETR ([\w\h]+)/', $buf, $matches)) {
-                if (!$fs = stream_socket_client("tcp://$host:$port")) {
-                             fputs($s, "425 Can't open data connection\r\n");
-                             continue;
-                        }
+			}
+		}elseif (preg_match('/^RETR ([\w\h]+)/', $buf, $matches)) {
+			if(!empty($pasv)){
+				;
+			}
+			else if (!$fs = stream_socket_client("tcp://$host:$port")) {
+				fputs($s, "425 Can't open data connection\r\n");
+				continue;
+			}
+
 			switch($matches[1]){
-                        case "a story":
-                            fputs($s, "150 File status okay; about to open data connection.\r\n");
-			    fputs($fs, "For sale: baby shoes, never worn.\r\n");
-                            fputs($s, "226 Closing data Connection.\r\n");
-                        break;
-			case "binary data":
-                            fputs($s, "150 File status okay; about to open data connection.\r\n");
-                            $transfer_type = $ascii? 'ASCII' : 'BINARY' ;
-                            fputs($fs, $transfer_type."Foo\0Bar\r\n");
-                            fputs($s, "226 Closing data Connection.\r\n");
-			break;
-			default:
-                            fputs($s, "550 {$matches[1]}: No such file or directory \r\n");
-                        break;
-			}	
-			fclose($fs);
-          }
-	else {
-		fputs($s, "500 Syntax error, command unrecognized.\r\n");
-		dump_and_exit($buf);
-	}
-}
 
-fclose($s);
-exit;
+				case "pasv":
+					fputs($s, "150 File status okay; about to open data connection.\r\n");
+					//the data connection is handled in another forked process
+					// called from outside this while loop
+					fputs($s, "226 Closing data Connection.\r\n");
+					break;
+				case "a story":
+					fputs($s, "150 File status okay; about to open data connection.\r\n");
+					fputs($fs, "For sale: baby shoes, never worn.\r\n");
+					fputs($s, "226 Closing data Connection.\r\n");
+					break;
+				case "binary data":
+					fputs($s, "150 File status okay; about to open data connection.\r\n");
+					$transfer_type = $ascii? 'ASCII' : 'BINARY' ;
+					fputs($fs, $transfer_type."Foo\0Bar\r\n");
+					fputs($s, "226 Closing data Connection.\r\n");
+					break;
+				case "fget":
+					fputs($s, "150 File status okay; about to open data connection.\r\n");
+					$transfer_type = $ascii? 'ASCII' : 'BINARY' ;
+					fputs($fs, $transfer_type."FooBar\r\n");
+					fputs($s, "226 Closing data Connection.\r\n");
+					break;
+				case "fgetresume":
+					fputs($s, "150 File status okay; about to open data connection.\r\n");
+					$transfer_type = $ascii? 'ASCII' : 'BINARY' ;
+					fputs($fs, "Bar\r\n");
+					fputs($s, "226 Closing data Connection.\r\n");
+					break;
+				default:
+					fputs($s, "550 {$matches[1]}: No such file or directory \r\n");
+					break;
+			}
+			if(isset($fs))
+				fclose($fs);
+
+
+		}elseif (preg_match('/^PASV/', $buf, $matches)) {
+			$port = $pasv_port;
+			$p2 = $port % ((int) 1 << 8);
+			$p1 = ($port-$p2)/((int) 1 << 8);
+			$host = "127.0.0.1";
+			fputs($s, "227 Entering Passive Mode. (127,0,0,1,{$p1},{$p2})\r\n");
+
+
+		} elseif (preg_match('/^SITE EXEC/', $buf, $matches)) {
+			fputs($s, "200 OK\r\n");
+
+		} elseif (preg_match('/^RMD/', $buf, $matches)) {
+			fputs($s, "250 OK\r\n");
+
+		} elseif (preg_match('/^SITE CHMOD/', $buf, $matches)) {
+			fputs($s, "200 OK\r\n");
+
+		} elseif (preg_match('/^ALLO (\d+)/', $buf, $matches)) {
+			fputs($s, "200 " . $matches[1] . " bytes allocated\r\n");
+
+		}elseif (preg_match('/^LIST www\//', $buf, $matches)) {
+			fputs($s, "150 Opening ASCII mode data connection for file list\r\n");
+			fputs($s, "226 Transfer complete\r\n");
+
+		}elseif (preg_match('/^LIST no_exists\//', $buf, $matches)) {
+			fputs($s, "425 Error establishing connection\r\n");
+
+		}elseif (preg_match('/^REST \d+/', $buf, $matches)) {
+			fputs($s, "350 OK\r\n");
+		}
+
+		else {
+			fputs($s, "500 Syntax error, command unrecognized.\r\n");
+			dump_and_exit($buf);
+		}
+	}
+	fclose($s);
+	exit;
 }
 
 fclose($socket);
-?>
+?>
\ No newline at end of file
diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
index 94afc96..2a5febc 100644
--- a/ext/gd/config.m4
+++ b/ext/gd/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.154.2.1.2.6 2007/07/03 17:25:33 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl
 
 dnl
diff --git a/ext/gd/config.w32 b/ext/gd/config.w32
index b842de9..6ab1a38 100644
--- a/ext/gd/config.w32
+++ b/ext/gd/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.10.4.4 2007/04/17 15:31:45 pajoye Exp $
+// $Id: config.w32 233944 2007-04-17 15:31:45Z pajoye $
 // vim:ft=javascript
 
 ARG_WITH("gd", "Bundled GD support", "yes,shared");
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index cfde5eb..a5c66e5 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: gd.c,v 1.312.2.20.2.40 2009/05/28 14:06:06 pajoye Exp $ */
+/* $Id: gd.c 282456 2009-06-19 22:15:44Z kalle $ */
 
 /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
    Cold Spring Harbor Labs. */
@@ -2189,7 +2189,6 @@ PHP_FUNCTION(imagegrabwindow)
 		pPrintWindow(window, memDC, (UINT) client_area);
 	} else {
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Windows API too old");
-		RETURN_FALSE;
 		goto clean;
 	}
 
diff --git a/ext/gd/gd_ctx.c b/ext/gd/gd_ctx.c
index bf47911..5840832 100644
--- a/ext/gd/gd_ctx.c
+++ b/ext/gd/gd_ctx.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: gd_ctx.c,v 1.22.2.5.2.5 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: gd_ctx.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_gd.h"
 
diff --git a/ext/gd/gdcache.c b/ext/gd/gdcache.c
index a703f9f..55527a8 100644
--- a/ext/gd/gdcache.c
+++ b/ext/gd/gdcache.c
@@ -1,5 +1,5 @@
 /*
- * $Id: gdcache.c,v 1.10 2005/01/09 21:05:05 sniper Exp $
+ * $Id: gdcache.c 176767 2005-01-09 21:05:06Z sniper $
  *
  * Caches of pointers to user structs in which the least-recently-used
  * element is replaced in the event of a cache miss after the cache has
diff --git a/ext/gd/gdcache.h b/ext/gd/gdcache.h
index 033aaef..55b6d5a 100644
--- a/ext/gd/gdcache.h
+++ b/ext/gd/gdcache.h
@@ -1,5 +1,5 @@
 /*
- * $Id: gdcache.h,v 1.4 2003/12/28 21:08:46 iliaa Exp $
+ * $Id: gdcache.h 147409 2003-12-28 21:08:46Z iliaa $
  *
  * Caches of pointers to user structs in which the least-recently-used
  * element is replaced in the event of a cache miss after the cache has
diff --git a/ext/gd/gdttf.c b/ext/gd/gdttf.c
index 7a3daa6..8d3c34e 100644
--- a/ext/gd/gdttf.c
+++ b/ext/gd/gdttf.c
@@ -2,7 +2,7 @@
 /*                                          */
 /* John Ellson   ellson at lucent.com          */
 
-/* $Id: gdttf.c,v 1.21 2005/01/09 21:05:05 sniper Exp $ */
+/* $Id: gdttf.c 176767 2005-01-09 21:05:06Z sniper $ */
 
 #include "php.h"
 
diff --git a/ext/gd/gdttf.h b/ext/gd/gdttf.h
index 4977b3e..78f0546 100644
--- a/ext/gd/gdttf.h
+++ b/ext/gd/gdttf.h
@@ -1,4 +1,4 @@
-/* $Id: gdttf.h,v 1.3 2000/02/26 03:20:50 zeev Exp $ */
+/* $Id: gdttf.h 20492 2000-02-26 03:20:55Z zeev $ */
 
 #ifdef _OSD_POSIX
 #ifndef APACHE
diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c
index 212c666..c375cea 100644
--- a/ext/gd/libgd/gd.c
+++ b/ext/gd/libgd/gd.c
@@ -591,7 +591,7 @@ void gdImageColorTransparent (gdImagePtr im, int color)
 		if (im->transparent != -1) {
 			im->alpha[im->transparent] = gdAlphaOpaque;
 		}
-		if (color > -1 && color<im->colorsTotal && color<=gdMaxColors) {
+		if (color > -1 && color < im->colorsTotal && color < gdMaxColors) {
 			im->alpha[color] = gdAlphaTransparent;
 		} else {
 			return;
@@ -1351,7 +1351,7 @@ void gdImageAALine (gdImagePtr im, int x1, int y1, int x2, int y2, int col)
 		x = x1 << 16;
 		y = y1 << 16;
 		inc = (dy * 65536) / dx;
-		while ((x >> 16) < x2) {
+		while ((x >> 16) <= x2) {
 			gdImageSetAAPixelColor(im, x >> 16, y >> 16, col, (y >> 8) & 0xFF);
 			if ((y >> 16) + 1 < im->sy) {
 				gdImageSetAAPixelColor(im, x >> 16, (y >> 16) + 1,col, (~y >> 8) & 0xFF);
@@ -1373,7 +1373,7 @@ void gdImageAALine (gdImagePtr im, int x1, int y1, int x2, int y2, int col)
 		x = x1 << 16;
 		y = y1 << 16;
 		inc = (dx * 65536) / dy;
-		while ((y>>16) < y2) {
+		while ((y>>16) <= y2) {
 			gdImageSetAAPixelColor(im, x >> 16, y >> 16, col, (x >> 8) & 0xFF);
 			if ((x >> 16) + 1 < im->sx) {
 				gdImageSetAAPixelColor(im, (x >> 16) + 1, (y >> 16),col, (~x >> 8) & 0xFF);
@@ -2205,33 +2205,39 @@ void gdImageFilledRectangle (gdImagePtr im, int x1, int y1, int x2, int y2, int
 {
 	int x, y;
 
-	/* Nick Atty: limit the points at the edge.  Note that this also
-	 * nicely kills any plotting for rectangles completely outside the
-	 * window as it makes the tests in the for loops fail
-	 */
-	if (x1 < 0) {
-		x1 = 0;
-	}
-	if (x1 > gdImageSX(im)) {
-		x1 = gdImageSX(im);
-	}
-	if(y1 < 0) {
-		y1 = 0;
-	}
-	if (y1 > gdImageSY(im)) {
-		y1 = gdImageSY(im);
+	if (x1 == x2 && y1 == y2) {
+		gdImageSetPixel(im, x1, y1, color);
+		return;
 	}
+
 	if (x1 > x2) {
 		x = x1;
 		x1 = x2;
 		x2 = x;
 	}
+
 	if (y1 > y2) {
 		y = y1;
 		y1 = y2;
 		y2 = y;
 	}
 
+	if (x1 < 0) {
+		x1 = 0;
+	}
+
+	if (x2 >= gdImageSX(im)) {
+		x2 = gdImageSX(im) - 1;
+	}
+
+	if (y1 < 0) {
+		y1 = 0;
+	}
+
+	if (y2 >= gdImageSY(im)) {
+		y2 = gdImageSY(im) - 1;
+	}
+
 	for (y = y1; (y <= y2); y++) {
 		for (x = x1; (x <= x2); x++) {
 			gdImageSetPixel (im, x, y, color);
@@ -3864,7 +3870,7 @@ int gdImageConvolution(gdImagePtr src, float filter[3][3], float filter_div, flo
 	int         x, y, i, j, new_a;
 	float       new_r, new_g, new_b;
 	int         new_pxl, pxl=0;
-	gdImagePtr  srcback, srctrans;
+	gdImagePtr  srcback;
 	typedef int (*FuncPtr)(gdImagePtr, int, int);
 	FuncPtr f;
 
@@ -3877,9 +3883,9 @@ int gdImageConvolution(gdImagePtr src, float filter[3][3], float filter_div, flo
 	if (srcback==NULL) {
 		return 0;
 	}
-	srcback->saveAlphaFlag = 1;
-	srctrans = gdImageColorAllocateAlpha(srcback, 0, 0, 0, 127);
-	gdImageFill(srcback, 0, 0, srctrans);
+	gdImageSaveAlpha(srcback, 1);
+	new_pxl = gdImageColorAllocateAlpha(srcback, 0, 0, 0, 127);
+	gdImageFill(srcback, 0, 0, new_pxl);
 
 	gdImageCopy(srcback, src,0,0,0,0,src->sx,src->sy);
 
diff --git a/ext/gd/libgd/gdft.c b/ext/gd/libgd/gdft.c
index 9c4b9b5..ffac3eb 100644
--- a/ext/gd/libgd/gdft.c
+++ b/ext/gd/libgd/gdft.c
@@ -784,6 +784,8 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi
 	double cos_a = cos (angle);
 	int len, i = 0, ch;
 	int x1 = 0, y1 = 0;
+	int xb = x, yb = y;
+	int yd = 0;
 	font_t *font;
 	fontkey_t fontkey;
 	char *next;
@@ -918,14 +920,15 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi
 	}
 #endif
 
+	i = 0;
 	while (*next) {
 		ch = *next;
 
 		/* carriage returns */
 		if (ch == '\r') {
 			penf.x = 0;
-			x1 = (int)(penf.x * cos_a - penf.y * sin_a + 32) / 64;
-			y1 = (int)(penf.x * sin_a + penf.y * cos_a + 32) / 64;
+			x1 = (int)(- penf.y * sin_a + 32) / 64;
+			y1 = (int)(- penf.y * cos_a + 32) / 64;
 			pen.x = pen.y = 0;
 			previous = 0;		/* clear kerning flag */
 			next++;
@@ -933,15 +936,18 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi
 		}
 		/* newlines */
 		if (ch == '\n') {
+			if (!*(++next)) break;
 			/* 2.0.13: reset penf.x. Christopher J. Grayce */
 			penf.x = 0;
 			  penf.y -= (long)(face->size->metrics.height * linespace);
 			  penf.y = (penf.y - 32) & -64;		/* round to next pixel row */
-			  x1 = (int)(penf.x * cos_a - penf.y * sin_a + 32) / 64;
-			  y1 = (int)(penf.x * sin_a + penf.y * cos_a + 32) / 64;
+			  x1 = (int)(- penf.y * sin_a + 32) / 64;
+			  y1 = (int)(- penf.y * cos_a + 32) / 64;
+			  xb = x + x1;
+			  yb = y + y1;
+			  yd = 0;
 			  pen.x = pen.y = 0;
 			  previous = 0;		/* clear kerning flag */
-			  next++;
 			  continue;
 		}
 
@@ -1055,11 +1061,17 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi
 				glyph_bbox.xMax += slot->metrics.horiAdvance;
 			}
 			if (!i) { /* if first character, init BB corner values */
+				yd = slot->metrics.height - slot->metrics.horiBearingY;
 				bbox.xMin = glyph_bbox.xMin;
 				bbox.yMin = glyph_bbox.yMin;
 				bbox.xMax = glyph_bbox.xMax;
 				bbox.yMax = glyph_bbox.yMax;
 			} else {
+				FT_Pos desc;
+
+				if ( (desc = (slot->metrics.height - slot->metrics.horiBearingY)) > yd) {
+					yd = desc;
+				}
 				if (bbox.xMin > glyph_bbox.xMin) {
 					bbox.xMin = glyph_bbox.xMin;
 				}
@@ -1088,7 +1100,7 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi
 
 			/* now, draw to our target surface */
 			bm = (FT_BitmapGlyph) image;
-			gdft_draw_bitmap(tc_cache, im, fg, bm->bitmap, x + x1 + ((pen.x + 31) >> 6) + bm->left, y - y1 + ((pen.y + 31) >> 6) - bm->top);
+			gdft_draw_bitmap(tc_cache, im, fg, bm->bitmap, x + x1 + ((pen.x + 31) >> 6) + bm->left, y + y1 + ((pen.y + 31) >> 6) - bm->top);
 		}
 
 		/* record current glyph index for kerning */
@@ -1116,25 +1128,28 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi
 		normbox.xMax = bbox.xMax - bbox.xMin;
 		normbox.yMax = bbox.yMax - bbox.yMin;
 
+		brect[0] = brect[2] = brect[4] = brect[6] = (int)  (yd * sin_a);
+		brect[1] = brect[3] = brect[5] = brect[7] = (int)(- yd * cos_a);
+
 		/* rotate bounding rectangle */
-		brect[0] = (int) (normbox.xMin * cos_a - normbox.yMin * sin_a);
-		brect[1] = (int) (normbox.xMin * sin_a + normbox.yMin * cos_a);
-		brect[2] = (int) (normbox.xMax * cos_a - normbox.yMin * sin_a);
-		brect[3] = (int) (normbox.xMax * sin_a + normbox.yMin * cos_a);
-		brect[4] = (int) (normbox.xMax * cos_a - normbox.yMax * sin_a);
-		brect[5] = (int) (normbox.xMax * sin_a + normbox.yMax * cos_a);
-		brect[6] = (int) (normbox.xMin * cos_a - normbox.yMax * sin_a);
-		brect[7] = (int) (normbox.xMin * sin_a + normbox.yMax * cos_a);
+		brect[0] += (int) (normbox.xMin * cos_a - normbox.yMin * sin_a);
+		brect[1] += (int) (normbox.xMin * sin_a + normbox.yMin * cos_a);
+		brect[2] += (int) (normbox.xMax * cos_a - normbox.yMin * sin_a);
+		brect[3] += (int) (normbox.xMax * sin_a + normbox.yMin * cos_a);
+		brect[4] += (int) (normbox.xMax * cos_a - normbox.yMax * sin_a);
+		brect[5] += (int) (normbox.xMax * sin_a + normbox.yMax * cos_a);
+		brect[6] += (int) (normbox.xMin * cos_a - normbox.yMax * sin_a);
+		brect[7] += (int) (normbox.xMin * sin_a + normbox.yMax * cos_a);
 
 		/* scale, round and offset brect */
-		brect[0] = x + gdroundupdown(brect[0], d2 > 0);
-		brect[1] = y - gdroundupdown(brect[1], d1 < 0);
-		brect[2] = x + gdroundupdown(brect[2], d1 > 0);
-		brect[3] = y - gdroundupdown(brect[3], d2 > 0);
-		brect[4] = x + gdroundupdown(brect[4], d2 < 0);
-		brect[5] = y - gdroundupdown(brect[5], d1 > 0);
-		brect[6] = x + gdroundupdown(brect[6], d1 < 0);
-		brect[7] = y - gdroundupdown(brect[7], d2 < 0);
+		brect[0] = xb + gdroundupdown(brect[0], d2 > 0);
+		brect[1] = yb - gdroundupdown(brect[1], d1 < 0);
+		brect[2] = xb + gdroundupdown(brect[2], d1 > 0);
+		brect[3] = yb - gdroundupdown(brect[3], d2 > 0);
+		brect[4] = xb + gdroundupdown(brect[4], d2 < 0);
+		brect[5] = yb - gdroundupdown(brect[5], d1 > 0);
+		brect[6] = xb + gdroundupdown(brect[6], d1 < 0);
+		brect[7] = yb - gdroundupdown(brect[7], d2 < 0);
 	}
 
 	if (tmpstr) {
diff --git a/ext/gd/libgd/xbm.c b/ext/gd/libgd/xbm.c
index 23d3688..26fa693 100644
--- a/ext/gd/libgd/xbm.c
+++ b/ext/gd/libgd/xbm.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: xbm.c,v 1.7.2.2.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: xbm.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdio.h>
 #include <math.h>
diff --git a/ext/gd/php_gd.h b/ext/gd/php_gd.h
index 406252b..1cfb813 100644
--- a/ext/gd/php_gd.h
+++ b/ext/gd/php_gd.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_gd.h,v 1.59.2.3.2.7 2008/12/31 11:17:37 sebastian Exp $ */
+/* $Id: php_gd.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_GD_H
 #define PHP_GD_H
diff --git a/ext/gd/tests/Tuffy.ttf b/ext/gd/tests/Tuffy.ttf
new file mode 100755
index 0000000000000000000000000000000000000000..8ea647090f75e7d34bee4c511921299d1f3c1055
GIT binary patch
literal 18444
zcmdUXd0bOh+VDB&-Xts`ke#q51QK?E5W>ERfQSl+h=|C(DElJfjvFe)UBnHoT5GLi
zZL8L?*3q_BtyQ}@*6G;I>Eg80nd!70$C8`xIX7sn?Y!^z`+a|X(R=T?&)J{z?B`q%
zMhLmVjYTLkvvA_L{ClMcW&H!7URfFAGEoq^0y%l`?vs at _dCI3J{=OaFHz0(|vZhQ;
zZ`|0q9^P9aUpslqn5d%;SLQ(8YIrZIYN}{`BV^xK(D?TVk at Tv$om!+LJqU?nA)l?Q
z=xDXs5CiqI;oYIGv8Q(3yQg6=4wn#$e!sq^qWY`nUQdVi#E>6T4*-{I>sG;g2E6;%
zH+9bIem!R`ynliaqiAfYs`$f=s|C=0BEX(#s+iY`W#|l~>!G~1xuU6NO!eD$5lY&H
zknl=tOGjr-_A4JFlmYqpHlnz|n(dCl=$B@>CjNk&9RPsP`5(r-``~F?!=(tlMVH~-
z0TBv?AJh|F=2Fm1*IwJ2rAX+_w`9+=-!Jfx3#bwaP$A%&*2Fw46;cFnfSFnNd&s3f
z@&~~8jze2NIOl+Hg!{R at 0CE;GLOMRQ6s8J~2YsWw+HuwJuGJn9CUHr0B=|hM<E8Jz
zotEZ*<S<mBvwRBGkrz;}(2RPS{~(QEKB{MLp=!Js^%8#+MBGscvk~c-#b^><kLs98
z)P%RfGthRIZAH~=D?S9zCbkx}!Lt~yKDc_}YJsaBuJ!n7)J8960xD$sQ94tMN|{?I
zPFReB1S*ux?nFK8>(JKg at SF?ReAFYD0`Esr4?cr-u$|EMO at Qa49-#+3{|)(ORLV|(
zX9+wf0?dNK*bkxqe?s~;$`b~nLiQ}mfwpr6VW^t4qvcG9?GAx?F?-NTm}4<vQ91J|
zlv4m~JIaOUc;*LGN!~(>7%Ljj2BKbk6fMW^+tx70`1GK_3UdQE>w{`(J=PtKCrA1E
z<>VB=0?|Acp#nh}%3xL^Gks at XMJ42GRDxU4B6zMOAEOj(MqW%H%45p`C&eg*EkZds
z63QJ#A&dvgWsagCrXD4*1npo>0)C%DW#m<qLW)o%a}x~`1FB%Y2HY$L9Gyh#@GaEE
zJcTNm(?})|L;t^ZHKHki<9UGJ<&R$Yl<f*Wg$}@TJ6s1{d(j4{zg!TBY9GItG}P$W
zipm8t$baMlJQqRPjqDj%4>2nHtxIqX=K3#G#Hvu^qZdA6I{|b!$jn0>WG8Z9g{S~<
z+t2!=R at U&y1 at Fvy)D8G8Vja*j!0j(Czz1EMWo!yM%-ltX1x{!X_o69q&4Q~6uG!=%
zln+-0IfmNcn!%=_K41vSLG<$Cc at W`5%7Oeli?#4nAUA-pXbE}-J&#VImyu1Y(E4hR
zfV=`;Lr<b-(Q$zOK`Ya`+o87ewsW?#wllWhfAaJv2R?C!_7qU|@gHqffP_c{^1~51
zA!j5;E=Yo0p+_l_Avx4iA{A02cceic$P>osjeL+V^r}OCNRRwc05TvW3Iy34j6zT-
z3Pa&&42nRJC<>WSG%}+YWI?eg4#lGcl!%g0GD<<IC=I2fu_yzLLzyTGWux&Z2Tee^
zXd;?~CZjx*j|$KfkWW)l5t at dI(R5UTW}s3u6P2M^s2o+$$zUNBUG^WQQs|*1dH at 8}
zvI3#V!O_WC>>_b>lgi`@rAqCt@$mHW_VLx~{Pg|-24i4Qa7bua_?U>uC{wgK#u6JB
zpOBc8oRXTBJ{B}jR`&Ru3Aqy|P0q_Nm{K^kXj<{~k{P8l%Vw2Vphb(9E?c{P>yGU^
zckdeByYI>U2M#{<^r6E?p8ef(M_+v5_zBcnRb7udhni=j_6D?MBWgpawqtaBXwUQW
zDjVs`oNk1A7Oq3+^vmbYpLyjNEHrwZFV%JSRkUFF{1v^c`c|)eVgU7T-m(cYTHu<?
z7qIIwdlK#us1+SV9InPk at HPBbA|xfGoeYtK<W=%EBVl})O6DN*220oswun8+-V?9_
zH-Wz(R*);$C)5fPg`0%egd-w_C|J}iS|!>fIw^Wr^qGirP&kx1tabRrQQ}zc*y%Xz
z_=4lxj{k6SaPo1Aa7uM5aH at 7{bsBW~qqEpK)p at S-QRffD{^DG5v-p7cocIG5g-g6k
ztII)`Ph2=jj-*zyPI5r<s^lYAm20r;GS_vkU$`mU{M?G%wz&OSDwKLiTcro2_hs&~
zKv|S*uk5Jo6WO<Ng*;WhO1?pUT>h^7&+ at P2-z$(ptZ-NOD{>XZifToxVxeNSVvAz0
z;)vpu;v2<1C98B(dMN{y(aLn?kn(`?nDUJBlJb2OQq`*3Rf|<?RfDR1s-x-{b-H?z
zx<p;8ZdVVh-&Fs_-N${g`&#!w_kHe1-A}u};r^~hs|nS_YBDr=no`ZM=CJ0J<_*pJ
znvXPJX};6k_Yiu>JiI*oJ!S(H*4h4r(*;+6o4kQS6+(SDHZ##NrYM!t{!puw0QEB%
z4OpXBYy5%|jDblXriL2h9Y_kjGx(Io59>6{38TdlaR2XNDUtpTuAwOr0Z!0<FRLI4
zLLqRd0osQq6L6FY+GHe{HX3aR_!Z26Pb)&aSr4O-D6pSG?#&YJ&q{!3f`mkAhhR1X
z&-D-V_7qCEwJHyV91DpZAa<|=sGy?#BeUS5U;)S_U+7<|lM1AIxWi at E@s|nS;8Mby
zlDW(s#$Rvc4i9n%a4Ee8anV-Xz-_|~M2`!&qXXO?TtTk^T+ojfa4YH64{$0OHMSb&
zD%cyrAW!0<Hxux$C>$H5J}lr+q|}?k8KcFARZGJeb99VFE|p-V!iT7($=Doiz!!So
z-n2;HJt4lOCO7Q8<4f`v*XD-xd1 at 2Plf$MgoD=u{ZZfmeCvn{KjXmu`yx8qdURsS4
zr*`*G7~eDbz-RK_UQuvfX;xlvc!s}LKtdET(^eGieAUr<3||m;mBi&o`(EO(?1|Zh
zO93|mRFCQf-hvE}qP`#rQ$WfA1*m<nDJsSsZ48G65{h_Ic!UQ2w|qS|F$-Ad@#dsy
ztn=iU_$j at 6+A6mxgip3tZczxWe`CctF-b*?bDlZAXvv=T%0b9#tK6y(;?zO%&Ia72
zb~B|Gr^{SSW2Yy!4$m+3^lsffuhfg&mbjZzr=`0}qcTbo+lJ at Qgp6JDN<Bx~*kKT@
z)wVlqpWp__afJDiD;25)tb{2*f=)<p)+zN038VK5C+6s6VgW*rPKLRv)J%x6c~;fh
zO*3jL)*n9Az3}PR at Q(w!oVr~zN)9c_jVYKOSkN--ROj*wCiYlvZf{+~+I7R5H~jAT
zx%~st9bGfyvwMz|<*l2U;Hcl(RsKxl(kd7a&^=ZI-OCV?|C+)F{~I|!LcJIT*^c1L
zLJ8<PBrw3BWfl{XDr9P`ZeF^e;|1>C=B~nL at S!g*;pdKX%ee6$a8tox#i#`8-G_QE
zP){EtGe;AnNhMP%2zENQWX+b&W3yNF6uyj~x%f7I<?ul+=fiionY5k`S(zTN>Ehr;
zMETQbFh{3gksmx_OltaO0m<Nt>7CMqE4F}~0P$d?Zz5hy;A?FTI;B!+5cmDy6%p)r
zZ?!m3t_)VRG%13W@<4Ilzx{$EyuM#0Hb5br0}+1W<}OwRDizly`XF79<ZY$Ws1gT$
zcq>q>GAfnVBmmS)t}2v)DzUp8&@BcVn=t7N2UY-*KVV*9=t<Z#fTOv$2Dq!_BDQds
z*KwDz1<Kdi^f(#42^InhP)LX?HpZB#K%=vw!U!kJ13VPU*la4z?2 at f4w0PneA8+5f
z31b4B#Jos at uA!|aVq#?EJa9Yot<*J<r>rx`dC-P at KmX$UaYe}T7~j-ADlp3)6_E(r
zz_(%wg$}e$6Yx*pFu6Jmuka&0U2A}@WmJC3qh*w0Wfa>4uuY5xi=82pfjoGQm5}Q6
zo>MJP-3j+@`t#;PUxs at Pd-!c?%3Ctt;H4XwleaWCklfsXmG3R&?)_=?mh0T_-o=i8
zS~1W!Z|}v{m)>n!w`}+89j9;7`QSq^fIEU?)W5=di%F^{nZqBK?q*NkzYne!-~z^d
zPjC}t2LhD(o1%Oer9vVUNf;%dCOVn1B#S_<0S{tfzY(KtY4aNM#&`y&#!objbq=m9
zPa*G(bVcX&v}QS{_$BGX++};`R3B!GENjncvud_ZH&sra9Gk2Ub?_-|?in*s_S~xF
zrBM#S?hyfTF_{7V`<74~Vblh^FBaUQ<4D1y;wzklU^6es3?Ufgn2{pR2gI!ei|8;B
zXrH#7hT$pw=i_E|Bu%QUSigCeFt10u#(Zf(&B?CxNk&8AL=*SL^+nvsn1cGl1LM0V
z1TNarTD at -S_|%4_WiK=ptedECPMx_T>vhfs?mYq953$~WFK4h!LD!g+da7q|0v2H%
zQ~t^;yRBPEnal3&+#<YO at YG1>6I=%#VD(>Hi|q60gL!D6KGl?d5`oA_DU7kxC>=Oe
zm=@Io=}by>36TN*Qctq6jO?}ENuRNE|6lbkbKdDY{O|Bxg&(ij at 94gVF^b$IYOxwm
zAj1P(q2<*BDap%jueq?#>xc6 at LyhfQ>9~8LUsiAw^gs~wJSzE>qmmv!?4R&f00>RS
z0z$q;q&m>H^q^3+zhULG+_>?n`|j(U(mS53Irz2KQ9Z^lL4YUi#6undb$!RXbUw9<
zpCfYL%R56%lXfnibaiuZSbRrwMztf!w$B}mMAl-bHAk$+Ix}mr-Z)8Et5R_6exAT{
zD{x0WjB^aEGu2nAz{@|YDSoibW4cMs8yX6c52pM=(dSQj9z?&L_etiOSB2`AI-WQs
zazD04C|gzDG9Z*LtLa`jvi&13hci>Rs2%z~S at tY<U+-j^k{`6$$MLUiFR$>^HZOl_
zosXgA3Fcou-bIzm+PpmSD^_6XQ_Hns*PD%78Uq7+Z**VX8yz}n)$}-N(FSA0o<CAN
zuZKCx1n<H4g8|QvjTYODEQ(%UD8Yys5nv)fq}t!sdl2poE1t!t?RXB#Yuc25 at Ec!8
zRisZE;m#alz4hL;eJ{@S^Qv8X%=!%=Iw~xAaqBeGwauX+@$K!&O|10=1b$c>*n8Q`
zem5idO-|&Nn-EEz>~K8~Hy~Fh<R-G`0&f)}HKS(VqcR}C5t|$_$>Uf&a*-pLQ<G{^
zY&~clhPkEVTCmnDVU<L7$w*DAbVfV!3BB<5>+lHJNErMg1>-&1o*o*+Sbq_ZaO_2V
zUqNa}i4}wn#Z{c`U(5km>oD-c5a at Bh3u{Ss<i!bCO?GxB)U1-Qj~l8aX}8KdCUBh0
zNg<cINt_);%#MWx{n?x3-#=5dYw?7fWRLMtk(%cpmC5*rfsJ8#F-d-LZjLgUT&_}k
z`S>dqttnX;r#bL(RQaxoip?n+i!nNji~EK6hOq|OZVSCZ4rYP}hyv6?y%sS*Xflw9
z>?rZ^ykqC!hic~mhf&E5W{Cu5qgEkc at 5f1l9h!LYKis!mnML{*E`NJ9vYlU}k;D{M
zhFRtXh7L at ge?}v^v~KQEcacC`V2Z7ER<!K>W5<fWJyRtK$1}c|d4*#HZe0^fngp(G
z>4m*FYB%9&SWuAnHlB5L=J5O7V^b&em&L|~B#ztBr8PcrX?vSrpqnbbcztQ4dDe5Q
z^6HO%vm`C;1McGtlAzK|n7MF<T$NQvg)aer7_lD%-xBc3!M at k2bquI5tS6h_!g~TZ
z*L}x`cnJ|7XU|%nTg`b=W`=qUf_NsI1od2imlL3-R2P*DMlsc4AUQ|VfE9yL7X=nF
zZ)J=oBm%t-t8q$Z+k|M9NWO0acm8iv7G;LG2pj^kmrQlN@;vUJd$J`(?C|uo?70)d
zoE;oA!4s;slyG`--ujl#GNB+;?_JhKsyU-BVr-m`w at RNFrz8E*(`({`^<Br!#bqXc
zf4}r;6LQTupjm2Lu7~xd(vdeHVW5;teHd!qgL<J$=R;uSEbMys+}6Fbx-a!tgoRf;
zaj84EuX0kP>sIe)>Ph`G4Y7$$2dieE)Z&2Drdcrs>(6~SxBK=Rn~DMw^Yep)W;8b*
z|ERm?_Omt1A)HKj9Q6W at BoNO4xg5@h at Tegc1p!h5hXoXxjQLOzoKv-a>JL9Gd8r}d
z;N(r8uH`cDnKhqnnoMq{E$i!;5&hHb!oAn~c5wGDv<i;Re~bGG=0x!?gSL4aig$jf
z1ElL=wp#_{ZEFPiX{1hYY=DytSnm!zQr_`r?w0BwmL4803d82{^%?sP;41>`Prq<X
z&23($0kZ65PH~mYn!yDFDaY!AF*!5v<(9m#%C&EH at 3}I5ZT!mFb<Z}$#Wg%rmpL~t
zQRl{WlK at Y1aof%rnDt(A1G{c*c<<7VvUwdD`T1SH|Dd7u*726$@zd*Oh7J@>*s at _^
zSqvQqony}E9PMr%@A~x&ldZ$U);Ta}>k`s?KacFQmeKM%;6`;2wZp(C+_9UdR=a({
z0vsY!a?_~2h0Rccw<3&&wgG3)eJ!QyGlx0u>Qi?OZbThz?mfQfbRDyOr0z%V)jP+t
z9*pO`hvT8bRF6e~#bNUGdFwnfblrOW3>}n&d}r+#xlPWVwvIfgr+|7OgXO%d3N@@F
zH88r{yiA383Qj^k_z5s>5UOByP&VqhiLc<du5afGU*rk}$9~eWAK%YokN;H49{4GD
z6hE7x9;_+U1KN_(O54d_c5kF=_or at l4U|9lQwh*wDe%Czu%;UDZFw7kN-VIW)IPAZ
z$xMKqA$Uf$`&dQ;o2`~5m8~tBxurD8T_sH_>z at kAWX*`eP_pdGf}S^46{+2gCCjfY
zm`9Upa$|1Ol(n5{c}t#ox~OGNL0?<y#Q6sfOs%<gZMdp*&*{d_rs_A}+)-Y#>(rdt
z5BS4@$0y|vlU7OvX$Uq#h=Ju*KG=XTCG|DjD|8H<va#~o at bI-Suu|)gzU;=@Ys0WN
zAk}Mv#-->7j%^7GoVKMS-MWUK>!$(-n5zfx2|Xg6>0DzhMvFQIKM(-a5*MjOMk?FE
zyEm|TDp^{^x}xfRHD;J|#ikiC3;fO$zfm_L4xF+4a!=*63oDak?o(3^mK at 0)YOa2E
z5xm0G+h-RIbfq=C at bQAC>VnmC#|HVW>)g5ld-0P`so$^@FtUsLs-UN9Nn%=J&A_&)
z4ZQrNG at i%fz=Ps|7o1 at 60%-veP()A_i2(;?>k6Wzr!QV3E4V2)0T16{(;Elz3yjdu
zoSPZAaKruEq}#eiaO~E(t$+5h&ZBe}25asFct`}gvple?g~o8<sN=-*Gx*m&LbVS(
zC<+W=hm~hK1}=MtW+jzarbq(J*-<e%<@YC!d>1sNKGfQ=MdlS1mK8lk6PQ|<k{;~2
z=EMF!{D8B3rwwmt56X>?GX|@*LRU>tP}0~E(}C9xFV|$ZEiCg-4iE9xDRfR!-$+yT
zq}teJFBQ_5Bj#=HT`>O#RtIo+F`L0zhB-aRr2Dr8dMHL|9p*9s<<t~QQa3RFsWC`-
zm=Ab>|HORrB=^mauXENg)jqlY)cgrcYvKgQMs9GgaXY_!ziufLGIFE6=-|PW#c$JK
zIJ60xjNJ!q(%3GjJh&L{0GIV4mwp(7+y=At*!_D at t`PY18z=|-DL2WXnB2sG?V~T;
zdkV{5!?NG+{o+IJNAAZ at faiqljh{kTaIn~`KbfFz4)g)5!pmvO+E9&(jhvHsHm*9!
zCEzP(xjo#_3-}@kj(w!e8e}z+9P3GP%Ra_js9z2B9cbUw-U717Jp>`w>O)*Q6*h;!
zgiEw4$T#-#)lmL6l;`n at K_g&YFPk^AmudW|k7*b=&I=tLsTeJ{?IjYyeOgvPwTE76
zA`-3(_y6!ixv*s5{#o#C?|`x|wfnX@=$*V^jXXlG3LXA)&)#1zv>~>)p*Dj6f~Z{Y
zk3Zu6@&Q5Wz<&<%cwWgaV$9$JQ#|X9A{t^cpV>8h8Y`Exi*CG!ivUl>HVwPOc96<$
zHK>(hHvP*1s<+D7Zv3iHM}2?H at OD2Rya4+SIG08&aMgEWhG>-<Kg~NrjNM)3N_I8&
zmAZ)>{8esR?y?x7&facfkPC&j&zMR!9o8ZQT6-8-iZ&R*)37_bA|rK|yaCHeys1Eq
zJ$$$2iS>=;>ozZ_9}+L=8aLl>(yC_;e%Mb!GU{XYy?cvf_E**Q^;gxd?rVxHU$;BN
zufFMvs|&2(>>`S!<j`wR at 4Z2B#rtW at b@0>NVMhZjCf)=A%R>UjWjHYc`jMMqbW~U)
zkI1Y}uGv)@9$vb;Hn}=8Off``Z~toV-p&reQR}6!tTg at 1Coi<NTsTm!PaPL_N^tb2
zr|^b5UtE0SE;NpEZFiVPHWOk(KgZKRx)6(+igy}~vg>qmS2izm$%$jjLMF%PoaVcy
zPHjq9{$5vLUelJs_Ge?5ps1?9pM3Ri`j`mi#Gvdn!w_b67VRIHoiv~Bix4y(aJmiV
zq=7ve%9(oeLkkOx1hD*AH at nAc@FTXNAw~GO>Xd?2CCOglrMqfiS`l*VUv_kK?%n&9
z;OPB=Q(@y$^{I`UpDb>@@Z?N=T2|O*uJ!KSH!glb`>KRF?S?stc>L*jYXqVJyy2$i
z1vqx&!vug-l at ep(<oHBuZg-;4A+akrdqBI=^v>L6=PN4DEvp!=ipHdL<2#MJKPlfk
zXJVqIYVLLpC*R*PW83K(=kdVlfWt-5>3f39phsY}KpvY-fHmliMulO`gx(M##(RhQ
z*CrH~8{;R2G)ZKEUV(A1F^5Nrn8SU2iL*0|K|u{NnOk(&F<#~XzPJ=-8#@Uo&<tGn
zVC_x3bWS3V;SLxIJwzX~Ewf|8#2LG55=HAJ!=?3m6k$Li1$~d=a>$x%N2aXm;GBfC
zy3W{XU7J?vevQ_bf4WZYJVY(bwHNsO49E?4gmfSWAfioIPYKhG4ky$=#+soaul?->
zE2}Nryc26z*QNM^^m%J~Px`7`8?1MTcgf(~^o;I72%^xnS`Ii%5o`uuSq_rxv1pna
z=wx}U!OtWju?AhVh{(5X6POLLAzGmey^F0sT}K2?9TehPXv3M(mc0!ctn at Qr2*R79
zlBmT)-E3eVd^pw+5JxZW<2eoznOq~O9SYCLPj?T_*3zaeM!5bnR4a0EaS|>#%tron
zy+5TcB}D3@;n$kZ{|L}A*wa)#gINcSgTVV3Up>mLoINyzw;v_-)**scaw`Q#M~3j%
ze7!;29ee=l0mTG>`)5+}fl08&!Wg&ew&ilsw(C-t3CnY)2WZ(lc03C<!}>!60q`6h
z4ujW#t~V)@VMZ!7MZ3z5byn{uWr~IzJVGXz{xmcs(~ODC4e#9Q=`q-}XX`eh#5*J{
z<RhZbZf>72hO4mtiH$sI7?bMnv8JJZ?cd+Eb`al$vg+(aAFhtlGQYmi at 96p}|8Lfp
zjXd!i%S%u#@ZojfLpREYa-JpZkvX~$7T%Mh at k~2^*2c{_)Uft)#jMLu^k1&np-pee
z8Q+qwwJfWsTxKDf?l-qh9lW>a$&u|lM)sBr^<-r943+e})YbKposN3BLg<T*o61b(
zV=@y~>Hkt at vXL)8E;6mV1h=hz4`n9Lo2(1;<qiAHz?=MH0#D-69S2^VJ;svJ=_}Tn
zw_Msa1H|;GJbTE47n97ZyOvx%)l*ur|BdDc0__)^$FB?d4El6~*@+BblViI2Kn_3%
z<kP&!<mn5{z<3AR3fSP~KJ!j at TmQl@3tiK4Schyj2ll-|#<QTQEL7mqR;W?OsC^vm
z>;ijM&>HLsg%f-uv7jb7<kFV><pmMqO)*1xUEX2lD1|u1FC`#GXHZH$*f#XCVY5$t
zX-%ggD+S+HXyel=6V?opu$-&_pZSxs{1g3sC626G?4j_}hDRj%t$A@(tJm1<@~MHT
zVbqYP^g;3jA^hG66`Cd`4W%mh?Hq&o`*rKKUAWMdnYm>i2+8~R`>bJIOImuN-aMGk
zi)<vNQM)FgHaX#qJRbtO%glKGN(NCz9;H&^ZN2k|5W=vpkC=<l9 at rgVyYRuPv)q=w
z*d6;0bL-j2kxfi92pXP`GhoFdp)Bw*rV$WN{y)S)PT%R`KHGl&oo(-&-_CtHpD7#J
z2Q at D<V at BR#EVMSJlANi9x*$7rdS`0j(dw9~J^arvj^TLj(&4|}Jq&vpr?_n5NmSe<
z{DSpcI$zKQbiRfMnt+cEClfF|9-q0?#JrfhVB5qSgR|>)M3xmqJtm5WWR*|PNjN%n
zfj+He+#l^+`zSsLJ at Zil<Lrn2z}^esEkm;o7ZLTy--y}zJ>xJiz#QQH(GuGZvH)y4
zh}_AO8AFUE*}<ZuR3!qHM+5L+d_h93;!SUhGTgxkmKkhjl%y8w+=zqN$;&-d9jC~2
zHF~**l*q;M#PCEvUm;=T(?eaojINoAcvYyomy>{T5Xu9|Ek*63!QO69g`c}Z>?mL`
z?qjuHs=Tm?FP at RB_pEz5Bw6Dk^3<|@7&8J#*oOC0h$TjxI_)gKcA%%R7-TTmj at 0j8
zw4Rz0FyED6n;x{!1B^Kpgc==0W@?RCVv at iC#59f!2^c&TRU)&G158N;yEEkABNI`@
z+b0q_ou5dGpO=7T<Ru~YiNvYtM1;gaC^M2<@`h!*`WF6jBA)8Pko>b3q?#vJZU~Fh
zNQ7R$n24)O0QW(`?<pOn5ED7Wl+vAiIkhvWy9%RJ@&+O(3c!4dM`X6YXKX}7ytg*P
zqSKi({In_25hj&?dZZ5-QH1Dx!$N(1L)<rNLVbM0!hC%~fSVw0>;;zmzXdP5^&u9Q
z367qlFm%pN`*~;*xx=0swG~HW?7+2P=h$V5eVx at p*aF9k<_vo{#m+2`?yIUU$(u8E
zu}IdMx1^vXaep6HyKL+Zjmup)G2G?mP0h4fdGlxJ3{z&#E-8<G9p(pq6l)ZmhBG_}
zgIsWvnWE(Om=g9TK#)R4#~Y{u5j?Tw&bP}pd^CH5v~0X at ycXASn_bHAJ(WkeI?vfh
zYcK>VtO-tq>7=j^&%vGCO<`vBs#E!kCiVTE`vwbj+779g)J5b#f<L<p_DBluX2RHR
zuty at H_g}^C{lNS-o9zAtB$P2x;LRxYb}s`Gm}On6(k3*pE|qDy4Y)e*^}Gv9LR>`&
zJr`)Q$KWbTUvhzrsN9nCXHVeo-18Po at 9S}yUjB9Y7ZzA73ob;b2YA;{v-`c&FZ334
z!I>unn<b;-$wc?vAeaYEFo14?$ROOIoj3y*@8bIJao2GqcYTO%iju>9B*Xe9iLsvP
zyV=Jb$GLqlN8oRCSFi*4061I at tx(Z<cl~;@(z<}GTu)Y6=R*kswr4%rC6K at wDu~?5
zAM6kDA#TtV5Oj#Kn4|rKU}*8QKuwa-K<Vh_l8E9D%ANKyto=sobY|Ji%?X3DDOxtG
z!p$kn>50$%oF{FXQ871jhcwfZeFDn`vi>riijnTjmjy6q9bX%a2z`dLO{;eD(6<&7
z#^u>vmiXp#^Ri3b<Q~>PDAZFHNMy47l`z&^@;UjKIl%83LEP%WVC{noc<i0%?dGKY
z&ILXC#$-~<QY1FUhUmnCpVOcmKrEslY+(l31E6~X;S3p^_Zpo&bO>BP6{?*Hz{nd_
zro7OA0~QeR=gEZbNP-mX8apMY%~jA-G$Ub>Uv4ZBMeD+SxDJu~a~&&RfsLw;m1nvz
zKC$~BS|^S>u?rrga%^dqS~;~Rp};%VAQEdsJu?D)TQ;6u<zr~x_{ypi7+)BS3OdQz
zE)0U>N>BpPFbcK|;)$Sfz?qhV(xG>T4D_8l*LUt6dOy#WaksgTupidjpLCuOBPBX!
zh*@Oc6Q&VdW at xo_E#Zjn>Ut^@ngH7}rU`bCz#>6M;9}t%+;?m-`whfiLg8G at M4%Z!
z0+mhtrZp8zFiUEg*`sz;cVVL;z+S*$rXhCYD3V}LObsCbrT#rfxBSMr2^niTvmM=v
zTD#2S`Z}|^QtDRqk2`_g4bEG?>YelElOAF`Z1Niup~0e=6TAxw+IG1xGIf}z=f3K7
zX$9olsL-6QEPr#wP)T^;g!$Qq$g-WYYL9dl7(PB07qjVai>97j5ZlIzy_CcO`za^I
zCp$^JL){e)!oS}kpYr%fVeXJ!>};w#=x%KanQ7h6&hCRe0%uS+lO(~Ao%ZOQ?N-!-
zh5scjKFv5!icXqhzt7#?RJK7bfctv6kli73Go?*Sag&<Ti__<9>zuCCHp1P5;(HKw
z0M<f$!iXd&8~gHj&*MJk$5z2E!RLe_H1^?1w{fX<f}jTjv`H1NIlAGRyT6A*EyQl$
zO4JHB8H?GsalB6I<|PuktGSP)&Ju+{;KHvv*TvK_^>im9fEt((H&ej^F;ql=&(7N$
zIB5MwvH#ZaN#+3Q`t{*m at uA~_19P|#_Fr5~ZtSzh)ckw{esg4~GA={z?GHl)+JN{a
z^CQSH5scCk=mR|ED3wVHwt_vn%&H;e?Pt(4(s0(USrV|6tdyRROHb^J$eI`|5cvnC
zjR{zPOLknoKB=rMEyCHM<HC<?FR<Tm$dM?;IyYU+<S2Iy(5knqqqP^`cD8OL%U!%f
zEt4aIgDQ8Io9_4XI&K|l#x=}1e)rQz7VtRi;x6Deh{6F5)uS6!U}f>qWk%GckQ!x#
z at lo`qy0M<I!8uN6U0wXVT?9_jaF5vJY<Gz^Hqs|l2((ZMJeTl*=RCnglruUxz27~5
zzVG~bqM?j;?s1;Odb-9k+dgKIV6~eo@?%a47Vx?kY*Y5GXc4UYSZu_lu#fA{@8jCx
z%K_ewKgGq5!P@|yhR)z!kHK>QUV%NCZ+{6Fz6bCIOqemhgo`c%ycO4yNIM+nHwA1^
z*f6sD>sSXaFjYjO7h`5jjFh{_SzjcR$ptPGpQe}fFnRMWs$2xewp#zQnUig1Z{%2i
z;MZavSIq7g+=PDS;>)(p(2qeuaRG4w)=RVm;A7F3xD4Qd{Jib(H2`nN<-dZL06Y!O
zrmy^EdEpI!H=wf&od at 5J?M<M-G|?8?zHK({0C*_h{sCZUchM2rJ}Sn&58(X4kMW{f
z+P+PJH$H?Pgz|C13$%S(38S;a0Z$tMPZ0P3>F5hRfvEtyc!-h{VMB-<c0Ofv7Xu_7
z;0|Y=Jc$>5gkz%=gWO+_eYSJ=C$Cy%fnN at Pf<wvR02$!^{7q&374GDDGHCq|9*0TU
zl$Sr^n1N9|?G~A#{|X$!(0%?$ejeakvG+vh0X`Pz;k^KldIWwJ;O)c-Q+z)P?*Moj
zdIt|b2Dj6ViKm-K$_u}M@(tL5Nq<<r5$BM9GH-(YC?OWxiqOx)cD-8_`Z at 3zL;X<p
ztl$H{NGRQL2 at vV+Cp2hCLv1mMRC2%%>=XJK?IMR-+>Y2Vx&fua8+?ay7LIZEh?z0(
znX35}zC+`-n%zCkrQOd|Z7>(LOkZD;q*3c9Ti?KMjW33`M2*TjD06 at R9oS?#^t-{i
z8Byc5ZRBiCodr)H-rSLXF(G&UzWs%rE&HlR${DL+@}j4oDx6onlBdh%FxG8$`oKv%
zeZ<=7kB1La{NXddf_L-yJAn5AJ{~D=#}oRF$CDinCkWVPk)4ij at pPQ%M0LqVfHOch
zPJA at czCUizF(#>Y6gjZbHD=n-_QtV-aO=qMFzFlTV5wVn`01))d|P5js7zI=Kfq_X
zYus5w;FOic$vO%59O&~>+h^=d!9_UP4n6~KsR6EOPz+8<0a?1~{J{GMUt(1D!DctO
zKw!Gj6RSqL1Vkis!XkZ)2R>@~;lxwl`8b4T6z3a5%4#M_M4T{h_6+AhUze2XSt$mA
z`@I2wjnq{cJpK4GhoFDwbWAoWbl}Eq5sNkK(oHA!uL}+niejrW<NchRL$jLGyp3GF
zc>${syZ9%Rrz$ip8-+t`!n_<~z&ZWcJWC}v-};Z~%Ya}vQrS=jvE)Xf9&kMt9Yq9i
zox!h-9Zq#*J5I2D_e;3oikktYNq)3L`8DRt3l2f~3e-b#A1hx5 at CH<dPyZ4wECP5d
zx`57(w#2}G!5u+4#JME!T|fnJJ8uO73ENNC{)}#+QfD^~l7$dnr>c}SQgY{YH0W)W
zI>un(u}#mhft{q1>mZLJA0Ka+<={75+9Z<Jz8gQkdc*T at irM;ttD>Sv=B-i4+$63J
zD`S^88B@*vp(=NoXQ+8<?CKXioh}VcEAYoGaq`=hmS>#gZZ_we%2syblR}p<JK~GS
zxRa768YBJpZ>aYToLq^cXH7poT(-zLOguho=3;@9M5fYsxmud%h<!A1+5m4$q(QZP
zi6vtHpG{^_s6$N1QwC$LGSF8(o$JVo`z*bw3)ZKIo5{>&GXYO?vDh{Qc*^A0rxD^d
zPYXi;J{G<YaRPYuBXBCi+Hu_DaKSCQZf4eAnqN1*9YHyihtC)Anb90#I}W%H6OI8%
zqX8-hdqw`6J3)inw&{Mo7X<MkcJR0Ng9d>y#X|kh?f$lv1?~F&+R&oyUivL#iy-*s
zg3$|3Lc75FG?F#C>xKIujJ)f?&KGT<jNkpDG8Fdr$WB24q~s5FQXY?*Kkn^dx1piy
zkGeR&ba-fFjQ##+N9S>;hoAyjw<iTZf-Xx1y#CU at m0&oD$wzpoIN^OmFgU?uhvV;5
z!5KwH3s5k>U#7OG?>cF=jc<Ea<o-%sLVX;5ZR~P)2P|;-_lrj^Yh7>e4ayp0@{ABW
zD(YjmSFO&P9+V^Tw4CePRgN!)M|G{fxhlZBW9RIh<le-uTKsjf{pm8r=iIxehO+Zs
z#ZrmX-#y$}8&vjg<ofDfjl*V=`9u?y7hv@<ZwQV9y;PunLT#mdp6*&<Ubloso*oY&
zA;1eBfk*Q6SpPU&aGKJi>2rH&o*wyj1pR#b2MD#H9%)BFZITAmf=@n#ccW(+FLnmB
z<Hn!C^G097$2ANpg7F-OIIS~yP!N4^#8eGZ-)U3`&~syIW>jZ_4Ci$wZ=!-MF^b5S
z+}gClakCS>U7btPrli#;>s%dOuXk8HWV8OTZ27Fnoo#XMvRUVPmsUkEjP==!NxhpU
z6=g*2NXcEWDR){{NC0>0<n->6qCNMwOqhJ4q$|I4FE=!45<kafFt%5O4m_?-+rEUk
z6!W;U!|gIRi<h~N!dZ%|NQx1F{@jkBlE+CGrZRN2Jj6I(5xN1q9Z#@P?3VKSknTqu
zgqWR%?#0 at 7oTy;58|Ku39D_%L4g9$}-u2?QpvGiOjqX3;Cs)VM*i;r<9pmPTe~`M@
zW|- at zn%%tC=CrRC9OVuNnWH@}?JKS+*|lv>TDV26#`|U#w608S*f%pjd&R~(_A%43
z38*dFfV%L9qhrJ9F!5#%lLN4Fyia(TK~_W#P at mAASNupGIchC<kT*!Y*}k9i2AO}3
zxbk^Gt5e{Emteuy-~+hgjRMIzO24z%WE>;-9Q+km+dTnzW&o?QMdNt%A;4Zi?EN2k
z*lehq26ct#jGC6oXER8<;BPSQGdLSQWCl1#0A9f+lcj<$0sack;o+|k3U9MTkqvyC
z=aJj}@A)=oK-q;*R*23y-G_Pgq4$_G>=AnAi(0jIQ$j at JqCydP0W|&r4}KXy$MMRI
z2F%RSSkk-Q_~N3rMH9=Tit`g^`C<uojbU&o_iw+3h;gOK<(}S&aWgC{erMRTnj!c5
zRy`Fzq1+TwlGEqqsrBibI4vZj!q;bvT6UnXPp6XtmVNPj7?J(=7Tz(M#z;UqM$-g|
z$ePhK#BRvvqiGhoFd?I90diwzjHZQ1z|0#>J0e$xesMy7&PdMuaWpMPa#l8)hHn$u
z3|N26iokaBg70l<8qQhaA*f|fV>o|XH<~73759v$8B{<vj;2}U!MKj51xU-pji!aj
ziD?{7J0c%u at o3r^8JMG^X)&b#I+}KYF&OwX{U*zUox`W;nFcR`y?qI!74U5^9h)0J
z=2!T%9MXR9Z7_u^AnnfX=hGTUd$4_c+8fd;b_!_kc2onhv=i>tNDJR>_rSdnzB8h*
zDtOjF2`zjn*$B at D9-@VK8GLjI|5_n7GzR{4qOM2s!=Y3Qd}$B_^}3->CzRI0N!u3G
z3~BmoM|IGy79?XhP~WfHs~s&%pZ2ohpkZsFbTicJgqEG)A01 at _z_pNLZ#xvy4N#^E
zM$-lJq3Jq+(Q>qJdu|7$+9AIRo*>O3rvtngTB?F?trGgE0jL&Qpt(O|rxV__P>W(k
z3ulSC0AG#JMisneKwcA+r9FkiyB$I?V8>+*d{Ak}We=3>g8XhMZ6DRoSfbbpr#8gc
z_L_>$nrdxjkG8PBqO+>Lrd>O=vAv<HUK?27+1VODW=v-n{~lh|(iEiaZs at GnX0|kU
zX127~)o3HbBOaEk1!ygWhIiD4H`jCqIXM;9H*{zzJXG7zT-DfB-Oya8t#4 at Vgx8MF
z_O7bVhL+}zP;Grhhqkh&rdeCv(##L1vqjrkU!%?Is%&hi(q^<YRWvk*YayZShEdkc
zg;DmjbZNUQpecSx4V~dIn?jgyE&PMfQDIkYEj$VU8Fc_{1SGV>YfW8OV+ABAdHgpr
zi3g<p+>-XOHnc#Dl%yiz0D2UEMF4SGpvhlgC0@&qKs(x_HeMSU85R{56%heN|9k89
zaX+X9A8PZ9*)d8$TIh*>mK+WjO=+P(O?w9*Q5z8v86FuC0g#^?e}IJlna|K;3y*-3
z{&%heZ2y`*DDeNG?tiCrX!sYj0PhoFMJao?!zb5WaHlw$3nFw9tZX~aB8?z+e$J@?
zH`#}cWGAp$Y!ck#SPynAo64rKv1}C7E8^LNvRU2#&|=Lm+JsM29`^Ss&{zh}hkGYL
zr@)=ET{Ta4)&E0_<N1=b-!>R+4b-*MYz?$T8J!A`x<`7g0s4j?p*PUCyMPFP>vsWw
z7)t&B{eAp?v;wUJdu0%Pg;t?;V3$7we`kT9wdhX}@7s(9&^ELhy at ozQhtWRtJ9HUc
z1pmGgB;^J`{S`pxCHT7UI(iFTMc2?>K;3)jZS)R$4p90Jh at AWpy^n4H&3=vkhSs3j
zfa*Db^hQ{?y+B57pm``^b-^Oc1v&axG!Mbw)<6s3{MJISzn_G^XRsJ8g%dE}pl{J>
z%%B(0i|8bJ3B8V4 at K;Zu3s``KP8}_^o%KDf^)<~-wGDM$?KRaE9rZ44T`iq8?NpX^
z)KrVQnj4}bA~V@>UG0>r=<0!eMR=<LP7cuBJpPS=FX}Nw#~)AthLjWhO#>f<8!I}S
z!P}#G)RwdV?D;;Rc^=QFIe1P at JFP=$g<cQ-k_!Bt6!atCk_yg%B*Nc0D2Bb7YQRt@
zU|<E>gm%IA`A1;Br_j6T1Hk`Z06YJHS|ZzJxXWy9un%Og9YYq|FnqBSf~MO_;p@|V
zkY@(HiUEEG?oqbQFe`s3W3jD=cYj+q|Gp7UZBnbp-zG+Zw$muvc9w_lh1BPKDjj9m
z=*f;0=m|sXE8#xPb_GskWI(U^(0YOGCO}R at OGhD=brbR@!b;M69^7X at Sx94Qmt{Ya
ztAZ9}@HZg>;T%;s|Mwp(5P6IT9HfBmwf~KWiNK<TV5`t?8tj-u=buYiL0``QZtd^+
J=MUjN{|8MS%G3Y=

literal 0
HcmV?d00001

diff --git a/ext/gd/tests/bug42434.phpt b/ext/gd/tests/bug42434.phpt
new file mode 100644
index 0000000..cede1ac
--- /dev/null
+++ b/ext/gd/tests/bug42434.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Bug #42434 (ImageLine w/ antialias = 1px shorter)
+--SKIPIF--
+<?php
+if (!extension_loaded('gd')) {
+	die('skip gd extension not available');
+}
+?>
+--FILE--
+<?php
+$im = imagecreatetruecolor(10, 2);
+imagefilledrectangle($im, 0, 0, 10, 2, 0xFFFFFF);
+
+imageantialias($im, true);
+imageline($im, 0, 0, 10, 0, 0x000000);
+
+if (imagecolorat($im, 9, 0) == 0x000000) {
+	echo 'DONE';
+} else {
+	echo 'Bugged';
+}
+
+imagedestroy($im);
+?>
+--EXPECTF--
+DONE
\ No newline at end of file
diff --git a/ext/gd/tests/bug43073.phpt b/ext/gd/tests/bug43073.phpt
new file mode 100644
index 0000000..df4ffe3
--- /dev/null
+++ b/ext/gd/tests/bug43073.phpt
@@ -0,0 +1,48 @@
+--TEST--
+Bug #43073 (TrueType bounding box is wrong for angle<>0)
+--SKIPIF--
+<?php
+	if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+	if(!function_exists('imagettftext')) die('skip imagettftext() not available');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$delta_t = 360.0 / 16; # Make 16 steps around
+$g = imagecreate(800, 800);
+$bgnd  = imagecolorallocate($g, 255, 255, 255);
+$black = imagecolorallocate($g, 0, 0, 0);
+$x = 100;
+$y = 0;
+$cos_t = cos(deg2rad($delta_t));
+$sin_t = sin(deg2rad($delta_t));
+for ($angle = 0.0; $angle < 360.0; $angle += $delta_t) {
+  $bbox = imagettftext($g, 24, $angle, 400+$x, 400+$y, $black, $font, 'ABCDEF');
+  $s = vsprintf("(%d, %d), (%d, %d), (%d, %d), (%d, %d)\n", $bbox);
+  echo $s;
+  $temp = $cos_t * $x + $sin_t * $y;
+  $y    = $cos_t * $y - $sin_t * $x;
+  $x    = $temp;
+}
+imagepng($g, "$cwd/bug43073.png");
+?>
+--CLEAN--
+<?php @unlink(dirname(__FILE__) . '/bug43073.png'); ?>
+--EXPECTF--
+(500, 402), (610, 402), (610, 376), (500, 376)
+(492, 363), (591, 322), (580, 295), (480, 336)
+(470, 331), (548, 254), (527, 233), (449, 310)
+(439, 309), (483, 202), (461, 193), (416, 299)
+(401, 300), (401, 183), (381, 183), (381, 300)
+(362, 307), (316, 195), (291, 205), (337, 318)
+(330, 329), (246, 244), (224, 265), (308, 350)
+(308, 360), (202, 316), (190, 344), (296, 388)
+(300, 399), (186, 399), (186, 425), (300, 425)
+(306, 437), (195, 483), (206, 510), (318, 464)
+(328, 469), (240, 557), (260, 578), (349, 491)
+(359, 491), (312, 607), (334, 616), (382, 501)
+(398, 500), (398, 618), (418, 618), (418, 500)
+(436, 493), (483, 607), (507, 597), (461, 482)
+(468, 471), (555, 558), (577, 538), (490, 450)
+(490, 440), (600, 485), (611, 457), (502, 412)
diff --git a/ext/gd/tests/bug48555.phpt b/ext/gd/tests/bug48555.phpt
new file mode 100644
index 0000000..f2030fe
--- /dev/null
+++ b/ext/gd/tests/bug48555.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Bug #48555 (ImageFTBBox() differs from previous versions for texts with new lines)
+--SKIPIF--
+<?php
+	if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+	if(!function_exists('imageftbbox')) die('skip imageftbbox() not available');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$box = ImageFTBBox(14, 0, $font, "Text without line-break");
+echo 'Top without line-break: ' . $box[7] . "\n";
+$box = ImageFTBBox(14, 0, $font, "Text with\nline-break\none more");
+echo 'Top with line-break: ' . $box[7] . "\n";
+?>
+--EXPECTF--
+Top without line-break: -14
+Top with line-break: -14
diff --git a/ext/gd/tests/bug48732.phpt b/ext/gd/tests/bug48732.phpt
new file mode 100644
index 0000000..f8cb5e2
--- /dev/null
+++ b/ext/gd/tests/bug48732.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Bug #48732 (TTF Bounding box wrong for letters below baseline)
+--SKIPIF--
+<?php
+	if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+	if(!function_exists('imagefttext')) die('skip imagefttext() not available');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$g = imagecreate(100, 50);
+$bgnd  = imagecolorallocate($g, 255, 255, 255);
+$black = imagecolorallocate($g, 0, 0, 0);
+$bbox  = imagettftext($g, 12, 0, 0, 20, $black, $font, "ABCEDFGHIJKLMN\nopqrstu\n");
+imagepng($g, "$cwd/bug48732.png");
+echo 'Left Bottom: (' . $bbox[0]  . ', ' . $bbox[1] . ')';
+?>
+--CLEAN--
+<?php @unlink(dirname(__FILE__) . '/bug48732.png'); ?>
+--EXPECTF--
+Left Bottom: (0, 47)
diff --git a/ext/gd/tests/bug48801.phpt b/ext/gd/tests/bug48801.phpt
new file mode 100644
index 0000000..a6a9874
--- /dev/null
+++ b/ext/gd/tests/bug48801.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Bug #48801 (Problem with imagettfbbox)
+--SKIPIF--
+<?php
+	if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+	if(!function_exists('imageftbbox')) die('skip imageftbbox() not available');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$bbox = imageftbbox(50, 0, $font, "image");
+echo '(' . $bbox[0] . ', ' . $bbox[1] . ")\n";
+echo '(' . $bbox[2] . ', ' . $bbox[3] . ")\n";
+echo '(' . $bbox[4] . ', ' . $bbox[5] . ")\n";
+echo '(' . $bbox[6] . ', ' . $bbox[7] . ")\n";
+?>
+--EXPECTF--
+(-1, 15)
+(155, 15)
+(155, -48)
+(-1, -48)
diff --git a/ext/gd/tests/gif.phpt b/ext/gd/tests/gif.phpt
index dd71a54..2a3687a 100644
--- a/ext/gd/tests/gif.phpt
+++ b/ext/gd/tests/gif.phpt
@@ -2,7 +2,7 @@
 gif in/out
 --SKIPIF--
 <?php 
-// $Id: gif.phpt,v 1.2.2.3 2006/11/03 14:51:02 bjori Exp $
+// $Id: gif.phpt 222747 2006-11-03 14:51:02Z bjori $
 	if (!extension_loaded('gd')) {
 		die("skip gd extension not available.");
 	}
diff --git a/ext/gd/tests/imageantialias_error1.phpt b/ext/gd/tests/imageantialias_error1.phpt
new file mode 100755
index 0000000..53fe0cc
--- /dev/null
+++ b/ext/gd/tests/imageantialias_error1.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource in imageantialias() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imageantialias($image, true));
+?>
+--EXPECTF--
+Warning: imageantialias(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imageantialias_error2.phpt b/ext/gd/tests/imageantialias_error2.phpt
new file mode 100755
index 0000000..8dad8bd
--- /dev/null
+++ b/ext/gd/tests/imageantialias_error2.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Testing wrong parameter passing in imageantialias() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+/*
+
+It seems the second argument passing is not being correclty checked.
+This test is failing due to this wrogn check
+
+*/
+$image = imagecreatetruecolor(180, 30);
+
+var_dump(imageantialias($image, 'wrong param')); // 'wrogn param' is converted to true
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/gd/tests/imagearc_basic.phpt b/ext/gd/tests/imagearc_basic.phpt
new file mode 100755
index 0000000..4647dd1
--- /dev/null
+++ b/ext/gd/tests/imagearc_basic.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Testing imagearc() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+
+//create an arc with white color    
+imagearc($image, 50, 50, 30, 30, 0, 180, $white);
+
+ob_start();
+imagepng($image);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+f18ad8001afefee2e9b8c08d6884425b
diff --git a/ext/gd/tests/imagearc_error1.phpt b/ext/gd/tests/imagearc_error1.phpt
new file mode 100755
index 0000000..b2fd8d3
--- /dev/null
+++ b/ext/gd/tests/imagearc_error1.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Testing wrong param passing imagearc() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+
+//create an arc with white color    
+imagearc($image, 50, 50, 30, 30, 0, 180);
+
+ob_start();
+imagepng($image);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECTF--
+Warning: Wrong parameter count for imagearc() in %s on line %d
+abebb25b5a2813cfbf92f1f24365786a
diff --git a/ext/gd/tests/imagearc_variation1.phpt b/ext/gd/tests/imagearc_variation1.phpt
new file mode 100755
index 0000000..568d3a6
--- /dev/null
+++ b/ext/gd/tests/imagearc_variation1.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Testing passing negative end angle to imagearc() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+
+//create an arc with white color    
+imagearc($image, 50, 50, 30, 30, 0, -90, $white);
+
+ob_start();
+imagepng($image);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+ed2c8427a9922dfd8a105f10a88a0d20
diff --git a/ext/gd/tests/imagearc_variation2.phpt b/ext/gd/tests/imagearc_variation2.phpt
new file mode 100755
index 0000000..045c68e
--- /dev/null
+++ b/ext/gd/tests/imagearc_variation2.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Testing passing negative start angle to imagearc() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+
+//create an arc with white color    
+imagearc($image, 50, 50, 30, 30, -90, 0, $white);
+
+ob_start();
+imagepng($image);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+463b4aea9d9acfab30016ee92613c779
diff --git a/ext/gd/tests/imagechar_basic.phpt b/ext/gd/tests/imagechar_basic.phpt
new file mode 100644
index 0000000..7e5fa93
--- /dev/null
+++ b/ext/gd/tests/imagechar_basic.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Testing imagechar() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+$white = imagecolorallocate($image, 255,255,255);
+
+$result = imagechar($image, 1, 5, 5, 'C', $white);
+
+ob_start();
+imagepng($image, null, 9);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+e94962ac28ad03bd4142cb1abe9ef98b
diff --git a/ext/gd/tests/imagechar_error1.phpt b/ext/gd/tests/imagechar_error1.phpt
new file mode 100644
index 0000000..17971c5
--- /dev/null
+++ b/ext/gd/tests/imagechar_error1.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error on non-resource parameter 1 of imagechar() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$result = imagechar('string', 1, 5, 5, 'C', 1);
+
+?>
+--EXPECTF--
+Warning: imagechar(): supplied argument is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagechar_error2.phpt b/ext/gd/tests/imagechar_error2.phpt
new file mode 100644
index 0000000..02a9599
--- /dev/null
+++ b/ext/gd/tests/imagechar_error2.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error on non-image resource parameter 1 of imagechar() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$result = imagechar(tmpfile(), 1, 5, 5, 'C', 1);
+
+?>
+--EXPECTF--
+Warning: imagechar(): supplied resource is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagecharup_basic.phpt b/ext/gd/tests/imagecharup_basic.phpt
new file mode 100644
index 0000000..54c8dfa
--- /dev/null
+++ b/ext/gd/tests/imagecharup_basic.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Testing imagecharup() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+$white = imagecolorallocate($image, 255,255,255);
+
+$result = imagecharup($image, 1, 5, 5, 'C', $white);
+
+ob_start();
+imagepng($image, null, 9);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+79b48d5cef6d489bb68573df0296d775
diff --git a/ext/gd/tests/imagecharup_error1.phpt b/ext/gd/tests/imagecharup_error1.phpt
new file mode 100644
index 0000000..12f8620
--- /dev/null
+++ b/ext/gd/tests/imagecharup_error1.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error on non-resource parameter 1 of imagecharup() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$result = imagecharup('string', 1, 5, 5, 'C', 1);
+
+?>
+--EXPECTF--
+Warning: imagecharup(): supplied argument is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagecharup_error2.phpt b/ext/gd/tests/imagecharup_error2.phpt
new file mode 100644
index 0000000..b78dc92
--- /dev/null
+++ b/ext/gd/tests/imagecharup_error2.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error on non-image resource parameter 1 of imagecharup() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$result = imagecharup(tmpfile(), 1, 5, 5, 'C', 1);
+
+?>
+--EXPECTF--
+Warning: imagecharup(): supplied resource is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagecolorallocate_variation3.phpt b/ext/gd/tests/imagecolorallocate_variation3.phpt
index 6bdf259..5b512d2 100644
--- a/ext/gd/tests/imagecolorallocate_variation3.phpt
+++ b/ext/gd/tests/imagecolorallocate_variation3.phpt
@@ -55,8 +55,8 @@ $values = array(
       // float data
       'float 10.5' => 10.5,
       'float -10.5' => -10.5,
-      'float 10.1234567e10' => 10.1234567e10,
-      'float 10.7654321E-10' => 10.7654321E-10,
+      'float 10.1234567e5' => 10.1234567e5,
+      'float 10.7654321E-5' => 10.7654321E-5,
       'float .5' => .5,
 
       // array data
@@ -114,10 +114,10 @@ int(657930)
 --float -10.5--
 int(652810)
 
---float 10.1234567e10--
-int(217143306)
+--float 10.1234567e5--
+int(259815690)
 
---float 10.7654321E-10--
+--float 10.7654321E-5--
 int(655370)
 
 --float .5--
diff --git a/ext/gd/tests/imagecolorallocate_variation4.phpt b/ext/gd/tests/imagecolorallocate_variation4.phpt
index f170e4a..ce6b6bd 100644
--- a/ext/gd/tests/imagecolorallocate_variation4.phpt
+++ b/ext/gd/tests/imagecolorallocate_variation4.phpt
@@ -114,7 +114,7 @@ int(657930)
 int(657910)
 
 --float 10.1234567e10--
-bool(false)
+int(657919)
 
 --float 10.7654321E-10--
 int(657920)
diff --git a/ext/gd/tests/imagecolorallocatealpha_basic.phpt b/ext/gd/tests/imagecolorallocatealpha_basic.phpt
new file mode 100644
index 0000000..720c500
--- /dev/null
+++ b/ext/gd/tests/imagecolorallocatealpha_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Testing imagecolorallocatealpha()
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$img = imagecreatetruecolor(150, 150);
+
+$cor = imagecolorallocate($img, 50, 100, 255);
+$corA = imagecolorallocatealpha($img, 50, 100, 255, 50);
+//$whiteA = imagecolorallocatealpha($img, 255, 255, 255, 127);
+
+$half =  imagefilledarc ( $img, 75, 75, 70, 70, 0, 180, $cor, IMG_ARC_PIE );
+$half2 =  imagefilledarc ( $img, 75, 75, 70, 70, 180, 360, $corA, IMG_ARC_PIE );
+
+ob_start();
+imagepng($img, null, 9);
+$imgsrc = ob_get_contents();
+ob_end_clean();
+
+var_dump(md5(base64_encode($imgsrc)));
+var_dump($corA);
+?>
+--EXPECT--
+string(32) "b856a0b1a15efe0f79551ebbb5651fe8"
+int(842163455)
\ No newline at end of file
diff --git a/ext/gd/tests/imagecolorallocatealpha_error1.phpt b/ext/gd/tests/imagecolorallocatealpha_error1.phpt
new file mode 100644
index 0000000..1178b9c
--- /dev/null
+++ b/ext/gd/tests/imagecolorallocatealpha_error1.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Testing imagecolorallocatealpha(): Wrong types for parameter 1
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$resource = tmpfile();
+
+imagecolorallocatealpha($resource, 255, 255, 255, 50);
+imagecolorallocatealpha('string', 255, 255, 255, 50);
+imagecolorallocatealpha(array(), 255, 255, 255, 50);
+imagecolorallocatealpha(null, 255, 255, 255, 50);
+?>
+--EXPECTF--
+Warning: imagecolorallocatealpha(): supplied resource is not a valid Image resource in %s on line %d
+
+Warning: imagecolorallocatealpha(): supplied argument is not a valid Image resource in %s on line %d
+
+Warning: imagecolorallocatealpha(): supplied argument is not a valid Image resource in %s on line %d
+
+Warning: imagecolorallocatealpha(): supplied argument is not a valid Image resource in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagecolorallocatealpha_error2.phpt b/ext/gd/tests/imagecolorallocatealpha_error2.phpt
new file mode 100644
index 0000000..ba9e5de
--- /dev/null
+++ b/ext/gd/tests/imagecolorallocatealpha_error2.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Testing imagecolorallocatealpha(): Wrong types for parameter 2
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$img = imagecreatetruecolor(200, 200);
+
+imagecolorallocatealpha($img, 'string-non-numeric', 255, 255, 50);
+imagecolorallocatealpha($img, array(), 255, 255, 50);
+imagecolorallocatealpha($img, tmpfile(), 255, 255, 50);
+?>
+--EXPECTF--
+Warning: imagecolorallocatealpha() expects parameter 2 to be long, %s given in %s on line %d
+
+Warning: imagecolorallocatealpha() expects parameter 2 to be long, array given in %s on line %d
+
+Warning: imagecolorallocatealpha() expects parameter 2 to be long, resource given in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagecolorallocatealpha_error3.phpt b/ext/gd/tests/imagecolorallocatealpha_error3.phpt
new file mode 100644
index 0000000..ee8f646
--- /dev/null
+++ b/ext/gd/tests/imagecolorallocatealpha_error3.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Testing imagecolorallocatealpha(): Wrong types for parameter 3
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$img = imagecreatetruecolor(200, 200);
+
+imagecolorallocatealpha($img, 255, 'string-non-numeric', 255, 50);
+imagecolorallocatealpha($img, 255, array(), 255, 50);
+imagecolorallocatealpha($img, 255, tmpfile(), 255, 50);
+?>
+--EXPECTF--
+Warning: imagecolorallocatealpha() expects parameter 3 to be long, %s given in %s on line %d
+
+Warning: imagecolorallocatealpha() expects parameter 3 to be long, array given in %s on line %d
+
+Warning: imagecolorallocatealpha() expects parameter 3 to be long, resource given in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagecolorallocatealpha_error4.phpt b/ext/gd/tests/imagecolorallocatealpha_error4.phpt
new file mode 100644
index 0000000..2b5b471
--- /dev/null
+++ b/ext/gd/tests/imagecolorallocatealpha_error4.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Testing imagecolorallocatealpha(): Wrong types for parameter 4
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$img = imagecreatetruecolor(200, 200);
+
+imagecolorallocatealpha($img, 255, 255, 'string-non-numeric', 50);
+imagecolorallocatealpha($img, 255, 255, array(), 50);
+imagecolorallocatealpha($img, 255, 255, tmpfile(), 50);
+?>
+--EXPECTF--
+Warning: imagecolorallocatealpha() expects parameter 4 to be long, %s given in %s on line %d
+
+Warning: imagecolorallocatealpha() expects parameter 4 to be long, array given in %s on line %d
+
+Warning: imagecolorallocatealpha() expects parameter 4 to be long, resource given in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagecolorallocatealpha_error5.phpt b/ext/gd/tests/imagecolorallocatealpha_error5.phpt
new file mode 100644
index 0000000..2d77833
--- /dev/null
+++ b/ext/gd/tests/imagecolorallocatealpha_error5.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Testing imagecolorallocatealpha(): Wrong types for parameter 5
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$img = imagecreatetruecolor(200, 200);
+
+imagecolorallocatealpha($img, 255, 255, 255, 'string-non-numeric');
+imagecolorallocatealpha($img, 255, 255, 255, array());
+imagecolorallocatealpha($img, 255, 255, 255, tmpfile());
+?>
+--EXPECTF--
+Warning: imagecolorallocatealpha() expects parameter 5 to be long, %s given in %s on line %d
+
+Warning: imagecolorallocatealpha() expects parameter 5 to be long, array given in %s on line %d
+
+Warning: imagecolorallocatealpha() expects parameter 5 to be long, resource given in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagecolordeallocate_basic.phpt b/ext/gd/tests/imagecolordeallocate_basic.phpt
new file mode 100644
index 0000000..3c80c69
--- /dev/null
+++ b/ext/gd/tests/imagecolordeallocate_basic.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing imagecolordeallocate() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+$white = imagecolorallocate($image, 255, 255, 255);
+$result = imagecolordeallocate($image, $white);
+
+var_dump($result);
+
+?>
+--EXPECT--
+bool(true)
diff --git a/ext/gd/tests/imagecolordeallocate_error1.phpt b/ext/gd/tests/imagecolordeallocate_error1.phpt
new file mode 100644
index 0000000..6d642d4
--- /dev/null
+++ b/ext/gd/tests/imagecolordeallocate_error1.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Testing imagecolordeallocate() of GD library with invalid resource type
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(180, 30);
+$white = imagecolorallocate($image, 255, 255, 255);
+
+$resource = tmpfile();
+
+$result = imagecolordeallocate($resource, $white);
+
+?>
+--EXPECTF--
+Warning: imagecolordeallocate(): supplied resource is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagecolordeallocate_error2.phpt b/ext/gd/tests/imagecolordeallocate_error2.phpt
new file mode 100644
index 0000000..0f07cde
--- /dev/null
+++ b/ext/gd/tests/imagecolordeallocate_error2.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing imagecolordeallocate() of GD library with no resource
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(180, 30);
+$white = imagecolorallocate($image, 255, 255, 255);
+$result = imagecolordeallocate('image', $white);
+
+?>
+--EXPECTF--
+Warning: imagecolordeallocate(): supplied argument is not a valid Image resource %s on line %d
diff --git a/ext/gd/tests/imagecolordeallocate_error3.phpt b/ext/gd/tests/imagecolordeallocate_error3.phpt
new file mode 100644
index 0000000..8000218
--- /dev/null
+++ b/ext/gd/tests/imagecolordeallocate_error3.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Testing imagecolordeallocate() of GD library with Out of range intergers (Above)
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreate(180, 30);
+$white = imagecolorallocate($image, 255, 255, 255);
+
+$totalColors = imagecolorstotal($image);
+
+$result = imagecolordeallocate($image, $totalColors + 100);
+var_dump($result);
+?>
+--EXPECTF--
+Warning: imagecolordeallocate(): Color index 101 out of range in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagecolordeallocate_error4.phpt b/ext/gd/tests/imagecolordeallocate_error4.phpt
new file mode 100644
index 0000000..7aaeffe
--- /dev/null
+++ b/ext/gd/tests/imagecolordeallocate_error4.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Testing imagecolordeallocate() of GD library with Out of range intergers (Below)
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreate(180, 30);
+$white = imagecolorallocate($image, 255, 255, 255);
+
+$totalColors = imagecolorstotal($image);
+
+$result = imagecolordeallocate($image, -1.0);
+var_dump($result);
+?>
+--EXPECTF--
+Warning: imagecolordeallocate(): Color index -1 out of range in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagecolormatch_basic.phpt b/ext/gd/tests/imagecolormatch_basic.phpt
new file mode 100755
index 0000000..1d18812
--- /dev/null
+++ b/ext/gd/tests/imagecolormatch_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Basic test imagecolormatch() of GD library
+--CREDITS--
+Paulo Alves de Sousa Filho <pspalves [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$ima = imagecreatetruecolor(110, 20);
+$background_color = imagecolorallocate($ima, 0, 0, 0);
+$imb = imagecreate(110, 20);
+$background_color = imagecolorallocate($imb, 0, 0, 100);
+var_dump(imagecolormatch($ima, $imb));
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/gd/tests/imagecolormatch_error1.phpt b/ext/gd/tests/imagecolormatch_error1.phpt
new file mode 100755
index 0000000..4a572e3
--- /dev/null
+++ b/ext/gd/tests/imagecolormatch_error1.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Send only 1 parameter imagecolormatch() of GD library
+--CREDITS--
+Paulo Alves de Sousa Filho <pspalves [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$ima = imagecreatetruecolor(110, 20);
+$background_color = imagecolorallocate($ima, 0, 0, 0);
+var_dump(imagecolormatch($ima));
+?>
+--EXPECTF--
+Warning: Wrong parameter count for imagecolormatch() in %s on line %d
+NULL
diff --git a/ext/gd/tests/imagecolormatch_error2.phpt b/ext/gd/tests/imagecolormatch_error2.phpt
new file mode 100755
index 0000000..bdb3c24
--- /dev/null
+++ b/ext/gd/tests/imagecolormatch_error2.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Send not TrueColor to Image 1 parameter imagecolormatch() of GD library
+--CREDITS--
+Paulo Alves de Sousa Filho <pspalves [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$ima = imagecreate(110, 20);
+$background_color = imagecolorallocate($ima, 0, 0, 0);
+$imb = imagecreate(110, 20);
+$background_color = imagecolorallocate($imb, 0, 0, 100);
+var_dump(imagecolormatch($ima, $imb));
+?>
+--EXPECTF--
+Warning: imagecolormatch(): Image1 must be TrueColor in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagecolormatch_error3.phpt b/ext/gd/tests/imagecolormatch_error3.phpt
new file mode 100755
index 0000000..8793e15
--- /dev/null
+++ b/ext/gd/tests/imagecolormatch_error3.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Send not TrueColor to Image 1 parameter imagecolormatch() of GD library
+--CREDITS--
+Paulo Alves de Sousa Filho <pspalves [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$ima = imagecreatetruecolor(110, 20);
+$background_color = imagecolorallocate($ima, 0, 0, 0);
+$imb = imagecreatetruecolor(110, 20);
+$background_color = imagecolorallocate($imb, 0, 0, 100);
+var_dump(imagecolormatch($ima, $imb));
+?>
+--EXPECTF--
+Warning: imagecolormatch(): Image2 must be Palette in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagecolormatch_error4.phpt b/ext/gd/tests/imagecolormatch_error4.phpt
new file mode 100755
index 0000000..0bfe767
--- /dev/null
+++ b/ext/gd/tests/imagecolormatch_error4.phpt
@@ -0,0 +1,20 @@
+--TEST--
+using different image sizes imagecolormatch() of GD library
+--CREDITS--
+Paulo Alves de Sousa Filho <pspalves [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$ima = imagecreatetruecolor(110, 20);
+$background_color = imagecolorallocate($ima, 0, 0, 0);
+$imb = imagecreate(100, 20);
+$background_color = imagecolorallocate($imb, 0, 0, 100);
+var_dump(imagecolormatch($ima, $imb));
+?>
+--EXPECTF--
+Warning: imagecolormatch(): Image1 and Image2 must be the same size in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagecolorset_basic.phpt b/ext/gd/tests/imagecolorset_basic.phpt
new file mode 100755
index 0000000..a1776ff
--- /dev/null
+++ b/ext/gd/tests/imagecolorset_basic.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Test imagecolorset() function : basic functionality
+--CREDITS--
+Erick Belluci Tedeschi <erickbt86 [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+if (!extension_loaded('gd')) {
+	die('skip gd extension is not loaded');
+}
+?>
+--FILE--
+<?php
+// Create a 300x100 image
+$im = imagecreate(300, 100);
+
+// Set the background to be red
+imagecolorallocate($im, 255, 0, 0);
+
+// Get the color index for the background
+$bg = imagecolorat($im, 0, 0);
+
+// Set the backgrund to be blue
+imagecolorset($im, $bg, 0, 0, 255);
+
+// Get output and generate md5 hash
+ob_start();
+imagepng($im, null, 9);
+$result_image = ob_get_contents();
+ob_end_clean();
+echo md5(base64_encode($result_image));
+imagedestroy($im);
+?>
+--EXPECT--
+6f2002aafb57b2d275fad6a6258d7476
diff --git a/ext/gd/tests/imageconvolution_basic.phpt b/ext/gd/tests/imageconvolution_basic.phpt
new file mode 100755
index 0000000..5a9aa8f
--- /dev/null
+++ b/ext/gd/tests/imageconvolution_basic.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Testing imageconvolution() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+// Writes the text and apply a gaussian blur on the image
+imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
+
+$gaussian = array(
+    array(1.0, 2.0, 1.0),
+    array(2.0, 4.0, 2.0),
+    array(1.0, 2.0, 1.0)
+);
+
+imageconvolution($image, $gaussian, 16, 0);
+
+ob_start();
+imagepng($image, null, 9);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+594576a2a2a689447ffc07eb5a73f09b
diff --git a/ext/gd/tests/imageconvolution_error1.phpt b/ext/gd/tests/imageconvolution_error1.phpt
new file mode 100755
index 0000000..5dc250a
--- /dev/null
+++ b/ext/gd/tests/imageconvolution_error1.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Testing wrong param passing imageconvolution() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+// Writes the text and apply a gaussian blur on the image
+imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
+
+$gaussian = array(
+    array(1.0, 2.0, 1.0),
+    array(2.0, 4.0, 2.0),
+    array(1.0, 2.0, 1.0)
+);
+
+var_dump(imageconvolution($image, $gaussian, 16));
+?>
+--EXPECTF--
+Warning: imageconvolution() expects exactly 4 parameters, 3 given in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imageconvolution_error2.phpt b/ext/gd/tests/imageconvolution_error2.phpt
new file mode 100755
index 0000000..5161c19
--- /dev/null
+++ b/ext/gd/tests/imageconvolution_error2.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Testing wrong array size 2x3 in imageconvolution() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+// Writes the text and apply a gaussian blur on the image
+imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
+
+$gaussian = array(
+    array(1.0, 2.0, 1.0),
+    array(2.0, 4.0, 2.0)
+);
+
+var_dump(imageconvolution($image, $gaussian, 16, 0));
+?>
+--EXPECTF--
+Warning: imageconvolution(): You must have 3x3 array in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imageconvolution_error3.phpt b/ext/gd/tests/imageconvolution_error3.phpt
new file mode 100755
index 0000000..df6b148
--- /dev/null
+++ b/ext/gd/tests/imageconvolution_error3.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Testing wrong array size 3x2 in imageconvolution() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+// Writes the text and apply a gaussian blur on the image
+imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
+
+$gaussian = array(
+    array(1.0, 2.0, 1.0),
+    array(2.0, 4.0, 2.0),
+    array(1.0, 2.0)
+);
+
+var_dump(imageconvolution($image, $gaussian, 16, 0));
+?>
+--EXPECTF--
+Warning: imageconvolution(): You must have 3x3 array in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagecopymerge_basic.phpt b/ext/gd/tests/imagecopymerge_basic.phpt
new file mode 100755
index 0000000..85f1162
--- /dev/null
+++ b/ext/gd/tests/imagecopymerge_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Testing imagecopymerge() of GD library
+--CREDITS--
+Cleston Viel Vieira de Sousa <cleston [dot] vs [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$des = imagecreate(120, 120);
+$src = imagecreate(100, 100);
+
+imagecolorallocate($des, 50, 50, 200);
+$colorTXT_des = imagecolorallocate($des, 255, 255, 255);
+
+imagecolorallocate($src, 255, 255, 255);
+$colorTXT_src = imagecolorallocate($src, 0, 255, 255);
+
+imagestring($src, 1, 5, 5,  "A Simple Text", $colorTXT_src);
+imagestring($des, 1, 5, 5,  "Another Simple Text", $colorTXT_des);
+
+var_dump(imagecopymerge($des, $src, 20, 20, 0, 0, 50, 50, 75));
+
+
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/gd/tests/imagecopymerge_error.phpt b/ext/gd/tests/imagecopymerge_error.phpt
new file mode 100755
index 0000000..362f597
--- /dev/null
+++ b/ext/gd/tests/imagecopymerge_error.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing wrong parameter passing imagecopymerge() of GD library
+--CREDITS--
+Cleston Viel Vieira de Sousa <cleston [dot] vs [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+imagecopymerge();
+
+?>
+--EXPECTF--
+Warning: Wrong parameter count for imagecopymerge() in %s on line %d
diff --git a/ext/gd/tests/imagecreatetruecolor_basic.phpt b/ext/gd/tests/imagecreatetruecolor_basic.phpt
new file mode 100644
index 0000000..5c85f52
--- /dev/null
+++ b/ext/gd/tests/imagecreatetruecolor_basic.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Testing imagecreatetruecolor() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+ob_start();
+imagepng($image, null, 9);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+5a8fe9864cbd20e5dbe730c77f30db95
diff --git a/ext/gd/tests/imagecreatetruecolor_error1.phpt b/ext/gd/tests/imagecreatetruecolor_error1.phpt
new file mode 100644
index 0000000..facf2c8
--- /dev/null
+++ b/ext/gd/tests/imagecreatetruecolor_error1.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing imagecreatetruecolor(): error on non-long parameters
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor('s', 30);
+$image = imagecreatetruecolor(30, 's');
+?>
+--EXPECTF--
+Warning: imagecreatetruecolor(): Invalid image dimensions in %s on line %d
+
+Warning: imagecreatetruecolor(): Invalid image dimensions in %s on line %d
diff --git a/ext/gd/tests/imagecreatetruecolor_error2.phpt b/ext/gd/tests/imagecreatetruecolor_error2.phpt
new file mode 100644
index 0000000..e4de7e3
--- /dev/null
+++ b/ext/gd/tests/imagecreatetruecolor_error2.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Testing imagecreatetruecolor(): error on out of bound parameters
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(-1, 30);
+$image = imagecreatetruecolor(30, -1);
+$image = imagecreatetruecolor(999999999999999999999999999, 30);
+$image = imagecreatetruecolor(30, 999999999999999999999999999);
+?>
+--EXPECTF--
+Warning: imagecreatetruecolor(): Invalid image dimensions in %s on line %d
+
+Warning: imagecreatetruecolor(): Invalid image dimensions in %s on line %d
+
+Warning: imagecreatetruecolor(): Invalid image dimensions in %s on line %d
+
+Warning: imagecreatetruecolor(): Invalid image dimensions in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagecreatetruecolor_error3.phpt b/ext/gd/tests/imagecreatetruecolor_error3.phpt
new file mode 100644
index 0000000..ade12ad
--- /dev/null
+++ b/ext/gd/tests/imagecreatetruecolor_error3.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing imagecreatetruecolor(): error on wrong parameter count
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor();
+$image = imagecreatetruecolor(30);
+$image = imagecreatetruecolor(1,1,1);
+?>
+--EXPECTF--
+Warning: Wrong parameter count for imagecreatetruecolor() in %s on line %d
+
+Warning: Wrong parameter count for imagecreatetruecolor() in %s on line %d
+
+Warning: Wrong parameter count for imagecreatetruecolor() in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imageellipse_basic.phpt b/ext/gd/tests/imageellipse_basic.phpt
new file mode 100755
index 0000000..bfd0b79
--- /dev/null
+++ b/ext/gd/tests/imageellipse_basic.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Testing imageellipse() of GD library
+--CREDITS--
+Ivan Rosolen <contato [at] ivanrosolen [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+// Create a image
+$image = imagecreatetruecolor(400, 300);
+
+// Draw a white ellipse
+imageellipse($image, 200, 150, 300, 200, 16777215);
+
+ob_start();
+imagepng($image, null, 9);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+d8b9bc2ca224bd68569413f4617f8e1f
diff --git a/ext/gd/tests/imageellipse_error1.phpt b/ext/gd/tests/imageellipse_error1.phpt
new file mode 100755
index 0000000..a5a5848
--- /dev/null
+++ b/ext/gd/tests/imageellipse_error1.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing wrong param passing imageellipse() of GD library
+--CREDITS--
+Ivan Rosolen <contato [at] ivanrosolen [dot] com>
+#testfest PHPSP on 2009-06-30
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+// Create a image
+$image = imagecreatetruecolor(400, 300);
+
+// try to draw a white ellipse
+imageellipse('wrong param', 200, 150, 300, 200, 16777215);
+
+?>
+--EXPECTF--
+Warning: imageellipse(): supplied argument is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imageellipse_error7.phpt b/ext/gd/tests/imageellipse_error7.phpt
new file mode 100755
index 0000000..23f1eee
--- /dev/null
+++ b/ext/gd/tests/imageellipse_error7.phpt
@@ -0,0 +1,20 @@
+--TEST-- 
+Testing wrong param passing imageellipse() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-20 
+--SKIPIF-- 
+<?php  
+if (!extension_loaded("gd")) die("skip GD not present"); 
+?> 
+--FILE-- 
+<?php 
+
+// Create a resource 
+$image = tmpfile(); 
+
+// try to draw a white ellipse 
+imageellipse($image, 200, 150, 300, 200, 16777215); 
+?> 
+--EXPECTF-- 
+Warning: imageellipse(): supplied resource is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imageellipse_error8.phpt b/ext/gd/tests/imageellipse_error8.phpt
new file mode 100755
index 0000000..3575e0b
--- /dev/null
+++ b/ext/gd/tests/imageellipse_error8.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing wrong param passing imageellipse() of GD library
+--CREDITS--
+Ivan Rosolen <contato [at] ivanrosolen [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if ( ! extension_loaded("gd") ) die( 'skip GD not present; skipping test' );
+?>
+--FILE--
+<?php
+
+// Create a image
+$image = imagecreatetruecolor( 400, 300 );
+
+// try to draw a white ellipse
+imageellipse( $image, 200, 150, 300, 200 );
+
+?>
+--EXPECTF--
+Warning: Wrong parameter count for imageellipse() in %s.php on line %d
diff --git a/ext/gd/tests/imagefilledarc_basic.phpt b/ext/gd/tests/imagefilledarc_basic.phpt
new file mode 100755
index 0000000..9ff9bd3
--- /dev/null
+++ b/ext/gd/tests/imagefilledarc_basic.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Testing imagefilledarc() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+
+//create an arc and fill it with white color    
+imagefilledarc($image, 50, 50, 30, 30, 0, 90, $white, IMG_ARC_PIE);
+
+ob_start();
+imagepng($image);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+894f394c7f2e2364642ef27fea6bfc33
diff --git a/ext/gd/tests/imagefilledarc_error1.phpt b/ext/gd/tests/imagefilledarc_error1.phpt
new file mode 100755
index 0000000..5d6ca95
--- /dev/null
+++ b/ext/gd/tests/imagefilledarc_error1.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Testing wrong param passing imagefilledarc() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+
+//create an arc and fill it with white color    
+imagefilledarc($image, 50, 50, 30, 30, 0, 90, $white);
+
+ob_start();
+imagepng($image);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECTF--
+Warning: Wrong parameter count for imagefilledarc() in %s on line %d
+abebb25b5a2813cfbf92f1f24365786a
diff --git a/ext/gd/tests/imagefilledarc_variation1.phpt b/ext/gd/tests/imagefilledarc_variation1.phpt
new file mode 100755
index 0000000..2dec1ea
--- /dev/null
+++ b/ext/gd/tests/imagefilledarc_variation1.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Testing passing negative end angle to imagefilledarc() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+
+//create an arc and fill it with white color    
+imagefilledarc($image, 50, 50, 30, 30, 0, -25, $white, IMG_ARC_PIE);
+
+ob_start();
+imagepng($image);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+b77bbb8207e5adbebfcc8bd1c4074305
diff --git a/ext/gd/tests/imagefilledarc_variation2.phpt b/ext/gd/tests/imagefilledarc_variation2.phpt
new file mode 100755
index 0000000..5c8ffba
--- /dev/null
+++ b/ext/gd/tests/imagefilledarc_variation2.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Testing passing negative start angle to imagefilledarc() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+
+//create an arc and fill it with white color    
+imagefilledarc($image, 50, 50, 30, 30, -25, 25, $white, IMG_ARC_PIE);
+
+ob_start();
+imagepng($image);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+b8b572812b3c85678f6c38c4ecca7619
diff --git a/ext/gd/tests/imagefilltoborder_basic.phpt b/ext/gd/tests/imagefilltoborder_basic.phpt
new file mode 100755
index 0000000..80b84d2
--- /dev/null
+++ b/ext/gd/tests/imagefilltoborder_basic.phpt
@@ -0,0 +1,33 @@
+--TEST-- 
+Testing imagefilltoborder() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-30
+--SKIPIF-- 
+<?php  
+if (!extension_loaded("gd")) die("skip GD not present"); 
+?> 
+--FILE--
+<?php
+// Create a image 
+$image = imagecreatetruecolor( 100, 100 ); 
+
+// Draw a rectangle
+imagefilledrectangle( $image, 0, 0, 100, 100, imagecolorallocate( $image, 255, 255, 255 ) );
+
+// Draw an ellipse to fill with a black border
+imageellipse( $image, 50, 50, 50, 50, imagecolorallocate( $image, 0, 0, 0 ) );
+
+// Fill border
+imagefilltoborder( $image, 50, 50, imagecolorallocate( $image, 0, 0, 0 ), imagecolorallocate( $image, 255, 0, 0 ) );
+
+ob_start(); 
+imagepng( $image, null, 9 ); 
+$img = ob_get_contents(); 
+ob_end_clean();
+
+echo md5(base64_encode($img));
+
+?> 
+--EXPECT-- 
+847ec236f1c4d14c465306c8408550fc
diff --git a/ext/gd/tests/imagefilltoborder_error1.phpt b/ext/gd/tests/imagefilltoborder_error1.phpt
new file mode 100755
index 0000000..6bf0a9c
--- /dev/null
+++ b/ext/gd/tests/imagefilltoborder_error1.phpt
@@ -0,0 +1,26 @@
+--TEST-- 
+Testing wrong param passing imagefilltoborder() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-30
+--SKIPIF-- 
+<?php  
+if (!extension_loaded("gd")) die("skip GD not present"); 
+?> 
+--FILE--
+<?php
+// Create a image 
+$image = imagecreatetruecolor( 100, 100 ); 
+
+// Draw a rectangle
+imagefilledrectangle( $image, 0, 0, 100, 100, imagecolorallocate( $image, 255, 255, 255 ) );
+
+// Draw an ellipse to fill with a black border
+imageellipse( $image, 50, 50, 50, 50, imagecolorallocate( $image, 0, 0, 0 ) );
+
+// Try to fill border
+imagefilltoborder( 'wrong param', 50, 50, imagecolorallocate( $image, 0, 0, 0 ), imagecolorallocate( $image, 255, 0, 0 ) );
+
+?> 
+--EXPECTF--
+Warning: imagefilltoborder(): supplied argument is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagefilltoborder_error6.phpt b/ext/gd/tests/imagefilltoborder_error6.phpt
new file mode 100755
index 0000000..b5ce53b
--- /dev/null
+++ b/ext/gd/tests/imagefilltoborder_error6.phpt
@@ -0,0 +1,29 @@
+--TEST-- 
+Testing wrong param passing imagefilltoborder() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-30
+--SKIPIF-- 
+<?php  
+if (!extension_loaded("gd")) die("skip GD not present"); 
+?> 
+--FILE--
+<?php
+// Create a image 
+$image = imagecreatetruecolor( 100, 100 ); 
+
+// Draw a rectangle
+imagefilledrectangle( $image, 0, 0, 100, 100, imagecolorallocate( $image, 255, 255, 255 ) );
+
+// Draw an ellipse to fill with a black border
+imageellipse( $image, 50, 50, 50, 50, imagecolorallocate( $image, 0, 0, 0 ) );
+
+// Try to fill border
+$image_foo = tmpfile();
+imagefilltoborder( $image_foo, 50, 50, imagecolorallocate( $image, 0, 0, 0 ), imagecolorallocate( $image, 255, 0, 0 ) );
+
+?> 
+--EXPECTF--
+Warning: imagefilltoborder(): supplied resource is not a valid Image resource in %s on line %d
+
+
diff --git a/ext/gd/tests/imagefilltoborder_error7.phpt b/ext/gd/tests/imagefilltoborder_error7.phpt
new file mode 100755
index 0000000..8641812
--- /dev/null
+++ b/ext/gd/tests/imagefilltoborder_error7.phpt
@@ -0,0 +1,26 @@
+--TEST-- 
+Testing wrong param passing imagefilltoborder() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-30
+--SKIPIF-- 
+<?php  
+if ( ! extension_loaded("gd")) die("skip GD not present; skipping test"); 
+?> 
+--FILE--
+<?php
+// Create a image 
+$image = imagecreatetruecolor( 100, 100 ); 
+
+// Draw a rectangle
+imagefilledrectangle( $image, 0, 0, 100, 100, imagecolorallocate( $image, 255, 255, 255 ) );
+
+// Draw an ellipse to fill with a black border
+imageellipse( $image, 50, 50, 50, 50, imagecolorallocate( $image, 0, 0, 0 ) );
+
+// Try to fill border
+imagefilltoborder( $image, 50, 50 );
+
+?> 
+--EXPECTF--
+Warning: Wrong parameter count for imagefilltoborder() in %s.php on line %d
diff --git a/ext/gd/tests/imagefilter_error1.phpt b/ext/gd/tests/imagefilter_error1.phpt
new file mode 100755
index 0000000..fb96ae3
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error1.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter passing in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+var_dump(imagefilter($image));
+?>
+--EXPECTF--
+Warning: Wrong parameter count for imagefilter() in %s on line %d
+NULL
diff --git a/ext/gd/tests/imagefilter_error10.phpt b/ext/gd/tests/imagefilter_error10.phpt
new file mode 100755
index 0000000..8b41211
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error10.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of EMBOSS in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_EMBOSS));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error11.phpt b/ext/gd/tests/imagefilter_error11.phpt
new file mode 100755
index 0000000..9b1cf4d
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error11.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource passing of EDGEDETECT in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_EDGEDETECT));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error12.phpt b/ext/gd/tests/imagefilter_error12.phpt
new file mode 100755
index 0000000..33fee28
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error12.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of COLORIZE in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_COLORIZE, 255, 255, 255));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error13.phpt b/ext/gd/tests/imagefilter_error13.phpt
new file mode 100755
index 0000000..687d148
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error13.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing wrong parameter value of COLORIZE in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+var_dump(imagefilter($image, IMG_FILTER_COLORIZE, 800, 255, 255)); // Wrong value is truncated to 255
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/gd/tests/imagefilter_error14.phpt b/ext/gd/tests/imagefilter_error14.phpt
new file mode 100755
index 0000000..6410395
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error14.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter type of COLORIZE in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+var_dump(imagefilter($image, IMG_FILTER_COLORIZE, 'wrong parameter', 255, 255));
+?>
+--EXPECTF--
+Warning: imagefilter() expects parameter 3 to be long, %unicode_string_optional% given in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error15.phpt b/ext/gd/tests/imagefilter_error15.phpt
new file mode 100755
index 0000000..87a412e
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error15.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of CONTRAST in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_CONTRAST, 2));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error16.phpt b/ext/gd/tests/imagefilter_error16.phpt
new file mode 100755
index 0000000..2a84c2f
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error16.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter type of CONTRAST in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+var_dump(imagefilter($image, IMG_FILTER_CONTRAST, 'wrong parameter'));
+?>
+--EXPECTF--
+Warning: imagefilter() expects parameter 3 to be long, %unicode_string_optional% given in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error17.phpt b/ext/gd/tests/imagefilter_error17.phpt
new file mode 100755
index 0000000..adafc3e
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error17.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of GRAYSCALE in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_GRAYSCALE));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error18.phpt b/ext/gd/tests/imagefilter_error18.phpt
new file mode 100755
index 0000000..b636bfc
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error18.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of NEGATE in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_NEGATE));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error19.phpt b/ext/gd/tests/imagefilter_error19.phpt
new file mode 100755
index 0000000..e36b817
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error19.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter type of BRIGHTNESS in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+var_dump(imagefilter($image, IMG_FILTER_BRIGHTNESS, 'wrong parameter'));
+?>
+--EXPECTF--
+Warning: imagefilter() expects parameter 3 to be long, %unicode_string_optional% given in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error2.phpt b/ext/gd/tests/imagefilter_error2.phpt
new file mode 100755
index 0000000..62ac662
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error2.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter passing in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+var_dump(imagefilter($image, 'wrong parameter'));
+?>
+--EXPECTF--
+Warning: imagefilter() expects parameter 2 to be long, %unicode_string_optional% given in %s on line %d
+NULL
diff --git a/ext/gd/tests/imagefilter_error20.phpt b/ext/gd/tests/imagefilter_error20.phpt
new file mode 100755
index 0000000..f3db724
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error20.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of BRIGHTNESS in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_BRIGHTNESS, 1));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error5.phpt b/ext/gd/tests/imagefilter_error5.phpt
new file mode 100755
index 0000000..a7d9443
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error5.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter passing of SMOOTH in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+var_dump(imagefilter($image, IMG_FILTER_SMOOTH, 'wrong parameter'));
+?>
+--EXPECTF--
+Warning: imagefilter() expects parameter 3 to be double, %unicode_string_optional% given in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error6.phpt b/ext/gd/tests/imagefilter_error6.phpt
new file mode 100755
index 0000000..05dd187
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error6.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of SMOOTH in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_SMOOTH, 3.0));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error7.phpt b/ext/gd/tests/imagefilter_error7.phpt
new file mode 100755
index 0000000..6c08e5a
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error7.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of MEAN_REMOVAL in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_MEAN_REMOVAL));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error8.phpt b/ext/gd/tests/imagefilter_error8.phpt
new file mode 100755
index 0000000..57c3168
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error8.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of SELECTIVE_BLUR in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_SELECTIVE_BLUR));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefilter_error9.phpt b/ext/gd/tests/imagefilter_error9.phpt
new file mode 100755
index 0000000..a74ea64
--- /dev/null
+++ b/ext/gd/tests/imagefilter_error9.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Testing wrong parameter resource of GAUSSIAN_BLUR in imagefilter() of GD library
+--CREDITS--
+Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+
+var_dump(imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR));
+?>
+--EXPECTF--
+Warning: imagefilter(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imagefontheight_basic.phpt b/ext/gd/tests/imagefontheight_basic.phpt
new file mode 100644
index 0000000..bfcd0bb
--- /dev/null
+++ b/ext/gd/tests/imagefontheight_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing imagefontheight() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+var_dump(imagefontheight(1),imagefontheight(2),imagefontheight(3),imagefontheight(4),imagefontheight(5));
+?>
+--EXPECT--
+int(8)
+int(13)
+int(13)
+int(16)
+int(15)
diff --git a/ext/gd/tests/imagefontwidth_basic.phpt b/ext/gd/tests/imagefontwidth_basic.phpt
new file mode 100644
index 0000000..0a9df52
--- /dev/null
+++ b/ext/gd/tests/imagefontwidth_basic.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing imagefontwidth() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+var_dump(imagefontwidth(1),imagefontwidth(2),imagefontwidth(3),imagefontwidth(4),imagefontwidth(5));
+var_dump(imagefontwidth(1) < imagefontwidth(5));
+?>
+--EXPECT--
+int(5)
+int(6)
+int(7)
+int(8)
+int(9)
+bool(true)
diff --git a/ext/gd/tests/imagegammacorrect_basic.phpt b/ext/gd/tests/imagegammacorrect_basic.phpt
new file mode 100644
index 0000000..b568728
--- /dev/null
+++ b/ext/gd/tests/imagegammacorrect_basic.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Testing imagegammacorrect() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(150, 150);
+
+$grey = imagecolorallocate($image,6,6,6);
+$gray = imagecolorallocate($image,15,15,15);
+
+$half =  imagefilledarc ( $image, 75, 75, 70, 70, 0, 180, $grey, IMG_ARC_PIE );
+$half2 =  imagefilledarc ( $image, 75, 75, 70, 70, 0, -180, $gray, IMG_ARC_PIE );
+
+$gamma = imagegammacorrect($image, 1, 5);
+
+if ($gamma){
+	ob_start();
+	imagepng($image, null, 9);
+	$img = ob_get_contents();
+	ob_end_clean();
+}
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+30639772903913594bc665743e1b9ab8
diff --git a/ext/gd/tests/imagegammacorrect_error1.phpt b/ext/gd/tests/imagegammacorrect_error1.phpt
new file mode 100644
index 0000000..ad528af
--- /dev/null
+++ b/ext/gd/tests/imagegammacorrect_error1.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error with non-resource paramenter of imagegammacorrect() of GD library, 
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$gamma = imagegammacorrect('string', 1, 5);
+
+?>
+--EXPECTF--
+Warning: imagegammacorrect(): supplied argument is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagegammacorrect_error2.phpt b/ext/gd/tests/imagegammacorrect_error2.phpt
new file mode 100644
index 0000000..604d7da
--- /dev/null
+++ b/ext/gd/tests/imagegammacorrect_error2.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error with non-Image resource paramenter of imagegammacorrect() of GD library, 
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = tmpfile();
+$gamma = imagegammacorrect($image, 1, 5);
+
+?>
+--EXPECTF--
+Warning: imagegammacorrect(): supplied resource is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagegammacorrect_variation1.phpt b/ext/gd/tests/imagegammacorrect_variation1.phpt
new file mode 100644
index 0000000..cda96c6
--- /dev/null
+++ b/ext/gd/tests/imagegammacorrect_variation1.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Testing imagegammacorrect() of GD library with non TrueColor image
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreate(150, 150);
+
+$grey = imagecolorallocate($image,6,6,6);
+$gray = imagecolorallocate($image,15,15,15);
+
+$half =  imagefilledarc ( $image, 75, 75, 70, 70, 0, 180, $grey, IMG_ARC_PIE );
+$half2 =  imagefilledarc ( $image, 75, 75, 70, 70, 0, -180, $gray, IMG_ARC_PIE );
+
+$gamma = imagegammacorrect($image, 1, 5);
+
+if ($gamma){
+	ob_start();
+	imagepng($image, null, 9);
+	$img = ob_get_contents();
+	ob_end_clean();
+}
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+7716c0905ae08bd84b4d6cba8969a42e
diff --git a/ext/gd/tests/imageinterlace_basic.phpt b/ext/gd/tests/imageinterlace_basic.phpt
new file mode 100755
index 0000000..657b256
--- /dev/null
+++ b/ext/gd/tests/imageinterlace_basic.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing imageinterlace() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+var_dump(imageinterlace($image));
+?>
+--EXPECT--
+int(0)
diff --git a/ext/gd/tests/imageinterlace_error1.phpt b/ext/gd/tests/imageinterlace_error1.phpt
new file mode 100755
index 0000000..90c7c2f
--- /dev/null
+++ b/ext/gd/tests/imageinterlace_error1.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Testing passing no parameters to imageinterlace() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+//calling with no parameters
+var_dump(imageinterlace());
+?>
+--EXPECTF--
+Warning: Wrong parameter count for imageinterlace() in %s on line %d
+NULL
diff --git a/ext/gd/tests/imageinterlace_error2.phpt b/ext/gd/tests/imageinterlace_error2.phpt
new file mode 100755
index 0000000..808c88a
--- /dev/null
+++ b/ext/gd/tests/imageinterlace_error2.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing resource that is not a image to imageinterlace() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = fopen('php://stdin', 'r');
+var_dump(imageinterlace($image));
+?>
+--EXPECTF--
+Warning: imageinterlace(): supplied resource is not a valid Image resource in %s on line %d
+bool(false)
diff --git a/ext/gd/tests/imageinterlace_variation1.phpt b/ext/gd/tests/imageinterlace_variation1.phpt
new file mode 100755
index 0000000..2c224ef
--- /dev/null
+++ b/ext/gd/tests/imageinterlace_variation1.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Testing setting the interlace bit on with imageinterlace() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+var_dump(imageinterlace($image, 1));
+var_dump(imageinterlace($image));
+?>
+--EXPECT--
+int(1)
+int(1)
diff --git a/ext/gd/tests/imageinterlace_variation2.phpt b/ext/gd/tests/imageinterlace_variation2.phpt
new file mode 100755
index 0000000..b4735dc
--- /dev/null
+++ b/ext/gd/tests/imageinterlace_variation2.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Testing setting the interlace bit off with imageinterlace() of GD library
+--CREDITS--
+Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+//setting the interlace bit to on
+imageinterlace($image, 1);
+
+//setting de interlace bit to off
+var_dump(imageinterlace($image, 0));
+var_dump(imageinterlace($image));
+?>
+--EXPECT--
+int(0)
+int(0)
diff --git a/ext/gd/tests/imageistruecolor_basic.phpt b/ext/gd/tests/imageistruecolor_basic.phpt
new file mode 100644
index 0000000..a78aaa4
--- /dev/null
+++ b/ext/gd/tests/imageistruecolor_basic.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing imageistruecolor() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+var_dump(imageistruecolor($image));
+?>
+--EXPECT--
+bool(true)
\ No newline at end of file
diff --git a/ext/gd/tests/imageistruecolor_error1.phpt b/ext/gd/tests/imageistruecolor_error1.phpt
new file mode 100644
index 0000000..cf5c775
--- /dev/null
+++ b/ext/gd/tests/imageistruecolor_error1.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Testing imageistruecolor(): wrong parameters
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+$resource = tmpfile();
+
+imageistruecolor('string');
+imageistruecolor($resource);
+imageistruecolor(array());
+?>
+--EXPECTF--
+Warning: imageistruecolor(): supplied argument is not a valid Image resource in %s on line %d
+
+Warning: imageistruecolor(): supplied resource is not a valid Image resource in %s on line %d
+
+Warning: imageistruecolor(): supplied argument is not a valid Image resource in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagelayereffect_basic.phpt b/ext/gd/tests/imagelayereffect_basic.phpt
new file mode 100644
index 0000000..6dbc860
--- /dev/null
+++ b/ext/gd/tests/imagelayereffect_basic.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Testing imagelayereffect() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!GD_BUNDLED) die('function only available in bundled, external GD detected');
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+
+$layer = imagelayereffect($image, IMG_EFFECT_REPLACE);
+
+if ($layer){
+	ob_start();
+	imagepng($image, null, 9);
+	$img = ob_get_contents();
+	ob_end_clean();
+}
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+5a8fe9864cbd20e5dbe730c77f30db95
diff --git a/ext/gd/tests/imagelayereffect_error1.phpt b/ext/gd/tests/imagelayereffect_error1.phpt
new file mode 100644
index 0000000..21b2db7
--- /dev/null
+++ b/ext/gd/tests/imagelayereffect_error1.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Testing imagelayereffect() with invalid resource of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!GD_BUNDLED) die('function only available in bundled, external GD detected');
+?>
+--FILE--
+<?php
+$layer = imagelayereffect('invalid_resource', IMG_EFFECT_REPLACE);
+?>
+--EXPECTF--
+Warning: imagelayereffect(): supplied argument is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagelayereffect_error3.phpt b/ext/gd/tests/imagelayereffect_error3.phpt
new file mode 100644
index 0000000..9f99186
--- /dev/null
+++ b/ext/gd/tests/imagelayereffect_error3.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing imagelayereffect() with invalid resource of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!GD_BUNDLED) die('function only available in bundled, external GD detected');
+?>
+--FILE--
+<?php
+$resource = tmpfile();
+$layer = imagelayereffect($resource, IMG_EFFECT_REPLACE);
+?>
+--EXPECTF--
+Warning: imagelayereffect(): supplied resource is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagerectangle_basic.phpt b/ext/gd/tests/imagerectangle_basic.phpt
new file mode 100755
index 0000000..f706ee7
--- /dev/null
+++ b/ext/gd/tests/imagerectangle_basic.phpt
@@ -0,0 +1,27 @@
+--TEST-- 
+Testing imagerectangle() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-30
+--SKIPIF-- 
+<?php  
+if ( ! extension_loaded('gd') ) die( 'skip GD not present; skipping test' ); 
+?> 
+--FILE--
+<?php
+// Create a image 
+$image = imagecreatetruecolor( 100, 100 ); 
+
+// Draw a rectangle
+imagerectangle( $image, 0, 0, 50, 50, imagecolorallocate($image, 255, 255, 255) );
+
+ob_start(); 
+imagepng( $image, null, 9 ); 
+$img = ob_get_contents(); 
+ob_end_clean();
+
+echo md5(base64_encode($img));
+
+?> 
+--EXPECT-- 
+282aaecfdd50091821d63093d9bb1bb9
\ No newline at end of file
diff --git a/ext/gd/tests/imagerectangle_error1.phpt b/ext/gd/tests/imagerectangle_error1.phpt
new file mode 100755
index 0000000..f5b557c
--- /dev/null
+++ b/ext/gd/tests/imagerectangle_error1.phpt
@@ -0,0 +1,19 @@
+--TEST-- 
+Testing wrong param passing imagerectangle() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-30
+--SKIPIF-- 
+<?php  
+if ( ! extension_loaded('gd') ) die( 'skip GD not present; skipping test' ); 
+?> 
+--FILE--
+<?php
+// Create a image 
+$image = imagecreatetruecolor( 100, 100 ); 
+
+// Draw a rectangle
+imagerectangle( 'wrong param', 0, 0, 50, 50, imagecolorallocate($image, 255, 255, 255) );
+?> 
+--EXPECTF--
+Warning: imagerectangle(): supplied argument is not a valid Image resource in %s.php on line %d
diff --git a/ext/gd/tests/imagerectangle_error2.phpt b/ext/gd/tests/imagerectangle_error2.phpt
new file mode 100755
index 0000000..5fc1914
--- /dev/null
+++ b/ext/gd/tests/imagerectangle_error2.phpt
@@ -0,0 +1,19 @@
+--TEST-- 
+Testing wrong param passing imagerectangle() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-30
+--SKIPIF-- 
+<?php  
+if ( ! extension_loaded('gd') ) die( 'skip GD not present; skipping test' ); 
+?> 
+--FILE--
+<?php
+// Create a resource 
+$image = tmpfile(); 
+
+// Draw a rectangle
+imagerectangle( $image, 0, 0, 50, 50, 2 );
+?> 
+--EXPECTF-- 
+Warning: imagerectangle(): supplied resource is not a valid Image resource in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagerectangle_error3.phpt b/ext/gd/tests/imagerectangle_error3.phpt
new file mode 100755
index 0000000..4bf00cb
--- /dev/null
+++ b/ext/gd/tests/imagerectangle_error3.phpt
@@ -0,0 +1,18 @@
+--TEST-- 
+Testing wrong param passing imagerectangle() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-30
+--SKIPIF-- 
+<?php  
+if ( ! extension_loaded('gd') ) die( 'skip GD not present; skipping test' ); 
+?> 
+--FILE--
+<?php
+// Create a image 
+$image = imagecreatetruecolor( 100, 100 ); 
+
+// Draw a rectangle
+imagerectangle( $image, 'wrong param', 0, 50, 50, imagecolorallocate($image, 255, 255, 255) );
+?> 
+--EXPECTF--
diff --git a/ext/gd/tests/imagerectangle_error8.phpt b/ext/gd/tests/imagerectangle_error8.phpt
new file mode 100755
index 0000000..19fa3c4
--- /dev/null
+++ b/ext/gd/tests/imagerectangle_error8.phpt
@@ -0,0 +1,19 @@
+--TEST-- 
+Testing wrong param passing imagerectangle() of GD library 
+--CREDITS-- 
+Ivan Rosolen <contato [at] ivanrosolen [dot] com> 
+#testfest PHPSP on 2009-06-30
+--SKIPIF-- 
+<?php  
+if ( ! extension_loaded('gd') ) die( 'skip GD not present; skipping test' ); 
+?> 
+--FILE--
+<?php
+// Create a image 
+$image = imagecreatetruecolor( 100, 100 ); 
+
+// Draw a rectangle
+imagerectangle( $image, 0, 0, 50, 50 );
+?> 
+--EXPECTF--
+Warning: Wrong parameter count for imagerectangle() in %s.php on line %d
diff --git a/ext/gd/tests/imagesetbrush_basic.phpt b/ext/gd/tests/imagesetbrush_basic.phpt
new file mode 100755
index 0000000..790184d
--- /dev/null
+++ b/ext/gd/tests/imagesetbrush_basic.phpt
@@ -0,0 +1,37 @@
+--TEST--
+Test imagesetbrush() function : basic functionality
+--CREDITS--
+Erick Belluci Tedeschi <erickbt86 [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php
+if (!extension_loaded('gd')) {
+	die('skip gd extension is not loaded');
+}
+?>
+--FILE--
+<?php
+// Create the brush image
+$img = imagecreate(10, 10);
+ 
+// Create the main image, 100x100
+$mainimg = imagecreatetruecolor(100, 100);
+  
+$white = imagecolorallocate($img, 255, 0, 0);
+imagefilledrectangle($img, 0, 0, 299, 99, $white);
+
+// Set the brush
+imagesetbrush($mainimg, $img);
+   
+// Draw a couple of brushes, each overlaying each
+imageline($mainimg, 50, 50, 50, 60, IMG_COLOR_BRUSHED);
+
+// Get output and generate md5 hash
+ob_start();
+imagepng($mainimg, null, 9);
+$result_image = ob_get_contents();
+ob_end_clean();
+echo md5(base64_encode($result_image));
+?>
+--EXPECT--
+8168577c0d1fe6d9d11397cb15263d82
diff --git a/ext/gd/tests/imagesetthickness_basic.phpt b/ext/gd/tests/imagesetthickness_basic.phpt
new file mode 100644
index 0000000..a8b079b
--- /dev/null
+++ b/ext/gd/tests/imagesetthickness_basic.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Testing imagetruecolortopalette() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+// Create a 200x100 image
+$image = imagecreatetruecolor(200, 100);
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+$black = imagecolorallocate($image, 0x00, 0x00, 0x00);
+
+// Set the background to be white
+imagefilledrectangle($image, 0, 0, 299, 99, $white);
+
+// Set the line thickness to 5
+imagesetthickness($image, 5);
+
+// Draw the rectangle
+imagerectangle($image, 14, 14, 185, 85, $black);
+
+ob_start();
+imagepng($image, null, 9);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+93c3077f1bdc372cd0b0db96db282985
\ No newline at end of file
diff --git a/ext/gd/tests/imagesetthickness_error1.phpt b/ext/gd/tests/imagesetthickness_error1.phpt
new file mode 100644
index 0000000..33b5bfa
--- /dev/null
+++ b/ext/gd/tests/imagesetthickness_error1.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Testing imagetruecolortopalette(): wrong types for first parameter
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$resource = tmpfile();
+
+imagesetthickness('string', 5);
+imagesetthickness(array(), 5);
+imagesetthickness($resource, 5);
+?>
+--EXPECTF--
+Warning: imagesetthickness(): supplied argument is not a valid Image resource in %s on line %d
+
+Warning: imagesetthickness(): supplied argument is not a valid Image resource in %s on line %d
+
+Warning: imagesetthickness(): supplied resource is not a valid Image resource in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagesetthickness_error2.phpt b/ext/gd/tests/imagesetthickness_error2.phpt
new file mode 100644
index 0000000..a83a4d8
--- /dev/null
+++ b/ext/gd/tests/imagesetthickness_error2.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Testing imagetruecolortopalette(): wrong types for second parameter
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(200, 100);
+
+$a = imagesetthickness($image, 's');
+$b = imagesetthickness($image, array());
+$c = imagesetthickness($image, $image);
+
+var_dump($a, $b, $c);
+//All should be true because 5,2 does not check parameters
+?>
+--EXPECTF--
+bool(true)
+bool(true)
+bool(true)
\ No newline at end of file
diff --git a/ext/gd/tests/imagestring_basic.phpt b/ext/gd/tests/imagestring_basic.phpt
new file mode 100644
index 0000000..adc68a6
--- /dev/null
+++ b/ext/gd/tests/imagestring_basic.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Testing imagestring() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+$white = imagecolorallocate($image, 255,255,255);
+
+$result = imagestring($image, 1, 5, 5, 'String Text', $white);
+
+ob_start();
+imagepng($image, null, 9);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+d0d2fe757400cb7846b36a8c34b41e4a
diff --git a/ext/gd/tests/imagestring_error1.phpt b/ext/gd/tests/imagestring_error1.phpt
new file mode 100644
index 0000000..9e01246
--- /dev/null
+++ b/ext/gd/tests/imagestring_error1.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error on non-resource parameter 1 of imagestring() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$result = imagestring('string', 1, 5, 5, 'String', 1);
+
+?>
+--EXPECTF--
+Warning: imagestring(): supplied argument is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagestring_error2.phpt b/ext/gd/tests/imagestring_error2.phpt
new file mode 100644
index 0000000..d6146f7
--- /dev/null
+++ b/ext/gd/tests/imagestring_error2.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error on non-image resource parameter 1 of imagestring() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$result = imagestring(tmpfile(), 1, 5, 5, 'String', 1);
+
+?>
+--EXPECTF--
+Warning: imagestring(): supplied resource is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagestringup_basic.phpt b/ext/gd/tests/imagestringup_basic.phpt
new file mode 100644
index 0000000..0c748b6
--- /dev/null
+++ b/ext/gd/tests/imagestringup_basic.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Testing imagestringup() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(180, 30);
+$white = imagecolorallocate($image, 255,255,255);
+
+$result = imagestringup($image, 1, 5, 25, 'Str', $white);
+
+ob_start();
+imagepng($image, null, 9);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+7c28016adcf620b772af2a8655b87bd2
diff --git a/ext/gd/tests/imagestringup_error1.phpt b/ext/gd/tests/imagestringup_error1.phpt
new file mode 100644
index 0000000..a757576
--- /dev/null
+++ b/ext/gd/tests/imagestringup_error1.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error on non-resource parameter 1 of imagestringup() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$result = imagestringup('string', 1, 5, 5, 'String', 1);
+
+?>
+--EXPECTF--
+Warning: imagestringup(): supplied argument is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagestringup_error2.phpt b/ext/gd/tests/imagestringup_error2.phpt
new file mode 100644
index 0000000..d1d5aa2
--- /dev/null
+++ b/ext/gd/tests/imagestringup_error2.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing error on non-image resource parameter 1 of imagestringup() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$result = imagestringup(tmpfile(), 1, 5, 5, 'String', 1);
+
+?>
+--EXPECTF--
+Warning: imagestringup(): supplied resource is not a valid Image resource in %s on line %d
diff --git a/ext/gd/tests/imagetruecolortopalette_basic.phpt b/ext/gd/tests/imagetruecolortopalette_basic.phpt
new file mode 100644
index 0000000..b0a0394
--- /dev/null
+++ b/ext/gd/tests/imagetruecolortopalette_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Testing imagetruecolortopalette() of GD library
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(150, 150);
+
+$a = imagecolorallocate($image,255,0,255);
+$b = imagecolorallocate($image,0,255,255);
+
+$half =  imagefilledarc ( $image, 75, 75, 70, 70, 0, 180, $a, IMG_ARC_PIE );
+$half2 =  imagefilledarc ( $image, 75, 55, 80, 70, 0, -180, $b, IMG_ARC_PIE );
+
+var_dump(imagetruecolortopalette($image, true, 2));
+
+ob_start();
+imagepng($image, null, 9);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+bool(true)
+0843f63ab2f9fddedd69b0b421686bc5
\ No newline at end of file
diff --git a/ext/gd/tests/imagetruecolortopalette_error1.phpt b/ext/gd/tests/imagetruecolortopalette_error1.phpt
new file mode 100644
index 0000000..d3c4f0b
--- /dev/null
+++ b/ext/gd/tests/imagetruecolortopalette_error1.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Testing imagetruecolortopalette(): wrong parameters for parameter 1
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$resource = tmpfile();
+
+imagetruecolortopalette($resource, true, 2);
+imagetruecolortopalette('string', true, 2);
+imagetruecolortopalette(array(), true, 2);
+imagetruecolortopalette(null, true, 2);
+?>
+--EXPECTF--
+Warning: imagetruecolortopalette(): supplied resource is not a valid Image resource in %s on line %d
+
+Warning: imagetruecolortopalette(): supplied argument is not a valid Image resource in %s on line %d
+
+Warning: imagetruecolortopalette(): supplied argument is not a valid Image resource in %s on line %d
+
+Warning: imagetruecolortopalette(): supplied argument is not a valid Image resource in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagetruecolortopalette_error2.phpt b/ext/gd/tests/imagetruecolortopalette_error2.phpt
new file mode 100644
index 0000000..5ba8882
--- /dev/null
+++ b/ext/gd/tests/imagetruecolortopalette_error2.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Testing imagetruecolortopalette(): wrong parameters for parameter 2
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(50, 50);
+$resource = tmpfile();
+
+$a = imagetruecolortopalette($image, $resource, 2);
+$b = imagetruecolortopalette($image, array(), 2);
+
+var_dump($a, $b);
+//Both will return true in 5.2.x due to lack of parameter validation
+?>
+--EXPECTF--
+bool(true)
+bool(true)
\ No newline at end of file
diff --git a/ext/gd/tests/imagetruecolortopalette_error3.phpt b/ext/gd/tests/imagetruecolortopalette_error3.phpt
new file mode 100644
index 0000000..803c1e4
--- /dev/null
+++ b/ext/gd/tests/imagetruecolortopalette_error3.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Testing imagetruecolortopalette(): wrong parameters for parameter 3
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(50, 50);
+$resource = tmpfile();
+
+imagetruecolortopalette($image, true, 'string');
+imagetruecolortopalette($image, true, $resource);
+imagetruecolortopalette($image, true, array());
+imagetruecolortopalette($image, true, null);
+
+?>
+--EXPECTF--
+Warning: imagetruecolortopalette(): Number of colors has to be greater than zero in %s on line %d
+
+Warning: imagetruecolortopalette(): Number of colors has to be greater than zero in %s on line %d
+
+Warning: imagetruecolortopalette(): Number of colors has to be greater than zero in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/imagetruecolortopalette_error4.phpt b/ext/gd/tests/imagetruecolortopalette_error4.phpt
new file mode 100644
index 0000000..b9661e3
--- /dev/null
+++ b/ext/gd/tests/imagetruecolortopalette_error4.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Testing imagetruecolortopalette(): out of range parameter 3
+--CREDITS--
+Rafael Dohms <rdohms [at] gmail [dot] com>
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gd")) die("skip GD not present");
+	if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible");
+?>
+--FILE--
+<?php
+$image = imagecreatetruecolor(50, 50);
+
+imagetruecolortopalette($image, true, 0);
+imagetruecolortopalette($image, true, -1);
+
+?>
+--EXPECTF--
+Warning: imagetruecolortopalette(): Number of colors has to be greater than zero in %s on line %d
+
+Warning: imagetruecolortopalette(): Number of colors has to be greater than zero in %s on line %d
\ No newline at end of file
diff --git a/ext/gd/tests/jpeg2wbmp_error1.phpt b/ext/gd/tests/jpeg2wbmp_error1.phpt
new file mode 100755
index 0000000..d0496cc
--- /dev/null
+++ b/ext/gd/tests/jpeg2wbmp_error1.phpt
@@ -0,0 +1,42 @@
+--TEST--
+Test jpeg2wbmp() function : wrong threshold value param
+--CREDITS--
+Levi Fukumori <levi [at] fukumori [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if(!extension_loaded('gd')) {
+    die('skip gd extension is not loaded');
+}
+if(!function_exists('jpeg2wbmp')) {
+    die('skip jpeg2wbmp function is not available');
+}
+?>
+--FILE--
+<?php
+// Create a blank image and add some text
+$im = imagecreatetruecolor(120, 20);
+$text_color = imagecolorallocate($im, 255, 255, 255);
+imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
+
+$file = dirname(__FILE__) .'/simpletext.jpg';
+$file2 = dirname(__FILE__) .'/simpletext.wbmp';
+
+// Save the image as 'simpletext.jpg'
+imagejpeg($im, $file);
+
+// Free up memory
+imagedestroy($im);
+
+jpeg2wbmp($file, $file2, 20, 120, 9);
+jpeg2wbmp($file, $file2, 20, 120, -1);
+?>
+--EXPECTF--
+Warning: jpeg2wbmp(): Invalid threshold value '9' in %s on line %d
+
+Warning: jpeg2wbmp(): Invalid threshold value '-1' in %s on line %d
+--CLEAN--
+<?php
+unlink(dirname(__FILE__) .'/simpletext.jpg');
+unlink(dirname(__FILE__) .'/simpletext.wbmp');
+?>
diff --git a/ext/gd/tests/jpeg2wbmp_error2.phpt b/ext/gd/tests/jpeg2wbmp_error2.phpt
new file mode 100755
index 0000000..692dcb8
--- /dev/null
+++ b/ext/gd/tests/jpeg2wbmp_error2.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Test jpeg2wbmp() function : wrong origin filename param
+--CREDITS--
+Levi Fukumori <levi [at] fukumori [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if(!extension_loaded('gd')) {
+    die('skip gd extension is not loaded');
+}
+if(!function_exists('jpeg2wbmp')) {
+    die('skip jpeg2wbmp function is not available');
+}
+?>
+--FILE--
+<?php
+$file = dirname(__FILE__) .'/simpletext.wbmp';
+jpeg2wbmp('', $file, 20, 120, 8);
+jpeg2wbmp(null, $file, 20, 120, 8);
+jpeg2wbmp(false, $file, 20, 120, 8);
+?>
+--EXPECTF--
+Warning: jpeg2wbmp(): Unable to open '' for reading in %s on line %d
+
+Warning: jpeg2wbmp(): Unable to open '' for reading in %s on line %d
+
+Warning: jpeg2wbmp(): Unable to open '' for reading in %s on line %d
+--CLEAN--
+<?php
+unlink(dirname(__FILE__) .'/simpletext.wbmp');
+?>
diff --git a/ext/gd/tests/jpeg2wbmp_error3.phpt b/ext/gd/tests/jpeg2wbmp_error3.phpt
new file mode 100755
index 0000000..df436c8
--- /dev/null
+++ b/ext/gd/tests/jpeg2wbmp_error3.phpt
@@ -0,0 +1,43 @@
+--TEST--
+Test jpeg2wbmp() function : wrong destination filename param
+--CREDITS--
+Levi Fukumori <levi [at] fukumori [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if(!extension_loaded('gd')) {
+    die('skip gd extension is not loaded');
+}
+if(!function_exists('jpeg2wbmp')) {
+    die('skip jpeg2wbmp function is not available');
+}
+?>
+--FILE--
+<?php
+// Create a blank image and add some text
+$im = imagecreatetruecolor(120, 20);
+$text_color = imagecolorallocate($im, 255, 255, 255);
+imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
+
+$file = dirname(__FILE__) .'/simpletext.jpg';
+
+// Save the image as 'simpletext.jpg'
+imagejpeg($im, $file);
+
+// Free up memory
+imagedestroy($im);
+
+jpeg2wbmp($file, '', 20, 120, 8);
+jpeg2wbmp($file, null, 20, 120, 8);
+jpeg2wbmp($file, false, 20, 120, 8);
+?>
+--EXPECTF--
+Warning: jpeg2wbmp(): Unable to open '' for writing in %s on line %d
+
+Warning: jpeg2wbmp(): Unable to open '' for writing in %s on line %d
+
+Warning: jpeg2wbmp(): Unable to open '' for writing in %s on line %d
+--CLEAN--
+<?php
+unlink(dirname(__FILE__) .'/simpletext.jpg');
+?>
diff --git a/ext/gd/tests/png2wbmp_error1.phpt b/ext/gd/tests/png2wbmp_error1.phpt
new file mode 100755
index 0000000..1e9d717
--- /dev/null
+++ b/ext/gd/tests/png2wbmp_error1.phpt
@@ -0,0 +1,42 @@
+--TEST--
+Test png2wbmp() function : wrong threshold value param
+--CREDITS--
+Levi Fukumori <levi [at] fukumori [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if(!extension_loaded('gd')) {
+    die('skip gd extension is not loaded');
+}
+if(!function_exists('png2wbmp')) {
+    die('skip png2wbmp function is not available');
+}
+?>
+--FILE--
+<?php
+// Create a blank image and add some text
+$im = imagecreatetruecolor(120, 20);
+$text_color = imagecolorallocate($im, 255, 255, 255);
+imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
+
+$file = dirname(__FILE__) .'/simpletext.png';
+$file2 = dirname(__FILE__) .'/simpletext.wbmp';
+
+// Save the image as 'simpletext.png'
+imagepng($im, $file);
+
+// Free up memory
+imagedestroy($im);
+
+png2wbmp($file, $file2, 20, 120, 9);
+png2wbmp($file, $file2, 20, 120, -1);
+?>
+--EXPECTF--
+Warning: png2wbmp(): Invalid threshold value '9' in %s on line %d
+
+Warning: png2wbmp(): Invalid threshold value '-1' in %s on line %d
+--CLEAN--
+<?php
+unlink(dirname(__FILE__) .'/simpletext.png');
+unlink(dirname(__FILE__) .'/simpletext.wbmp');
+?>
diff --git a/ext/gd/tests/png2wbmp_error2.phpt b/ext/gd/tests/png2wbmp_error2.phpt
new file mode 100755
index 0000000..ba8e43e
--- /dev/null
+++ b/ext/gd/tests/png2wbmp_error2.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Test png2wbmp() function : wrong origin filename param
+--CREDITS--
+Levi Fukumori <levi [at] fukumori [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if(!extension_loaded('gd')) {
+    die('skip gd extension is not loaded');
+}
+if(!function_exists('png2wbmp')) {
+    die('skip png2wbmp function is not available');
+}
+?>
+--FILE--
+<?php
+$file = dirname(__FILE__) .'/simpletext.wbmp';
+png2wbmp('', $file, 20, 120, 8);
+png2wbmp(null, $file, 20, 120, 8);
+png2wbmp(false, $file, 20, 120, 8);
+?>
+--EXPECTF--
+Warning: png2wbmp(): Unable to open '' for reading in %s on line %d
+
+Warning: png2wbmp(): Unable to open '' for reading in %s on line %d
+
+Warning: png2wbmp(): Unable to open '' for reading in %s on line %d
+--CLEAN--
+<?php
+unlink(dirname(__FILE__) .'/simpletext.wbmp');
+?>
diff --git a/ext/gd/tests/png2wbmp_error3.phpt b/ext/gd/tests/png2wbmp_error3.phpt
new file mode 100755
index 0000000..1e33f59
--- /dev/null
+++ b/ext/gd/tests/png2wbmp_error3.phpt
@@ -0,0 +1,43 @@
+--TEST--
+Test png2wbmp() function : wrong destination filename param
+--CREDITS--
+Levi Fukumori <levi [at] fukumori [dot] com [dot] br>
+#testfest PHPSP on 2009-06-20
+--SKIPIF--
+<?php 
+if(!extension_loaded('gd')) {
+    die('skip gd extension is not loaded');
+}
+if(!function_exists('png2wbmp')) {
+    die('skip png2wbmp function is not available');
+}
+?>
+--FILE--
+<?php
+// Create a blank image and add some text
+$im = imagecreatetruecolor(120, 20);
+$text_color = imagecolorallocate($im, 255, 255, 255);
+imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
+
+$file = dirname(__FILE__) .'/simpletext.png';
+
+// Save the image as 'simpletext.png'
+imagepng($im, $file);
+
+// Free up memory
+imagedestroy($im);
+
+png2wbmp($file, '', 20, 120, 8);
+png2wbmp($file, null, 20, 120, 8);
+png2wbmp($file, false, 20, 120, 8);
+?>
+--EXPECTF--
+Warning: png2wbmp(): Unable to open '' for writing in %s on line %d
+
+Warning: png2wbmp(): Unable to open '' for writing in %s on line %d
+
+Warning: png2wbmp(): Unable to open '' for writing in %s on line %d
+--CLEAN--
+<?php
+unlink(dirname(__FILE__) .'/simpletext.png');
+?>
diff --git a/ext/gd/tests/test8859.ttf b/ext/gd/tests/test8859.ttf
index ccdc23a59d6c890d7a4b1805ef5f0ac080b73c2b..dff237cd295c5940cd6390d888e13443b0feea3f 100644
GIT binary patch
delta 47
xcmcZ*bRlTNcSc68%|93)O9H7o(jh?JWJB3 at AZMp+3losCQ&`9W6nmgi005}#5E1|Y

delta 47
xcmcZ*bRlTNcSc6u%|93)O9H7o(jh?JWJB3 at AZMp+3losCQ&`9W6nmgi0063Y5F`Kq

diff --git a/ext/gd/tests/truecolor.phpt b/ext/gd/tests/truecolor.phpt
deleted file mode 100644
index 9e30cbe..0000000
--- a/ext/gd/tests/truecolor.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-imageistruecolor, truecolortopalette
---SKIPIF--
-<?php
-        if (!function_exists('imagetruecolortopalette')) die("skip gd extension not available\n");
-?>
---FILE--
-<?php
-$im = imagecreatetruecolor(1,1); 
-if (imageistruecolor($im)) echo "ok\n";
-
-if (imagetruecolortopalette($im, 1,2)) echo "ok\n";
-if (!imageistruecolor($im)) echo "ok\n";
-
-?>
---EXPECTF--
-ok
-ok
-ok
diff --git a/ext/gettext/config.m4 b/ext/gettext/config.m4
index b439540..83942a3 100644
--- a/ext/gettext/config.m4
+++ b/ext/gettext/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.15 2005/05/29 23:16:41 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl
 
 PHP_ARG_WITH(gettext,for GNU gettext support,
diff --git a/ext/gettext/config.w32 b/ext/gettext/config.w32
index 1f79f72..c346141 100644
--- a/ext/gettext/config.w32
+++ b/ext/gettext/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2.4.1 2006/04/09 23:14:47 edink Exp $
+// $Id: config.w32 211080 2006-04-09 23:14:47Z edink $
 // vim:ft=javascript
 
 ARG_WITH("gettext", "gettext support", "no");
diff --git a/ext/gettext/gettext.c b/ext/gettext/gettext.c
index 2bb47f7..ffe7baa 100644
--- a/ext/gettext/gettext.c
+++ b/ext/gettext/gettext.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: gettext.c,v 1.46.2.2.2.9 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: gettext.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/gettext/php_gettext.h b/ext/gettext/php_gettext.h
index 5f1ecaf..5a22d5e 100644
--- a/ext/gettext/php_gettext.h
+++ b/ext/gettext/php_gettext.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_gettext.h,v 1.20.2.1.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_gettext.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_GETTEXT_H
 #define PHP_GETTEXT_H
diff --git a/ext/gettext/tests/gettext_basic-enus.phpt b/ext/gettext/tests/gettext_basic-enus.phpt
new file mode 100644
index 0000000..4691d77
--- /dev/null
+++ b/ext/gettext/tests/gettext_basic-enus.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Gettext basic test with en_US locale that should be on nearly every system
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("skip\n");
+	}
+	if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+		die("skip en_US.UTF-8 locale not supported.");
+	}
+?>
+--FILE--
+<?php 
+
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain ("messages", "./locale");
+textdomain ("messages");
+echo gettext("Basic test"), "\n";
+echo _("Basic test"), "\n";
+
+?>
+--EXPECT--
+A basic test
+A basic test
+--CREDITS--
+Christian Weiske, cweiske at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_basic.phpt b/ext/gettext/tests/gettext_basic.phpt
index 2bbc380..d95730d 100644
--- a/ext/gettext/tests/gettext_basic.phpt
+++ b/ext/gettext/tests/gettext_basic.phpt
@@ -10,7 +10,7 @@ Gettext basic test
 	}
 ?>
 --FILE--
-<?php // $Id: gettext_basic.phpt,v 1.2 2004/05/26 18:18:14 iliaa Exp $
+<?php // $Id: gettext_basic.phpt 159732 2004-05-26 18:18:14Z iliaa $
 
 chdir(dirname(__FILE__));
 setlocale(LC_ALL, 'fi_FI');
diff --git a/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt b/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt
new file mode 100644
index 0000000..2c8e561
--- /dev/null
+++ b/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt
@@ -0,0 +1,22 @@
+--TEST--
+test if bind_textdomain_codeset() returns correct value 
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("skip"); 
+	}
+?>
+--FILE--
+<?php
+	var_dump(bind_textdomain_codeset(false,false));
+	var_dump(bind_textdomain_codeset('messages', "UTF-8"));
+
+	echo "Done\n";
+?>
+--EXPECTF--	
+bool(false)
+string(5) "UTF-8"
+Done
+--CREDITS--
+Florian Holzhauer fh-pt at fholzhauer.de
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_bind_textdomain_codeset-wrongparams.phpt b/ext/gettext/tests/gettext_bind_textdomain_codeset-wrongparams.phpt
new file mode 100644
index 0000000..eb50c5d
--- /dev/null
+++ b/ext/gettext/tests/gettext_bind_textdomain_codeset-wrongparams.phpt
@@ -0,0 +1,23 @@
+--TEST--
+test if bind_textdomain_codeset() fails on wrong param count
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("skip"); 
+	}
+?>
+--FILE--
+<?php
+	bind_textdomain_codeset('messages');
+	bind_textdomain_codeset('messages','foo','bar');
+
+	echo "Done\n";
+?>
+--EXPECTF--	
+Warning: bind_textdomain_codeset() expects exactly 2 parameters, 1 given in %s on line %d
+
+Warning: bind_textdomain_codeset() expects exactly 2 parameters, 3 given in %s on line %d
+Done
+--CREDITS--
+Florian Holzhauer fh-pt at fholzhauer.de
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_bindtextdomain-cwd.phpt b/ext/gettext/tests/gettext_bindtextdomain-cwd.phpt
new file mode 100644
index 0000000..375e5fb
--- /dev/null
+++ b/ext/gettext/tests/gettext_bindtextdomain-cwd.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test if bindtextdomain() returns string id if no directory path is set(if directory path is 'null')
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+    die("skip gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+    die("skip en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+$base_dir = dirname(__FILE__);
+chdir($base_dir);
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('messages',null);
+var_dump(gettext('Basic test'));
+bindtextdomain('messages', './locale');
+var_dump(gettext('Basic test'));
+
+?>
+--EXPECTF--
+string(10) "Basic test"
+string(12) "A basic test"
+--CREDIT--
+Moritz Neuhaeuser, info at xcompile.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_bindtextdomain-emptydomain.phpt b/ext/gettext/tests/gettext_bindtextdomain-emptydomain.phpt
new file mode 100644
index 0000000..0ebe66e
--- /dev/null
+++ b/ext/gettext/tests/gettext_bindtextdomain-emptydomain.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Test if bindtextdomain() errors if the domain is empty.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+    die("skip gettext extension is not loaded.\n");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+bindtextdomain('', 'foobar');
+--EXPECTF--
+Warning: The first parameter of bindtextdomain must not be empty in %s on line %d
+--CREDITS--
+Till Klampaeckel, till at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_bindtextdomain-path.phpt b/ext/gettext/tests/gettext_bindtextdomain-path.phpt
new file mode 100644
index 0000000..45349b4
--- /dev/null
+++ b/ext/gettext/tests/gettext_bindtextdomain-path.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Test if bindtextdomain() returns false if path does not exist.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+    die("skip gettext extension is not loaded.\n");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+var_dump(bindtextdomain('example.org', 'foobar'));
+--EXPECTF--
+bool(false)
+--CREDITS--
+Till Klampaeckel, till at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_bindtextdomain-wrongparams.phpt b/ext/gettext/tests/gettext_bindtextdomain-wrongparams.phpt
new file mode 100644
index 0000000..97939a4
--- /dev/null
+++ b/ext/gettext/tests/gettext_bindtextdomain-wrongparams.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Test if bindtextdomain() errors if you don't supply enough parameters.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+    die("skip gettext extension is not loaded.\n");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+bindtextdomain('foobar');
+bindtextdomain();
+--EXPECTF--
+Warning: bindtextdomain() expects exactly 2 parameters, 1 given in %s on line %d
+
+Warning: bindtextdomain() expects exactly 2 parameters, 0 given in %s on line %d
+--CREDITS--
+Till Klampaeckel, till at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_dcgettext-wrongparams.phpt b/ext/gettext/tests/gettext_dcgettext-wrongparams.phpt
new file mode 100644
index 0000000..372a957
--- /dev/null
+++ b/ext/gettext/tests/gettext_dcgettext-wrongparams.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Test if dcgettext() errors when you don't supply the correct params.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+    die("skip gettext extension is not loaded.\n");
+}
+--FILE--
+<?php
+var_dump(dcgettext('a', 'b'));
+--EXPECTF--
+Warning: dcgettext() expects exactly 3 parameters, 2 given in %s on line %d
+NULL
+--CREDITS--
+Christian Weiske, cweiske at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_dcgettext.phpt b/ext/gettext/tests/gettext_dcgettext.phpt
new file mode 100644
index 0000000..24b558e
--- /dev/null
+++ b/ext/gettext/tests/gettext_dcgettext.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Test dcgettext() functionality
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+    die("skip gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+    die("skip en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+setlocale(LC_MESSAGES, 'en_US.UTF-8');
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dngettextTest', './locale');
+
+var_dump(dcgettext('dngettextTest', 'item', LC_CTYPE));
+var_dump(dcgettext('dngettextTest', 'item', LC_MESSAGES));
+--EXPECTF--
+string(8) "cProdukt"
+string(7) "Produkt"
+--CREDITS--
+Christian Weiske, cweiske at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_dgettext.phpt b/ext/gettext/tests/gettext_dgettext.phpt
new file mode 100644
index 0000000..a9a1337
--- /dev/null
+++ b/ext/gettext/tests/gettext_dgettext.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Test dgettext() functionality
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+    die("SKIP gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+    die("SKIP en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+setlocale(LC_MESSAGES, 'en_US.UTF-8');
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dgettextTest', './locale');
+bindtextdomain('dgettextTest_switch', './locale');
+textdomain('dgettextTest');
+
+var_dump(gettext('item'));
+var_dump(dgettext('dgettextTest_switch', 'item'));
+var_dump(gettext('item'));
+?>
+--EXPECT--
+string(7) "Produkt"
+string(16) "Produkt_switched"
+string(7) "Produkt"
+--CREDITS--
+Moritz Neuhaeuser, info at xcompile.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_dgettext_error_wrongparams.phpt b/ext/gettext/tests/gettext_dgettext_error_wrongparams.phpt
new file mode 100644
index 0000000..7839358
--- /dev/null
+++ b/ext/gettext/tests/gettext_dgettext_error_wrongparams.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Check how dgettext() with wrong parameter types and wrong parameter cou types and wrong parameter count behaves.
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("skip extension gettext not loaded\n");
+	}
+    if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+        die("skip en_US.UTF-8 locale not supported.");
+    }
+
+?>
+--FILE--
+<?php 
+    chdir(dirname(__FILE__));
+    setlocale(LC_ALL, 'en_US.UTF-8');
+    dgettext ('foo');
+    dgettext ();
+
+    dgettext(array(), 'foo');
+    dgettext('foo', array());
+
+?>
+--EXPECTF--
+Warning: dgettext() expects exactly 2 parameters, 1 given in %s.php on line %d
+
+Warning: dgettext() expects exactly 2 parameters, 0 given in %s.php on line %d
+
+Warning: dgettext() expects parameter 1 to be string, array given in %s.php on line %d
+
+Warning: dgettext() expects parameter 2 to be string, array given in %s.php on line %d
+--CREDITS--
+Moritz Neuhaeuser, info at xcompile.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_dngettext-plural.phpt b/ext/gettext/tests/gettext_dngettext-plural.phpt
new file mode 100644
index 0000000..0417c0e
--- /dev/null
+++ b/ext/gettext/tests/gettext_dngettext-plural.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Test if dngettext() returns the correct translations (optionally plural).
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+    die("skip gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+    die("skip en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dngettextTest', './locale');
+
+var_dump(dngettext('dngettextTest', 'item', 'items', 1));
+var_dump(dngettext('dngettextTest', 'item', 'items', 2));
+--EXPECT--
+string(7) "Produkt"
+string(8) "Produkte"
+--CREDITS--
+Till Klampaeckel, till at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_dngettext-wrongparams.phpt b/ext/gettext/tests/gettext_dngettext-wrongparams.phpt
new file mode 100644
index 0000000..4bcf093
--- /dev/null
+++ b/ext/gettext/tests/gettext_dngettext-wrongparams.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Test if dngettext() errors when you don't supply the correct params.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+    die("skip gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+    die("skip en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dngettextTest', './locale');
+
+var_dump(dngettext('dngettextTest', 'item', 'items'));
+--EXPECTF--
+Warning: dngettext() expects exactly 4 parameters, 3 given in %s on line %d
+NULL
+--CREDITS--
+Till Klampaeckel, till at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_gettext_error_wrongparams.phpt b/ext/gettext/tests/gettext_gettext_error_wrongparams.phpt
new file mode 100644
index 0000000..a901090
--- /dev/null
+++ b/ext/gettext/tests/gettext_gettext_error_wrongparams.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Check how gettext() with wrong parameters behaves.
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("skip extension gettext not loaded\n");
+	}
+?>
+--FILE--
+<?php 
+gettext (array());
+?>
+--EXPECTF--
+Warning: gettext() expects parameter 1 to be string, array given in %s on line 2
+--CREDITS--
+Moritz Neuhaeuser, info at xcompile.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_ngettext-wrongparams.phpt b/ext/gettext/tests/gettext_ngettext-wrongparams.phpt
new file mode 100644
index 0000000..9003aef
--- /dev/null
+++ b/ext/gettext/tests/gettext_ngettext-wrongparams.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Check how ngettext() with wrong parameters behaves.
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("SKIP extension gettext not loaded\n");
+	}
+
+?>
+--FILE--
+<?php
+ngettext(array(), "", 1);
+ngettext("", array(), 1);
+ngettext("", "", array());
+ngettext();
+ngettext("");
+ngettext("", "");
+?>
+--EXPECTF--
+Warning: ngettext() expects parameter 1 to be string, array given in %s on line 2
+
+Warning: ngettext() expects parameter 2 to be string, array given in %s on line 3
+
+Warning: ngettext() expects parameter 3 to be long, array given in %s on line 4
+
+Warning: ngettext() expects exactly 3 parameters, 0 given in %s on line 5
+
+Warning: ngettext() expects exactly 3 parameters, 1 given in %s on line 6
+
+Warning: ngettext() expects exactly 3 parameters, 2 given in %s on line 7
+--CREDITS--
+Tim Eggert, tim at elbart.com
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_ngettext.phpt b/ext/gettext/tests/gettext_ngettext.phpt
new file mode 100644
index 0000000..0719b33
--- /dev/null
+++ b/ext/gettext/tests/gettext_ngettext.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Test ngettext() functionality
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("SKIP extension gettext not loaded\n");
+	}
+	if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+		die("SKIP en_US.UTF-8 locale not supported.");
+	}
+?>
+--FILE--
+<?php // $Id: gettext_ngettext.phpt 282363 2009-06-18 07:31:10Z zoe $
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dngettextTest', './locale');
+textdomain('dngettextTest');
+var_dump(ngettext('item', 'items', 1));
+var_dump(ngettext('item', 'items', 2));
+?>
+--EXPECT--
+string(7) "Produkt"
+string(8) "Produkte"
+--CREDITS--
+Christian Weiske, cweiske at php.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_phpinfo.phpt b/ext/gettext/tests/gettext_phpinfo.phpt
new file mode 100644
index 0000000..6a38943
--- /dev/null
+++ b/ext/gettext/tests/gettext_phpinfo.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Test phpinfo() displays gettext support 
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("SKIP extension gettext not loaded\n");
+	}
+?>
+--FILE--
+<?php
+phpinfo();
+?>
+--EXPECTF--
+%a
+%rGetText Support.*enabled%r
+%a
+--CREDITS--
+Tim Eggert, tim at elbart.com
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_textdomain-retval.phpt b/ext/gettext/tests/gettext_textdomain-retval.phpt
new file mode 100644
index 0000000..3e82f67
--- /dev/null
+++ b/ext/gettext/tests/gettext_textdomain-retval.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Check if textdomain() returns the new domain
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("skip\n");
+	}
+	if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+		die("skip en_US.UTF-8 locale not supported.");
+	}
+?>
+--FILE--
+<?php
+
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain ("messages", "./locale");
+echo textdomain('test'), "\n";
+echo textdomain(null), "\n";
+echo textdomain('foo'), "\n";
+?>
+--EXPECT--
+
+test
+test
+foo
+--CREDITS--
+Christian Weiske, cweiske at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/gettext_textdomain-wrongparams.phpt b/ext/gettext/tests/gettext_textdomain-wrongparams.phpt
new file mode 100644
index 0000000..1056570
--- /dev/null
+++ b/ext/gettext/tests/gettext_textdomain-wrongparams.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Check how textdomain() with wrong parameters behaves.
+--SKIPIF--
+<?php 
+	if (!extension_loaded("gettext")) {
+		die("skip\n");
+	}
+	if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+		die("skip en_US.UTF-8 locale not supported.");
+	}
+?>
+--FILE--
+<?php // $Id: gettext_textdomain-wrongparams.phpt 282363 2009-06-18 07:31:10Z zoe $
+
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain ("messages", "./locale");
+textdomain (array());
+
+?>
+--EXPECTF--
+Warning: textdomain() expects parameter 1 to be string, array given in %s on line 6
+--CREDITS--
+Christian Weiske, cweiske at php.net
+PHP Testfest Berlin 2009-05-09
\ No newline at end of file
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.mo b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.mo
new file mode 100644
index 0000000000000000000000000000000000000000..255e1e937a214de18b5409833c1a962d60af08d4
GIT binary patch
literal 84
zcmca7#4?ou2pEA_28dOFm>Gz5fS3!2Er3`6h at F8L20&^vOHy;eL@`4^QGQBkb_tA5
GWdHz75Db_A

literal 0
HcmV?d00001

diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.po b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.po
new file mode 100644
index 0000000..159a90f
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt"
+msgstr[1] "Produkte"
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.mo b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.mo
new file mode 100644
index 0000000000000000000000000000000000000000..c2ab696a3e08093e256479accce77b91c30df260
GIT binary patch
literal 102
zcmca7#4?ou2pEA_28dOFm>Gz5fS3!2Er3`Fh at F8L20&^vOHy;eL@`4^QGQBkc1e73
Qd1gs+MrsO7AQd430EP7w9smFU

literal 0
HcmV?d00001

diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.po b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.po
new file mode 100644
index 0000000..b56d189
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt_switched"
+msgstr[1] "Produkte_switched"
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switched.po b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switched.po
new file mode 100644
index 0000000..d6f6ea2
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switched.po
@@ -0,0 +1,2 @@
+msgid "item"
+msgstr[0] "cProdukt_switched"
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.mo b/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.mo
new file mode 100644
index 0000000000000000000000000000000000000000..e9c63ef95fbb054967b5ba440ed454e0a6a77a2a
GIT binary patch
literal 86
zcmca7#4?ou2pEA_28dOFm>Gz5fS3!2Er3`Eh at F8L20&^vOHy;eL@`5hKv8~5X?6*m
Hk;(u7XI2eh

literal 0
HcmV?d00001

diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.po b/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.po
new file mode 100644
index 0000000..863e83c
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "cProdukt"
+msgstr[1] "cProdukte"
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.mo b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.mo
new file mode 100644
index 0000000000000000000000000000000000000000..255e1e937a214de18b5409833c1a962d60af08d4
GIT binary patch
literal 84
zcmca7#4?ou2pEA_28dOFm>Gz5fS3!2Er3`6h at F8L20&^vOHy;eL@`4^QGQBkb_tA5
GWdHz75Db_A

literal 0
HcmV?d00001

diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.po b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.po
new file mode 100644
index 0000000..159a90f
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt"
+msgstr[1] "Produkte"
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.mo b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.mo
new file mode 100644
index 0000000000000000000000000000000000000000..c2ab696a3e08093e256479accce77b91c30df260
GIT binary patch
literal 102
zcmca7#4?ou2pEA_28dOFm>Gz5fS3!2Er3`Fh at F8L20&^vOHy;eL@`4^QGQBkc1e73
Qd1gs+MrsO7AQd430EP7w9smFU

literal 0
HcmV?d00001

diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.po b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.po
new file mode 100644
index 0000000..b56d189
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt_switched"
+msgstr[1] "Produkte_switched"
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.mo b/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.mo
new file mode 100644
index 0000000000000000000000000000000000000000..255e1e937a214de18b5409833c1a962d60af08d4
GIT binary patch
literal 84
zcmca7#4?ou2pEA_28dOFm>Gz5fS3!2Er3`6h at F8L20&^vOHy;eL@`4^QGQBkb_tA5
GWdHz75Db_A

literal 0
HcmV?d00001

diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.po b/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.po
new file mode 100644
index 0000000..159a90f
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt"
+msgstr[1] "Produkte"
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/messages.mo b/ext/gettext/tests/locale/en/LC_MESSAGES/messages.mo
new file mode 100644
index 0000000000000000000000000000000000000000..335cbdde468bde181796c51016f14a6b1f5593d1
GIT binary patch
literal 201
zcmca7#4?ou2$+Ca28eZlm=%a^fEWY<fS3!21A#amh+}}52Z;9oF(VLz^q~N!#Ny0k
zg_6|b5(ZySUsv6*)S}|d{5&fKLp=j7=lr~q)VvbikjjEoE1;r^68(al#LPTvh2)IH
yqT<vNThCyBT?-3SOI<^R;-bX7;<VHvUDv$i{FKbRbSnjmq|6d721kV?gk=CzY%Ada

literal 0
HcmV?d00001

diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/messages.po b/ext/gettext/tests/locale/en/LC_MESSAGES/messages.po
new file mode 100644
index 0000000..2faf01f
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/messages.po
@@ -0,0 +1,15 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gettext_basic.phpt:11
+msgid "Basic test"
+msgstr "A basic test"
diff --git a/ext/gmp/config.m4 b/ext/gmp/config.m4
index 641d3d2..359e932 100644
--- a/ext/gmp/config.m4
+++ b/ext/gmp/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.11 2004/11/03 14:32:50 jorton Exp $
+dnl $Id: config.m4 172020 2004-11-03 14:32:52Z jorton $
 dnl
 
 PHP_ARG_WITH(gmp, for GNU MP support,
diff --git a/ext/gmp/config.w32 b/ext/gmp/config.w32
index f2b747a..d670955 100644
--- a/ext/gmp/config.w32
+++ b/ext/gmp/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2005/01/04 22:39:29 fmk Exp $
+// $Id: config.w32 176467 2005-01-04 22:39:29Z fmk $
 // vim:ft=javascript
 
 ARG_WITH("gmp", "Include GNU MP support.", "no");
diff --git a/ext/hash/bench.php b/ext/hash/bench.php
index b4a5964..f3c7ecc 100644
--- a/ext/hash/bench.php
+++ b/ext/hash/bench.php
@@ -1,5 +1,5 @@
 <?php
-/* $Id: bench.php,v 1.1.2.2 2005/12/02 01:59:44 iliaa Exp $ */
+/* $Id: bench.php 201859 2005-12-02 01:59:48Z iliaa $ */
 
 /*
  This gives rather interesting results :)
diff --git a/ext/hash/config.m4 b/ext/hash/config.m4
index 4ad6c3e..de24765 100644
--- a/ext/hash/config.m4
+++ b/ext/hash/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.10.2.4.2.1 2007/07/03 17:25:33 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl config.m4 for extension hash
 
 PHP_ARG_ENABLE(hash, whether to enable hash support,
diff --git a/ext/hash/config.w32 b/ext/hash/config.w32
index 8b3d168..0b7e3c2 100644
--- a/ext/hash/config.w32
+++ b/ext/hash/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.8.2.3 2006/03/03 14:34:34 edink Exp $
+// $Id: config.w32 208549 2006-03-03 14:34:34Z edink $
 // vim:ft=javascript
 
 ARG_ENABLE("hash", "enable hash support", "yes");
diff --git a/ext/hash/hash.c b/ext/hash/hash.c
index 259f378..df9c9c1 100644
--- a/ext/hash/hash.c
+++ b/ext/hash/hash.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash.c,v 1.18.2.5.2.9 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/hash/hash_adler32.c b/ext/hash/hash_adler32.c
index 8c4121b..70c76f2 100644
--- a/ext/hash/hash_adler32.c
+++ b/ext/hash/hash_adler32.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_adler32.c,v 1.3.2.4.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_adler32.c 287127 2009-08-12 00:18:36Z scottmac $ */
 
 #include "php_hash.h"
 #include "php_hash_adler32.h"
@@ -42,10 +42,10 @@ PHP_HASH_API void PHP_ADLER32Update(PHP_ADLER32_CTX *context, const unsigned cha
 
 PHP_HASH_API void PHP_ADLER32Final(unsigned char digest[4], PHP_ADLER32_CTX *context)
 {
-	digest[3] = (unsigned char) ((context->state >> 24) & 0xff);
-	digest[2] = (unsigned char) ((context->state >> 16) & 0xff);
-	digest[1] = (unsigned char) ((context->state >> 8) & 0xff);
-	digest[0] = (unsigned char) (context->state & 0xff);
+	digest[0] = (unsigned char) ((context->state >> 24) & 0xff);
+	digest[1] = (unsigned char) ((context->state >> 16) & 0xff);
+	digest[2] = (unsigned char) ((context->state >> 8) & 0xff);
+	digest[3] = (unsigned char) (context->state & 0xff);
 	context->state = 0;
 }
 
diff --git a/ext/hash/hash_crc32.c b/ext/hash/hash_crc32.c
index 12be973..89ccd3c 100644
--- a/ext/hash/hash_crc32.c
+++ b/ext/hash/hash_crc32.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_crc32.c,v 1.2.2.3.2.5 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_crc32.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_hash.h"
 #include "php_hash_crc32.h"
diff --git a/ext/hash/hash_gost.c b/ext/hash/hash_gost.c
index 2075c22..800548b 100644
--- a/ext/hash/hash_gost.c
+++ b/ext/hash/hash_gost.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_gost.c,v 1.2.2.3.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_gost.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_hash.h"
 #include "php_hash_gost.h"
diff --git a/ext/hash/hash_haval.c b/ext/hash/hash_haval.c
index fcdcd9f..0aa83a6 100644
--- a/ext/hash/hash_haval.c
+++ b/ext/hash/hash_haval.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_haval.c,v 1.4.2.3.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_haval.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_hash.h"
 #include "php_hash_haval.h"
diff --git a/ext/hash/hash_md.c b/ext/hash/hash_md.c
index a3dac8b..95be76c 100644
--- a/ext/hash/hash_md.c
+++ b/ext/hash/hash_md.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_md.c,v 1.6.2.4.2.5 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_md.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_hash.h"
 #include "php_hash_md.h"
diff --git a/ext/hash/hash_ripemd.c b/ext/hash/hash_ripemd.c
index 410586e..dd10171 100644
--- a/ext/hash/hash_ripemd.c
+++ b/ext/hash/hash_ripemd.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_ripemd.c,v 1.5.2.3.2.5 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_ripemd.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Heavily borrowed from md5.c & sha1.c of PHP archival fame
    Note that ripemd laughs in the face of logic and uses
diff --git a/ext/hash/hash_salsa.c b/ext/hash/hash_salsa.c
index 0c102ad..9763478 100644
--- a/ext/hash/hash_salsa.c
+++ b/ext/hash/hash_salsa.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_salsa.c,v 1.3.2.3.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_salsa.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_hash.h"
 #include "php_hash_salsa.h"
diff --git a/ext/hash/hash_sha.c b/ext/hash/hash_sha.c
index ce3acd2..bc76f40 100644
--- a/ext/hash/hash_sha.c
+++ b/ext/hash/hash_sha.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_sha.c,v 1.10.2.3.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_sha.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_hash.h"
 #include "php_hash_sha.h"
diff --git a/ext/hash/hash_snefru.c b/ext/hash/hash_snefru.c
index 2886ba8..c36ce21 100644
--- a/ext/hash/hash_snefru.c
+++ b/ext/hash/hash_snefru.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_snefru.c,v 1.3.2.3.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_snefru.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_hash.h"
 #include "php_hash_snefru.h"
diff --git a/ext/hash/hash_tiger.c b/ext/hash/hash_tiger.c
index 7d22327..33b6e05 100644
--- a/ext/hash/hash_tiger.c
+++ b/ext/hash/hash_tiger.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_tiger.c,v 1.4.2.4.2.5 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_tiger.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_hash.h"
 #include "php_hash_tiger.h"
diff --git a/ext/hash/hash_whirlpool.c b/ext/hash/hash_whirlpool.c
index bb32027..3a00c4d 100644
--- a/ext/hash/hash_whirlpool.c
+++ b/ext/hash/hash_whirlpool.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: hash_whirlpool.c,v 1.3.2.3.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: hash_whirlpool.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_hash.h"
 
diff --git a/ext/hash/php_hash.h b/ext/hash/php_hash.h
index b58fdd3..587eae6 100644
--- a/ext/hash/php_hash.h
+++ b/ext/hash/php_hash.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash.h,v 1.13.2.7.2.5 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_H
 #define PHP_HASH_H
diff --git a/ext/hash/php_hash_adler32.h b/ext/hash/php_hash_adler32.h
index aecfd56..3c2148c 100644
--- a/ext/hash/php_hash_adler32.h
+++ b/ext/hash/php_hash_adler32.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_adler32.h,v 1.3.2.3.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_adler32.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_ADLER32_H
 #define PHP_HASH_ADLER32_H
diff --git a/ext/hash/php_hash_crc32.h b/ext/hash/php_hash_crc32.h
index 95ee4ca..707137d 100644
--- a/ext/hash/php_hash_crc32.h
+++ b/ext/hash/php_hash_crc32.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_crc32.h,v 1.3.2.3.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_crc32.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_CRC32_H
 #define PHP_HASH_CRC32_H
diff --git a/ext/hash/php_hash_crc32_tables.h b/ext/hash/php_hash_crc32_tables.h
index 213bf7b..cd7b6b9 100644
--- a/ext/hash/php_hash_crc32_tables.h
+++ b/ext/hash/php_hash_crc32_tables.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_crc32_tables.h,v 1.2.2.3.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_crc32_tables.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 static const php_hash_uint32 crc32_table[] = {  0x0,
 	0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b,
diff --git a/ext/hash/php_hash_gost.h b/ext/hash/php_hash_gost.h
index 7e7a716..195f0c4 100644
--- a/ext/hash/php_hash_gost.h
+++ b/ext/hash/php_hash_gost.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_gost.h,v 1.2.2.4.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_gost.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_GOST_H
 #define PHP_HASH_GOST_H
diff --git a/ext/hash/php_hash_haval.h b/ext/hash/php_hash_haval.h
index 46ea075..9026bda 100644
--- a/ext/hash/php_hash_haval.h
+++ b/ext/hash/php_hash_haval.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_haval.h,v 1.2.2.3.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_haval.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_HAVAL_H
 #define PHP_HASH_HAVAL_H
diff --git a/ext/hash/php_hash_md.h b/ext/hash/php_hash_md.h
index ea498b3..4253531 100644
--- a/ext/hash/php_hash_md.h
+++ b/ext/hash/php_hash_md.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_md.h,v 1.2.2.4.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_md.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_MD_H
 #define PHP_HASH_MD_H
diff --git a/ext/hash/php_hash_ripemd.h b/ext/hash/php_hash_ripemd.h
index 3b9c145..2524d53 100644
--- a/ext/hash/php_hash_ripemd.h
+++ b/ext/hash/php_hash_ripemd.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_ripemd.h,v 1.2.2.3.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_ripemd.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_RIPEMD_H
 #define PHP_HASH_RIPEMD_H
diff --git a/ext/hash/php_hash_salsa.h b/ext/hash/php_hash_salsa.h
index 12641f5..2575130 100644
--- a/ext/hash/php_hash_salsa.h
+++ b/ext/hash/php_hash_salsa.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_salsa.h,v 1.4.2.4.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_salsa.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_SALSA_H
 #define PHP_HASH_SALSA_H
diff --git a/ext/hash/php_hash_sha.h b/ext/hash/php_hash_sha.h
index 276d9fe..7604073 100644
--- a/ext/hash/php_hash_sha.h
+++ b/ext/hash/php_hash_sha.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_sha.h,v 1.3.2.3.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_sha.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_SHA_H
 #define PHP_HASH_SHA_H
diff --git a/ext/hash/php_hash_snefru.h b/ext/hash/php_hash_snefru.h
index 8f8f7fd..773277c 100644
--- a/ext/hash/php_hash_snefru.h
+++ b/ext/hash/php_hash_snefru.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_snefru.h,v 1.2.2.4.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_snefru.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_SNEFRU_H
 #define PHP_HASH_SNEFRU_H
diff --git a/ext/hash/php_hash_snefru_tables.h b/ext/hash/php_hash_snefru_tables.h
index ef4abb8..1663406 100644
--- a/ext/hash/php_hash_snefru_tables.h
+++ b/ext/hash/php_hash_snefru_tables.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_snefru_tables.h,v 1.3.2.3.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_snefru_tables.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 static const php_hash_uint32 tables[16][256]= {
 
diff --git a/ext/hash/php_hash_tiger.h b/ext/hash/php_hash_tiger.h
index 5fab893..fb6f716 100644
--- a/ext/hash/php_hash_tiger.h
+++ b/ext/hash/php_hash_tiger.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_tiger.h,v 1.3.2.3.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_tiger.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_TIGER_H
 #define PHP_HASH_TIGER_H
diff --git a/ext/hash/php_hash_tiger_tables.h b/ext/hash/php_hash_tiger_tables.h
index d070308..b92efa2 100644
--- a/ext/hash/php_hash_tiger_tables.h
+++ b/ext/hash/php_hash_tiger_tables.h
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_tiger_tables.h,v 1.2.2.3.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_tiger_tables.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define t1 (table)
 #define t2 (table+256)
diff --git a/ext/hash/php_hash_types.h b/ext/hash/php_hash_types.h
index d5970c0..9e4b8b4 100644
--- a/ext/hash/php_hash_types.h
+++ b/ext/hash/php_hash_types.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_types.h,v 1.2.2.4.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_types.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_TYPES_H
 #define PHP_HASH_TYPES_H
diff --git a/ext/hash/php_hash_whirlpool.h b/ext/hash/php_hash_whirlpool.h
index 138bfa3..7e95bfa 100644
--- a/ext/hash/php_hash_whirlpool.h
+++ b/ext/hash/php_hash_whirlpool.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_whirlpool.h,v 1.2.2.4.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_whirlpool.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_WHIRLPOOL_H
 #define PHP_HASH_WHIRLPOOL_H
diff --git a/ext/hash/php_hash_whirlpool_tables.h b/ext/hash/php_hash_whirlpool_tables.h
index c097fa2..ae5b36a 100644
--- a/ext/hash/php_hash_whirlpool_tables.h
+++ b/ext/hash/php_hash_whirlpool_tables.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_hash_whirlpool_tables.h,v 1.1.2.3.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_hash_whirlpool_tables.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HASH_WHIRLPOOL_TABLES_H
 #define PHP_HASH_WHIRLPOOL_TABLES_H
diff --git a/ext/hash/tests/adler32.phpt b/ext/hash/tests/adler32.phpt
index acfcc2b..eab2a3f 100644
--- a/ext/hash/tests/adler32.phpt
+++ b/ext/hash/tests/adler32.phpt
@@ -13,10 +13,10 @@ echo hash('adler32', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345
 echo hash('adler32', '12345678901234567890123456789012345678901234567890123456789012345678901234567890'), "\n";
 ?>
 --EXPECT--
-01000000
-62006200
-27014d02
-86057529
-200b8690
-0c15db8a
-6910b697
+00000001
+00620062
+024d0127
+29750586
+90860b20
+8adb150c
+97b61069
diff --git a/ext/hash/tests/hash_file_basic1.phpt b/ext/hash/tests/hash_file_basic1.phpt
index 4bbdeaf..bdda915 100644
--- a/ext/hash/tests/hash_file_basic1.phpt
+++ b/ext/hash/tests/hash_file_basic1.phpt
@@ -63,7 +63,7 @@ unlink($file);
 ===Done===
 --EXPECTF--
 *** Testing hash_file() : basic functionality ***
-adler32: 2e2287ff
+adler32: ff87222e
 crc32: 61664d33
 gost: d9e65f0c0c2ef944e4f8a01f4a46365c4f33a2853756878182a7f03e1490a4cd
 haval128,3: 8bb81269aca8b7f87829020d76a4e841
@@ -81,7 +81,7 @@ sha512: 1f42adaf938fbf136e381b164bae5f984c7f9fe60c82728bd889c14f187c7d63e81a0305
 snefru: d414b2345d3e7fa1a31c044cf334bfc1fec24d89e464411998d579d24663895f
 tiger192,3: c6fa75a0be4ecf7afa3cafb4e2a08efc3a40534c0e46b971
 whirlpool: 4248b149e000477269a4a5f1a84d97cfc3d0199b7aaf505913e6f010a6f83276029d11a9ad545374bc710eb59c7d958985023ab886ffa9ec9a23852844c764ec
-adler32(raw): 2e2287ff
+adler32(raw): ff87222e
 md5(raw): 704bf818448f5bbb94061332d2c889aa
 sha256(raw): a0f5702fa5d3670b80033d668e8732b70550392abb53841355447f8bb0f72245
 ===Done===
\ No newline at end of file
diff --git a/ext/hash/tests/hash_hmac_basic.phpt b/ext/hash/tests/hash_hmac_basic.phpt
index d40e0f4..7e797fd 100644
--- a/ext/hash/tests/hash_hmac_basic.phpt
+++ b/ext/hash/tests/hash_hmac_basic.phpt
@@ -44,7 +44,7 @@ echo "sha256(raw): " . bin2hex(hash_hmac('sha256', $content, $key, TRUE)) . "\n"
 ===Done===
 --EXPECTF--
 *** Testing hash_hmac() : basic functionality ***
-adler32: 9e033311
+adler32: 12c803f7
 crc32: 96859101
 gost: a4a3c80bdf3f8665bf07376a34dc9c1b11af7c813f4928f62e39f0c0dc564dad
 haval128,3: 82cd0f4bd36729b5c80c33efa8c13ac5
@@ -62,7 +62,7 @@ sha512: 7de05636b18e2b0ca3427e03f53074af3a48a7b9df226daba4f22324c570638e7d7b2643
 snefru: 67af483046f9cf16fe19f9087929ccfc6ad176ade3290b4d33f43e0ddb07e711
 tiger192,3: 82779797cdc439e886884953ba21fa38e35679041e95ee27
 whirlpool: 4a0f1582b21b7aff59bfba7f9c29131c69741b2ce80acdc7d314040f3b768cf5a17e30b74cceb86fbc6b34b1692e0addd5bfd7cfc043d40c0621f1b97e26fa49
-adler32(raw): 9e033311
+adler32(raw): 12c803f7
 md5(raw): 2a632783e2812cf23de100d7d6a463ae
 sha256(raw): 49bde3496b9510a17d0edd8a4b0ac70148e32a1d51e881ec76faa96534125838
 ===Done===
\ No newline at end of file
diff --git a/ext/hash/tests/hash_hmac_file_basic.phpt b/ext/hash/tests/hash_hmac_file_basic.phpt
index bbd89b4..964a7b6 100644
--- a/ext/hash/tests/hash_hmac_file_basic.phpt
+++ b/ext/hash/tests/hash_hmac_file_basic.phpt
@@ -72,7 +72,7 @@ unlink($file);
 ===Done===
 --EXPECTF--
 *** Testing hash_hmac_file() : basic functionality ***
-adler32: 9f037811
+adler32: 0f8c02f9
 crc32: f2a60b9c
 gost: 94c39a40d5db852a8dc3d24e37eebf2d53e3d711457c59cd02b614f792a9d918
 haval128,3: e8fcff647f1a675acb429130fb94a17e
@@ -90,7 +90,7 @@ sha512: d460aabdf0353655059ed0d408efa91f19c4cda46acc2a4e0adf4764b06951c899fbb2ed
 snefru: 7b79787e1c1d926b6cc98327f05c5d04ba6227ab51c1398661861196016ef34c
 tiger192,3: 5577f21e2af269fff41e023db30e2b01bfd8b8f669177929
 whirlpool: 37a0fbb90547690d5e5e11c046f6654ffdb7bab15e16d9d79c7d85765cc4bdcbfd9df8db7a3ce9558f3f244fead00ca29cf05297f75596555195a0683f15d69f
-adler32(raw): 9f037811
+adler32(raw): 0f8c02f9
 md5(raw): 8bddf39dd1c566c27acc7fa85ec36acf
 sha256(raw): 9135286ca4c84dec711e4b831f6cd39e672e5ff93d011321274eb76733cc1e40
 Error cases:
diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
index 2934eb7..f585c48 100644
--- a/ext/iconv/config.m4
+++ b/ext/iconv/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.33.2.4.2.1 2007/03/01 11:29:43 tony2001 Exp $
+dnl $Id: config.m4 230984 2007-03-01 11:29:43Z tony2001 $
 dnl
 
 PHP_ARG_WITH(iconv, for iconv support,
diff --git a/ext/iconv/config.w32 b/ext/iconv/config.w32
index 8822ffd..e18c4e8 100644
--- a/ext/iconv/config.w32
+++ b/ext/iconv/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.6 2004/11/23 12:04:07 edink Exp $
+// $Id: config.w32 173363 2004-11-23 12:04:07Z edink $
 // vim: ft=javascript
 
 ARG_WITH("iconv", "iconv support", "yes");
diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c
index a88c3ed..aa4d756 100644
--- a/ext/iconv/iconv.c
+++ b/ext/iconv/iconv.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: iconv.c,v 1.124.2.8.2.24 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: iconv.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/iconv/php_iconv.h b/ext/iconv/php_iconv.h
index ff140fb..406d36a 100644
--- a/ext/iconv/php_iconv.h
+++ b/ext/iconv/php_iconv.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Revision: 1.28.2.2.2.4 $ */
+/* $Revision: 272374 $ */
 
 #ifndef PHP_ICONV_H
 #define PHP_ICONV_H
diff --git a/ext/iconv/tests/bug16069.phpt b/ext/iconv/tests/bug16069.phpt
deleted file mode 100644
index 81fc235..0000000
--- a/ext/iconv/tests/bug16069.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-Bug #16069 (ICONV transliteration failure)
---SKIPIF--
-<?php
-include( 'skipif.inc' );
-if (@iconv('CP932', 'EUC-JP//TRANSLIT', "\x87\x6d")=='') {
-	die("skip  CP932 to EUC-JP translit not available\n");
-}
-?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-/* charset=CP932, KOI8-R */
-$str = "\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d";
-print iconv( "CP932", "EUC-JP//TRANSLIT", $str );
-$str = "(\x9c\xe4\x9c)";
-print iconv( "KOI8-R", "EUC-JP//TRANSLIT", $str );
-?>
---EXPECT--
-¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë¥ß¥ê¥Ð¡¼¥ë(¡ë§¥¡ë)
diff --git a/ext/iconv/tests/iconv_get_encoding_basic.phpt b/ext/iconv/tests/iconv_get_encoding_basic.phpt
new file mode 100644
index 0000000..83efd15
--- /dev/null
+++ b/ext/iconv/tests/iconv_get_encoding_basic.phpt
@@ -0,0 +1,76 @@
+--TEST--
+iconv_get_encoding() parameter tests
+--CREDITS--
+Oystein Rose <orose at redpill-linpro.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php if (!extension_loaded("iconv")) { echo 'skip extension not available'; } ?>
+--FILE--
+<?php
+
+iconv_set_encoding("internal_encoding", "UTF-8");
+iconv_set_encoding("output_encoding",   "UTF-8");
+iconv_set_encoding("input_encoding",    "UTF-8");
+
+var_dump( iconv_get_encoding('internal_encoding') );
+var_dump( iconv_get_encoding('output_encoding')   );
+var_dump( iconv_get_encoding('input_encoding')    );
+var_dump( iconv_get_encoding('all')               );
+var_dump( iconv_get_encoding('foo')               );
+var_dump( iconv_get_encoding()                    );
+
+
+
+iconv_set_encoding("internal_encoding", "ISO-8859-1");
+iconv_set_encoding("output_encoding",   "ISO-8859-1");
+iconv_set_encoding("input_encoding",    "ISO-8859-1");
+
+var_dump( iconv_get_encoding('internal_encoding') );
+var_dump( iconv_get_encoding('output_encoding')   );
+var_dump( iconv_get_encoding('input_encoding')    );
+var_dump( iconv_get_encoding('all')               );
+var_dump( iconv_get_encoding('foo')               );
+var_dump( iconv_get_encoding()                    );
+
+?>
+--EXPECT--
+string(5) "UTF-8"
+string(5) "UTF-8"
+string(5) "UTF-8"
+array(3) {
+  ["input_encoding"]=>
+  string(5) "UTF-8"
+  ["output_encoding"]=>
+  string(5) "UTF-8"
+  ["internal_encoding"]=>
+  string(5) "UTF-8"
+}
+bool(false)
+array(3) {
+  ["input_encoding"]=>
+  string(5) "UTF-8"
+  ["output_encoding"]=>
+  string(5) "UTF-8"
+  ["internal_encoding"]=>
+  string(5) "UTF-8"
+}
+string(10) "ISO-8859-1"
+string(10) "ISO-8859-1"
+string(10) "ISO-8859-1"
+array(3) {
+  ["input_encoding"]=>
+  string(10) "ISO-8859-1"
+  ["output_encoding"]=>
+  string(10) "ISO-8859-1"
+  ["internal_encoding"]=>
+  string(10) "ISO-8859-1"
+}
+bool(false)
+array(3) {
+  ["input_encoding"]=>
+  string(10) "ISO-8859-1"
+  ["output_encoding"]=>
+  string(10) "ISO-8859-1"
+  ["internal_encoding"]=>
+  string(10) "ISO-8859-1"
+}
diff --git a/ext/iconv/tests/iconv_stream_filter_delimiter.phpt b/ext/iconv/tests/iconv_stream_filter_delimiter.phpt
index e28ebab..c3cbdff 100644
--- a/ext/iconv/tests/iconv_stream_filter_delimiter.phpt
+++ b/ext/iconv/tests/iconv_stream_filter_delimiter.phpt
@@ -40,9 +40,11 @@ string(2) "42"
 string(20) "a4b3a4f3a4cba4c1a4cf"
 string(10) "69636f6e76"
 string(2) "0a"
-string(20) "a4b3a4f3a4cba4c1a4cf"
-string(10) "69636f6e76"
-string(2) "0a"
+
+Warning: stream_filter_append(): unable to create or locate filter "convert.iconv.ISO-2022-JP.EUC-JP" in %s/iconv_stream_filter_delimiter.php on line %d
+string(20) "1b244224332473244b24"
+string(10) "41244f1b28"
+string(2) "42"
 
 Warning: stream_filter_append(): unable to create or locate filter "convert.iconv.ISO-2022-JP\0EUC-JP" in %s/iconv_stream_filter_delimiter.php on line %d
 string(20) "1b244224332473244b24"
diff --git a/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt
index 8cf54b7..fd01d83 100755
--- a/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt
@@ -2,6 +2,8 @@
 ob_iconv_handler() charset parameter length checks (CVE-2007-4840)
 --SKIPIF--
 <?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
+--INI--
+memory_limit=256M
 --FILE--
 <?php
 ini_set("iconv.output_encoding", str_repeat("a", 9000000));
diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
index 85dbd0e..9f4fb55 100644
--- a/ext/imap/config.m4
+++ b/ext/imap/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.69.4.8 2008/10/16 16:20:53 dmitry Exp $
+dnl $Id: config.m4 267399 2008-10-16 16:20:53Z dmitry $
 dnl
 
 AC_DEFUN([IMAP_INC_CHK],[if test -r "$i$1/c-client.h"; then
diff --git a/ext/imap/config.w32 b/ext/imap/config.w32
index 92a2218..70155fc 100644
--- a/ext/imap/config.w32
+++ b/ext/imap/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.4.4.4 2009/05/05 13:49:05 pajoye Exp $
+// $Id: config.w32 279968 2009-05-05 13:49:05Z pajoye $
 // vim:ft=javascript
 
 ARG_WITH("imap", "IMAP Support", "no");
diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c
index 718ce20..7feede2 100644
--- a/ext/imap/php_imap.c
+++ b/ext/imap/php_imap.c
@@ -26,7 +26,7 @@
    | PHP 4.0 updates:  Zeev Suraski <zeev at zend.com>                       |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_imap.c,v 1.208.2.7.2.51 2009/04/30 18:55:44 pajoye Exp $ */
+/* $Id: php_imap.c 286732 2009-08-03 13:02:53Z jani $ */
 
 #define IMAP41
 
@@ -221,7 +221,10 @@ static void mail_close_it(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
 	pils *imap_le_struct = (pils *)rsrc->ptr;
 
-	mail_close_full(imap_le_struct->imap_stream, imap_le_struct->flags);
+	/* Do not try to close prototype streams */
+	if (!(imap_le_struct->flags & OP_PROTOTYPE)) {
+		mail_close_full(imap_le_struct->imap_stream, imap_le_struct->flags);
+	}
 
 	if (IMAPG(imap_user)) {
 		efree(IMAPG(imap_user));
@@ -783,6 +786,9 @@ static void php_imap_do_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 			cl_flags = CL_EXPUNGE;
 			flags ^= PHP_EXPUNGE;
 		}
+		if (flags & OP_PROTOTYPE) {
+			cl_flags |= OP_PROTOTYPE;
+		}
 	}
 
 	if (IMAPG(imap_user)) {
@@ -2670,7 +2676,7 @@ PHP_FUNCTION(imap_sort)
 
 	slst = mail_sort(imap_le_struct->imap_stream, (myargc == 6 ? Z_STRVAL_PP(charset) : NIL), spg, mypgm, (myargc >= 4 ? Z_LVAL_PP(flags) : NIL));
 
-	if (spg) {
+	if (spg && myargc >= 4 && !(Z_LVAL_PP(flags) & SE_FREE)) {
 		mail_free_searchpgm(&spg);
 	}
 
@@ -3712,7 +3718,7 @@ PHP_FUNCTION(imap_search)
 
 	mail_search_full(imap_le_struct->imap_stream, (argc == 4 ? Z_STRVAL_PP(charset) : NIL), pgm, flags);
 
-	if (pgm) {
+	if (pgm && !(flags & SE_FREE)) {
 		mail_free_searchpgm(&pgm);
 	}
 
@@ -4341,7 +4347,7 @@ PHP_FUNCTION(imap_thread)
 
 	pgm = mail_criteria(criteria);
 	top = mail_thread(imap_le_struct->imap_stream, "REFERENCES", NIL, pgm, flags);
-	if (pgm) {
+	if (pgm && !(flags & SE_FREE)) {
 		mail_free_searchpgm(&pgm);
 	}
 
diff --git a/ext/imap/php_imap.h b/ext/imap/php_imap.h
index 5a55b41..8dd60f5 100644
--- a/ext/imap/php_imap.h
+++ b/ext/imap/php_imap.h
@@ -27,7 +27,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_imap.h,v 1.32.2.2.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_imap.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_IMAP_H
 #define PHP_IMAP_H
diff --git a/ext/imap/tests/clean.inc b/ext/imap/tests/clean.inc
index 648f3c3..f5e869f 100644
--- a/ext/imap/tests/clean.inc
+++ b/ext/imap/tests/clean.inc
@@ -1,25 +1,25 @@
-<?php
-include_once(dirname(__FILE__) . '/imap_include.inc');
-
-$imap_stream = imap_open($default_mailbox, $username, $password);
-
-// delete all msgs in default mailbox, i.e INBOX
-$check = imap_check($imap_stream);
-for ($i = 1; $i <= $check->Nmsgs; $i++) {
-	imap_delete($imap_stream, $i); 
-}
-
-$mailboxes = imap_getmailboxes($imap_stream, $server, '*');
-
-foreach($mailboxes as $value) {
-	// Only delete mailboxes with our prefix
-	if (preg_match('/\{.*?\}INBOX\.(.+)/', $value->name, $match) == 1) {
-		if (strlen($match[1]) >= strlen($mailbox_prefix) 
-		&& substr_compare($match[1], $mailbox_prefix, 0, strlen($mailbox_prefix)) == 0) {
-			imap_deletemailbox($imap_stream, $value->name);
-		}
-	}	
-}
-
-imap_close($imap_stream, CL_EXPUNGE); 
+<?php
+include_once(dirname(__FILE__) . '/imap_include.inc');
+
+$imap_stream = imap_open($default_mailbox, $username, $password);
+
+// delete all msgs in default mailbox, i.e INBOX
+$check = imap_check($imap_stream);
+for ($i = 1; $i <= $check->Nmsgs; $i++) {
+	imap_delete($imap_stream, $i); 
+}
+
+$mailboxes = imap_getmailboxes($imap_stream, $server, '*');
+
+foreach($mailboxes as $value) {
+	// Only delete mailboxes with our prefix
+	if (preg_match('/\{.*?\}INBOX\.(.+)/', $value->name, $match) == 1) {
+		if (strlen($match[1]) >= strlen($mailbox_prefix) 
+		&& substr_compare($match[1], $mailbox_prefix, 0, strlen($mailbox_prefix)) == 0) {
+			imap_deletemailbox($imap_stream, $value->name);
+		}
+	}	
+}
+
+imap_close($imap_stream, CL_EXPUNGE); 
 ?>
\ No newline at end of file
diff --git a/ext/imap/tests/imap_8bit_basic.phpt b/ext/imap/tests/imap_8bit_basic.phpt
index 48b136d..aaa0591 100644
--- a/ext/imap/tests/imap_8bit_basic.phpt
+++ b/ext/imap/tests/imap_8bit_basic.phpt
@@ -1,33 +1,33 @@
---TEST--
-Test imap_8bit() function : basic functionality 
---SKIPIF--
-<?php
-extension_loaded('imap') or die('skip imap extension not available in this build');
-?>
---FILE--
-<?php
-/* Prototype  : string imap_8bit  ( string $string  )
- * Description: Convert an 8bit string to a quoted-printable string.
- * Source code: ext/imap/php_imap.c
- */
-
-echo "*** Testing imap_8bit() : basic functionality ***\n";
-
-var_dump(imap_8bit("String with CRLF at end \r\n"));
-//NB this appears to be a bug in cclient; a space at end of string should be encoded as =20
-var_dump(imap_8bit("String with space at end "));
-var_dump(imap_8bit("String with tabs \t\t in middle"));
-var_dump(imap_8bit("String with tab at end \t"));
-var_dump(imap_8bit("\x00\x01\x02\x03\x04\xfe\xff\x0a\x0d"));
-
-?>
-===Done===
---EXPECT--
-*** Testing imap_8bit() : basic functionality ***
-string(28) "String with CRLF at end=20
-"
-string(25) "String with space at end "
-string(33) "String with tabs =09=09 in middle"
-string(26) "String with tab at end =09"
-string(27) "=00=01=02=03=04=FE=FF=0A=0D"
-===Done===
+--TEST--
+Test imap_8bit() function : basic functionality 
+--SKIPIF--
+<?php
+extension_loaded('imap') or die('skip imap extension not available in this build');
+?>
+--FILE--
+<?php
+/* Prototype  : string imap_8bit  ( string $string  )
+ * Description: Convert an 8bit string to a quoted-printable string.
+ * Source code: ext/imap/php_imap.c
+ */
+
+echo "*** Testing imap_8bit() : basic functionality ***\n";
+
+var_dump(imap_8bit("String with CRLF at end \r\n"));
+//NB this appears to be a bug in cclient; a space at end of string should be encoded as =20
+var_dump(imap_8bit("String with space at end "));
+var_dump(imap_8bit("String with tabs \t\t in middle"));
+var_dump(imap_8bit("String with tab at end \t"));
+var_dump(imap_8bit("\x00\x01\x02\x03\x04\xfe\xff\x0a\x0d"));
+
+?>
+===Done===
+--EXPECT--
+*** Testing imap_8bit() : basic functionality ***
+string(28) "String with CRLF at end=20
+"
+string(25) "String with space at end "
+string(33) "String with tabs =09=09 in middle"
+string(26) "String with tab at end =09"
+string(27) "=00=01=02=03=04=FE=FF=0A=0D"
+===Done===
diff --git a/ext/imap/tests/imap_append_basic.phpt b/ext/imap/tests/imap_append_basic.phpt
index cd00216..60847ce 100644
--- a/ext/imap/tests/imap_append_basic.phpt
+++ b/ext/imap/tests/imap_append_basic.phpt
@@ -1,72 +1,72 @@
---TEST--
-Test imap_append() function : basic functionality 
---SKIPIF--
-<?php 
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-/* Prototype  : bool imap_append  ( resource $imap_stream  , string $mailbox  , string $message  [, string $options  ] )
- * Description: Append a string message to a specified mailbox.
- * Source code: ext/imap/php_imap.c
- */
-
-echo "*** Testing imap_append() : basic functionality ***\n";
-
-require_once(dirname(__FILE__).'/imap_include.inc');
-
-echo "Create a new mailbox for test\n";
-$imap_stream = setup_test_mailbox("", 0);
-if (!is_resource($imap_stream)) {
-	exit("TEST FAILED: Unable to create test mailbox\n");
-}
-
-$mb_details = imap_mailboxmsginfo($imap_stream);
-echo "Add a couple of msgs to new mailbox " . $mb_details->Mailbox . "\n"; 
-var_dump(imap_append($imap_stream, $mb_details->Mailbox
-                   , "From: webmaster at something.com\r\n"
-                   . "To: info at something.com\r\n"
-                   . "Subject: Test message\r\n"
-                   . "\r\n"
-                   . "this is a test message, please ignore\r\n"
-                   ));
-                   
-var_dump(imap_append($imap_stream, $mb_details->Mailbox
-                   , "From: webmaster at something.com\r\n"
-                   . "To: info at something.com\r\n"
-                   . "Subject: Another test\r\n"
-                   . "\r\n"
-                   . "this is another test message, please ignore it too!!\r\n"
-                   ));     
-                   
-$check = imap_check($imap_stream);
-echo "Msg Count after append : ". $check->Nmsgs . "\n";
-
-echo "List the msg headers\n";
-var_dump(imap_headers($imap_stream));
-
-imap_close($imap_stream);
-?>
-===Done===
---CLEAN--
-<?php 
-require_once('clean.inc');
-?>
---EXPECTF--
-*** Testing imap_append() : basic functionality ***
-Create a new mailbox for test
-Create a temporary mailbox and add 0 msgs
-.. mailbox '%s' created
-Add a couple of msgs to new mailbox {%s}INBOX.%s
-bool(true)
-bool(true)
-Msg Count after append : 2
-List the msg headers
-array(2) {
-  [0]=>
-  string(%d) "%w%s       1)%s webmaster at something. Test message (%d chars)"
-  [1]=>
-  string(%d) "%w%s       2)%s webmaster at something. Another test (%d chars)"
-}
-===Done===
-
+--TEST--
+Test imap_append() function : basic functionality 
+--SKIPIF--
+<?php 
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+/* Prototype  : bool imap_append  ( resource $imap_stream  , string $mailbox  , string $message  [, string $options  ] )
+ * Description: Append a string message to a specified mailbox.
+ * Source code: ext/imap/php_imap.c
+ */
+
+echo "*** Testing imap_append() : basic functionality ***\n";
+
+require_once(dirname(__FILE__).'/imap_include.inc');
+
+echo "Create a new mailbox for test\n";
+$imap_stream = setup_test_mailbox("", 0);
+if (!is_resource($imap_stream)) {
+	exit("TEST FAILED: Unable to create test mailbox\n");
+}
+
+$mb_details = imap_mailboxmsginfo($imap_stream);
+echo "Add a couple of msgs to new mailbox " . $mb_details->Mailbox . "\n"; 
+var_dump(imap_append($imap_stream, $mb_details->Mailbox
+                   , "From: webmaster at something.com\r\n"
+                   . "To: info at something.com\r\n"
+                   . "Subject: Test message\r\n"
+                   . "\r\n"
+                   . "this is a test message, please ignore\r\n"
+                   ));
+                   
+var_dump(imap_append($imap_stream, $mb_details->Mailbox
+                   , "From: webmaster at something.com\r\n"
+                   . "To: info at something.com\r\n"
+                   . "Subject: Another test\r\n"
+                   . "\r\n"
+                   . "this is another test message, please ignore it too!!\r\n"
+                   ));     
+                   
+$check = imap_check($imap_stream);
+echo "Msg Count after append : ". $check->Nmsgs . "\n";
+
+echo "List the msg headers\n";
+var_dump(imap_headers($imap_stream));
+
+imap_close($imap_stream);
+?>
+===Done===
+--CLEAN--
+<?php 
+require_once('clean.inc');
+?>
+--EXPECTF--
+*** Testing imap_append() : basic functionality ***
+Create a new mailbox for test
+Create a temporary mailbox and add 0 msgs
+.. mailbox '%s' created
+Add a couple of msgs to new mailbox {%s}INBOX.%s
+bool(true)
+bool(true)
+Msg Count after append : 2
+List the msg headers
+array(2) {
+  [0]=>
+  string(%d) "%w%s       1)%s webmaster at something. Test message (%d chars)"
+  [1]=>
+  string(%d) "%w%s       2)%s webmaster at something. Another test (%d chars)"
+}
+===Done===
+
diff --git a/ext/imap/tests/imap_base64_basic.phpt b/ext/imap/tests/imap_base64_basic.phpt
index 3d1b6c2..a64be27 100644
--- a/ext/imap/tests/imap_base64_basic.phpt
+++ b/ext/imap/tests/imap_base64_basic.phpt
@@ -1,47 +1,47 @@
---TEST--
-Test imap_base64() function : basic functionality 
---SKIPIF--
-<?php
-extension_loaded('imap') or die('skip imap extension not available in this build');
-?>
---FILE--
-<?php
-/* Prototype  : string imap_base64  ( string $text  )
- * Description: Decode BASE64 encoded text.
- * Source code: ext/imap/php_imap.c
- */
-
-echo "*** Testing imap_base64() : basic functionality ***\n";
-
-$str = b'This is an example string to be base 64 encoded';
-$base64 = base64_encode($str);
-if (imap_base64($base64) == $str) {
-	echo "TEST PASSED\n";
-} else {
-	echo "TEST FAILED";
-}
-
+--TEST--
+Test imap_base64() function : basic functionality 
+--SKIPIF--
+<?php
+extension_loaded('imap') or die('skip imap extension not available in this build');
+?>
+--FILE--
+<?php
+/* Prototype  : string imap_base64  ( string $text  )
+ * Description: Decode BASE64 encoded text.
+ * Source code: ext/imap/php_imap.c
+ */
+
+echo "*** Testing imap_base64() : basic functionality ***\n";
+
+$str = b'This is an example string to be base 64 encoded';
+$base64 = base64_encode($str);
+if (imap_base64($base64) == $str) {
+	echo "TEST PASSED\n";
+} else {
+	echo "TEST FAILED";
+}
+
 $str = b'!£$%^&*()_+-={][];;@~#?/>.<,';
-$base64 = base64_encode($str);
-if (imap_base64($base64) == $str) {
-	echo "TEST PASSED\n";
-} else {
-	echo "TEST FAILED";
-}
-
-$hex = b'x00\x01\x02\x03\x04\x05\x06\xFA\xFB\xFC\xFD\xFE\xFF';
-$base64 = base64_encode($hex);
-if (imap_base64($base64) == $hex) {
-	echo "TEST PASSED\n";
-} else {
-	echo "TEST FAILED";
-}		
-
-?>
-===Done===
---EXPECT--
-*** Testing imap_base64() : basic functionality ***
-TEST PASSED
-TEST PASSED
-TEST PASSED
+$base64 = base64_encode($str);
+if (imap_base64($base64) == $str) {
+	echo "TEST PASSED\n";
+} else {
+	echo "TEST FAILED";
+}
+
+$hex = b'x00\x01\x02\x03\x04\x05\x06\xFA\xFB\xFC\xFD\xFE\xFF';
+$base64 = base64_encode($hex);
+if (imap_base64($base64) == $hex) {
+	echo "TEST PASSED\n";
+} else {
+	echo "TEST FAILED";
+}		
+
+?>
+===Done===
+--EXPECT--
+*** Testing imap_base64() : basic functionality ***
+TEST PASSED
+TEST PASSED
+TEST PASSED
 ===Done===
diff --git a/ext/imap/tests/imap_body.phpt b/ext/imap/tests/imap_body.phpt
index 0a882b5..f21ac25 100644
--- a/ext/imap/tests/imap_body.phpt
+++ b/ext/imap/tests/imap_body.phpt
@@ -1,27 +1,27 @@
---TEST--
-imap_body() incorrect parameter count
---CREDITS--
-Paul Sohier
-#phptestfest utrecht
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-echo "Checking with no parameters\n";
-imap_body();
-
-echo  "Checking with incorrect parameter type\n";
-imap_body('');
-imap_body(false);
-?>
---EXPECTF--
-Checking with no parameters
-
-Warning: Wrong parameter count for imap_body() in %s on line %d
-Checking with incorrect parameter type
-
-Warning: Wrong parameter count for imap_body() in %s on line %d
-
-Warning: Wrong parameter count for imap_body() in %s on line %d
+--TEST--
+imap_body() incorrect parameter count
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+echo "Checking with no parameters\n";
+imap_body();
+
+echo  "Checking with incorrect parameter type\n";
+imap_body('');
+imap_body(false);
+?>
+--EXPECTF--
+Checking with no parameters
+
+Warning: Wrong parameter count for imap_body() in %s on line %d
+Checking with incorrect parameter type
+
+Warning: Wrong parameter count for imap_body() in %s on line %d
+
+Warning: Wrong parameter count for imap_body() in %s on line %d
diff --git a/ext/imap/tests/imap_body_basic.phpt b/ext/imap/tests/imap_body_basic.phpt
index deda63a..7cd5181 100644
--- a/ext/imap/tests/imap_body_basic.phpt
+++ b/ext/imap/tests/imap_body_basic.phpt
@@ -1,44 +1,44 @@
---TEST--
-Test imap_body() function : basic functionality 
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-/* Prototype  : string imap_body  ( resource $imap_stream  , int $msg_number  [, int $options  ] )
- * Description: Read the message body.
- * Source code: ext/imap/php_imap.c
- */
-
-echo "*** Testing imap_body() : basic functionality ***\n";
-
-require_once(dirname(__FILE__).'/imap_include.inc');
-
-echo "Create a new mailbox for test\n";
-$imap_stream = setup_test_mailbox("", 1);
-if (!is_resource($imap_stream)) {
-	exit("TEST FAILED: Unable to create test mailbox\n");
-}
-
-$check = imap_check($imap_stream);
-echo "Msg Count in new mailbox: ". $check->Nmsgs . "\n";    
-    
-// show body for msg 1
-var_dump(imap_body($imap_stream, 1));
-
-imap_close($imap_stream);
-?>
-===Done===
---CLEAN--
-<?php 
-require_once('clean.inc');
-?>
---EXPECTF--
-*** Testing imap_body() : basic functionality ***
-Create a new mailbox for test
-Create a temporary mailbox and add 1 msgs
-.. mailbox '%s' created
-Msg Count in new mailbox: 1
-string(%d) "1: this is a test message, please ignore%a"
+--TEST--
+Test imap_body() function : basic functionality 
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+/* Prototype  : string imap_body  ( resource $imap_stream  , int $msg_number  [, int $options  ] )
+ * Description: Read the message body.
+ * Source code: ext/imap/php_imap.c
+ */
+
+echo "*** Testing imap_body() : basic functionality ***\n";
+
+require_once(dirname(__FILE__).'/imap_include.inc');
+
+echo "Create a new mailbox for test\n";
+$imap_stream = setup_test_mailbox("", 1);
+if (!is_resource($imap_stream)) {
+	exit("TEST FAILED: Unable to create test mailbox\n");
+}
+
+$check = imap_check($imap_stream);
+echo "Msg Count in new mailbox: ". $check->Nmsgs . "\n";    
+    
+// show body for msg 1
+var_dump(imap_body($imap_stream, 1));
+
+imap_close($imap_stream);
+?>
+===Done===
+--CLEAN--
+<?php 
+require_once('clean.inc');
+?>
+--EXPECTF--
+*** Testing imap_body() : basic functionality ***
+Create a new mailbox for test
+Create a temporary mailbox and add 1 msgs
+.. mailbox '%s' created
+Msg Count in new mailbox: 1
+string(%d) "1: this is a test message, please ignore%a"
 ===Done===
\ No newline at end of file
diff --git a/ext/imap/tests/imap_clearflag_full_basic.phpt b/ext/imap/tests/imap_clearflag_full_basic.phpt
index 3e52b5d..fb7465d 100644
--- a/ext/imap/tests/imap_clearflag_full_basic.phpt
+++ b/ext/imap/tests/imap_clearflag_full_basic.phpt
@@ -1,127 +1,127 @@
---TEST--
-Test imap_clearflag_full() function : basic functionality 
---SKIPIF--
-<?php 
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-/* Prototype  : bool imap_clearflag_full  ( resource $imap_stream  , string $sequence  , string $flag  [, string $options  ] )
- * Description: Clears flags on messages.
- * Source code: ext/imap/php_imap.c
- */
-
-echo "*** Testing imap_clearflag_full() : basic functionality ***\n";
-
-require_once(dirname(__FILE__).'/imap_include.inc');
-
-echo "Create a new mailbox for test\n";
-$imap_stream = setup_test_mailbox("", 10);
-if (!is_resource($imap_stream)) {
-	exit("TEST FAILED: Unable to create test mailbox\n");
-}
-
-$check = imap_check($imap_stream);
-echo "Initial msg count in new_mailbox : ". $check->Nmsgs . "\n";
-
-echo "Set some flags\n"; 
-var_dump(imap_setflag_full($imap_stream, "1,3", "\\Seen \\Answered"));
-var_dump(imap_setflag_full($imap_stream, "2,4", "\\Answered"));
-var_dump(imap_setflag_full($imap_stream, "5,7", "\\Flagged \\Deleted"));
-var_dump(imap_setflag_full($imap_stream, "6,8", "\\Deleted"));
-var_dump(imap_setflag_full($imap_stream, "9,10", "\\Draft \\Flagged"));
-
-var_dump(imap_search($imap_stream, "SEEN"));
-var_dump(imap_search($imap_stream, "ANSWERED"));
-var_dump(imap_search($imap_stream, "FLAGGED"));
-var_dump(imap_search($imap_stream, "DELETED"));
-
-var_dump(imap_clearflag_full($imap_stream, "1,4", "\\Answered"));
-var_dump(imap_clearflag_full($imap_stream, "5,6,7,8", "\\Deleted"));
-var_dump(imap_clearflag_full($imap_stream, "9", "\\Flagged"));
-
-var_dump(imap_search($imap_stream, "SEEN"));
-var_dump(imap_search($imap_stream, "ANSWERED"));
-var_dump(imap_search($imap_stream, "FLAGGED"));
-var_dump(imap_search($imap_stream, "DELETED"));
-
-imap_close($imap_stream);
-?>
-===Done===
---CLEAN--
-<?php 
-require_once('clean.inc');
-?>
---EXPECTF--
-*** Testing imap_clearflag_full() : basic functionality ***
-Create a new mailbox for test
-Create a temporary mailbox and add 10 msgs
-.. mailbox '{localhost/norsh}INBOX.%s' created
-Initial msg count in new_mailbox : 10
-Set some flags
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-array(2) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(3)
-}
-array(4) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-  [2]=>
-  int(3)
-  [3]=>
-  int(4)
-}
-array(4) {
-  [0]=>
-  int(5)
-  [1]=>
-  int(7)
-  [2]=>
-  int(9)
-  [3]=>
-  int(10)
-}
-array(4) {
-  [0]=>
-  int(5)
-  [1]=>
-  int(6)
-  [2]=>
-  int(7)
-  [3]=>
-  int(8)
-}
-bool(true)
-bool(true)
-bool(true)
-array(2) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(3)
-}
-array(2) {
-  [0]=>
-  int(2)
-  [1]=>
-  int(3)
-}
-array(3) {
-  [0]=>
-  int(5)
-  [1]=>
-  int(7)
-  [2]=>
-  int(10)
-}
-bool(false)
-===Done===
+--TEST--
+Test imap_clearflag_full() function : basic functionality 
+--SKIPIF--
+<?php 
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+/* Prototype  : bool imap_clearflag_full  ( resource $imap_stream  , string $sequence  , string $flag  [, string $options  ] )
+ * Description: Clears flags on messages.
+ * Source code: ext/imap/php_imap.c
+ */
+
+echo "*** Testing imap_clearflag_full() : basic functionality ***\n";
+
+require_once(dirname(__FILE__).'/imap_include.inc');
+
+echo "Create a new mailbox for test\n";
+$imap_stream = setup_test_mailbox("", 10);
+if (!is_resource($imap_stream)) {
+	exit("TEST FAILED: Unable to create test mailbox\n");
+}
+
+$check = imap_check($imap_stream);
+echo "Initial msg count in new_mailbox : ". $check->Nmsgs . "\n";
+
+echo "Set some flags\n"; 
+var_dump(imap_setflag_full($imap_stream, "1,3", "\\Seen \\Answered"));
+var_dump(imap_setflag_full($imap_stream, "2,4", "\\Answered"));
+var_dump(imap_setflag_full($imap_stream, "5,7", "\\Flagged \\Deleted"));
+var_dump(imap_setflag_full($imap_stream, "6,8", "\\Deleted"));
+var_dump(imap_setflag_full($imap_stream, "9,10", "\\Draft \\Flagged"));
+
+var_dump(imap_search($imap_stream, "SEEN"));
+var_dump(imap_search($imap_stream, "ANSWERED"));
+var_dump(imap_search($imap_stream, "FLAGGED"));
+var_dump(imap_search($imap_stream, "DELETED"));
+
+var_dump(imap_clearflag_full($imap_stream, "1,4", "\\Answered"));
+var_dump(imap_clearflag_full($imap_stream, "5,6,7,8", "\\Deleted"));
+var_dump(imap_clearflag_full($imap_stream, "9", "\\Flagged"));
+
+var_dump(imap_search($imap_stream, "SEEN"));
+var_dump(imap_search($imap_stream, "ANSWERED"));
+var_dump(imap_search($imap_stream, "FLAGGED"));
+var_dump(imap_search($imap_stream, "DELETED"));
+
+imap_close($imap_stream);
+?>
+===Done===
+--CLEAN--
+<?php 
+require_once('clean.inc');
+?>
+--EXPECTF--
+*** Testing imap_clearflag_full() : basic functionality ***
+Create a new mailbox for test
+Create a temporary mailbox and add 10 msgs
+.. mailbox '{localhost/norsh}INBOX.%s' created
+Initial msg count in new_mailbox : 10
+Set some flags
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+array(2) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(3)
+}
+array(4) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+  [2]=>
+  int(3)
+  [3]=>
+  int(4)
+}
+array(4) {
+  [0]=>
+  int(5)
+  [1]=>
+  int(7)
+  [2]=>
+  int(9)
+  [3]=>
+  int(10)
+}
+array(4) {
+  [0]=>
+  int(5)
+  [1]=>
+  int(6)
+  [2]=>
+  int(7)
+  [3]=>
+  int(8)
+}
+bool(true)
+bool(true)
+bool(true)
+array(2) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(3)
+}
+array(2) {
+  [0]=>
+  int(2)
+  [1]=>
+  int(3)
+}
+array(3) {
+  [0]=>
+  int(5)
+  [1]=>
+  int(7)
+  [2]=>
+  int(10)
+}
+bool(false)
+===Done===
diff --git a/ext/imap/tests/imap_close_basic.phpt b/ext/imap/tests/imap_close_basic.phpt
index 5ec6a33..a998530 100644
--- a/ext/imap/tests/imap_close_basic.phpt
+++ b/ext/imap/tests/imap_close_basic.phpt
@@ -1,8 +1,8 @@
 --TEST--
-Test imap_close() function : basic functionality
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
+Test imap_close() function : basic functionality
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
 ?>
 --FILE--
 <?php
@@ -13,44 +13,44 @@ require_once(dirname(__FILE__).'/skipif.inc');
 
 echo "*** Testing imap_close() : basic functionality ***\n";
 
-// include file for required variables in imap_open()
-require_once(dirname(__FILE__).'/imap_include.inc');
-
+// include file for required variables in imap_open()
+require_once(dirname(__FILE__).'/imap_include.inc');
+
 // Initialize required variables
-$stream_id = setup_test_mailbox('', 3, $mailbox); // set up temp mailbox with 3 messages
-$options = CL_EXPUNGE;
-
-// mark messages in inbox for deletion
-for ($i = 1; $i < 4; $i++) {
-	imap_delete($stream_id, $i);
-}
-
-// Calling imap_close() with all possible arguments
+$stream_id = setup_test_mailbox('', 3, $mailbox); // set up temp mailbox with 3 messages
+$options = CL_EXPUNGE;
+
+// mark messages in inbox for deletion
+for ($i = 1; $i < 4; $i++) {
+	imap_delete($stream_id, $i);
+}
+
+// Calling imap_close() with all possible arguments
 echo "\n-- Call to imap_close() with all possible arguments --\n";
-var_dump( imap_close($stream_id, $options) );
-
-// check that CL_EXPUNGE worked
-$stream_id = imap_open($mailbox, $username, $password);
-echo "There are now " . imap_num_msg($stream_id) . " msgs in mailbox '$mailbox'\n";
+var_dump( imap_close($stream_id, $options) );
+
+// check that CL_EXPUNGE worked
+$stream_id = imap_open($mailbox, $username, $password);
+echo "There are now " . imap_num_msg($stream_id) . " msgs in mailbox '$mailbox'\n";
 
-// Calling imap_close() with mandatory arguments
+// Calling imap_close() with mandatory arguments
 echo "\n-- Call to imap_close() with mandatory arguments --\n";
 var_dump( imap_close($stream_id) );
-?>
-===DONE===
---CLEAN--
-<?php
-require_once(dirname(__FILE__).'/clean.inc');
 ?>
---EXPECTF--
-*** Testing imap_close() : basic functionality ***
-Create a temporary mailbox and add 3 msgs
-.. mailbox '%sINBOX.phpttest' created
-
--- Call to imap_close() with all possible arguments --
-bool(true)
-There are now 0 msgs in mailbox '%sINBOX.phpttest'
-
--- Call to imap_close() with mandatory arguments --
-bool(true)
-===DONE===
+===DONE===
+--CLEAN--
+<?php
+require_once(dirname(__FILE__).'/clean.inc');
+?>
+--EXPECTF--
+*** Testing imap_close() : basic functionality ***
+Create a temporary mailbox and add 3 msgs
+.. mailbox '%sINBOX.phpttest' created
+
+-- Call to imap_close() with all possible arguments --
+bool(true)
+There are now 0 msgs in mailbox '%sINBOX.phpttest'
+
+-- Call to imap_close() with mandatory arguments --
+bool(true)
+===DONE===
diff --git a/ext/imap/tests/imap_close_error.phpt b/ext/imap/tests/imap_close_error.phpt
index 2fbe0ec..fee37ba 100644
--- a/ext/imap/tests/imap_close_error.phpt
+++ b/ext/imap/tests/imap_close_error.phpt
@@ -1,8 +1,8 @@
 --TEST--
-Test imap_close() function : error conditions - incorrect number of args
---SKIPIF--
-<?php
-require_once (dirname(__FILE__).'/skipif.inc');
+Test imap_close() function : error conditions - incorrect number of args
+--SKIPIF--
+<?php
+require_once (dirname(__FILE__).'/skipif.inc');
 ?>
 --FILE--
 <?php
@@ -16,7 +16,7 @@ require_once (dirname(__FILE__).'/skipif.inc');
  */
 
 echo "*** Testing imap_close() : error conditions ***\n";
-require_once(dirname(__FILE__).'/imap_include.inc');
+require_once(dirname(__FILE__).'/imap_include.inc');
 
 // Zero arguments
 echo "\n-- Testing imap_close() function with Zero arguments --\n";
@@ -28,18 +28,18 @@ $stream_id = imap_open($server, $username, $password);
 $options = CL_EXPUNGE;
 $extra_arg = 10;
 var_dump( imap_close($stream_id, $options, $extra_arg) );
-?>
+?>
 ===DONE===
 --EXPECTF--
-*** Testing imap_close() : error conditions ***
-
--- Testing imap_close() function with Zero arguments --
-
-Warning: Wrong parameter count for imap_close() in %s on line %d
-NULL
-
--- Testing imap_close() function with more than expected no. of arguments --
-
-Warning: Wrong parameter count for imap_close() in %s on line %d
-NULL
+*** Testing imap_close() : error conditions ***
+
+-- Testing imap_close() function with Zero arguments --
+
+Warning: Wrong parameter count for imap_close() in %s on line %d
+NULL
+
+-- Testing imap_close() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for imap_close() in %s on line %d
+NULL
 ===DONE===
diff --git a/ext/imap/tests/imap_close_variation1.phpt b/ext/imap/tests/imap_close_variation1.phpt
index e5ffa2e..9f3fd48 100644
--- a/ext/imap/tests/imap_close_variation1.phpt
+++ b/ext/imap/tests/imap_close_variation1.phpt
@@ -1,8 +1,8 @@
 --TEST--
-Test imap_close() function : usage variations - different data types as $stream_id arg
---SKIPIF--
-<?php
-extension_loaded('imap') or die('skip imap extension not available in this build');
+Test imap_close() function : usage variations - different data types as $stream_id arg
+--SKIPIF--
+<?php
+extension_loaded('imap') or die('skip imap extension not available in this build');
 ?>
 --FILE--
 <?php
@@ -17,198 +17,198 @@ extension_loaded('imap') or die('skip imap extension not available in this build
 
 echo "*** Testing imap_close() : usage variations ***\n";
 
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// get a class
-class classA
-{
-  public function __toString() {
-    return "Class A object";
-  }
-}
-
-// heredoc string
-$heredoc = <<<EOT
-hello world
-EOT;
-
-// unexpected values to be passed to $stream_id argument
-$inputs = array(
-
-       // int data
-/*1*/  0,
-       1,
-       12345,
-       -2345,
-
-       // float data
-/*5*/  10.5,
-       -10.5,
-       12.3456789000e10,
-       12.3456789000E-10,
-       .5,
-
-       // null data
-/*10*/ NULL,
-       null,
-
-       // boolean data
-/*12*/ true,
-       false,
-       TRUE,
-       FALSE,
-       
-       // empty data
-/*16*/ "",
-       '',
-       array(),
-
-       // string data
-/*19*/ "string",
-       'string',
-       $heredoc,
-       
-       // object data
-/*22*/ new classA(),
-
-       // undefined data
-/*23*/ @$undefined_var,
-
-       // unset data
-/*24*/ @$unset_var,
-);
-
-// loop through each element of $inputs to check the behavior of imap_close()
-$iterator = 1;
-foreach($inputs as $input) {
-  echo "\n-- Iteration $iterator --\n";
-  var_dump( imap_close($input) );
-  $iterator++;
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// get a class
+class classA
+{
+  public function __toString() {
+    return "Class A object";
+  }
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// unexpected values to be passed to $stream_id argument
+$inputs = array(
+
+       // int data
+/*1*/  0,
+       1,
+       12345,
+       -2345,
+
+       // float data
+/*5*/  10.5,
+       -10.5,
+       12.3456789000e10,
+       12.3456789000E-10,
+       .5,
+
+       // null data
+/*10*/ NULL,
+       null,
+
+       // boolean data
+/*12*/ true,
+       false,
+       TRUE,
+       FALSE,
+       
+       // empty data
+/*16*/ "",
+       '',
+       array(),
+
+       // string data
+/*19*/ "string",
+       'string',
+       $heredoc,
+       
+       // object data
+/*22*/ new classA(),
+
+       // undefined data
+/*23*/ @$undefined_var,
+
+       // unset data
+/*24*/ @$unset_var,
+);
+
+// loop through each element of $inputs to check the behavior of imap_close()
+$iterator = 1;
+foreach($inputs as $input) {
+  echo "\n-- Iteration $iterator --\n";
+  var_dump( imap_close($input) );
+  $iterator++;
 };
-?>
+?>
 ===DONE===
 --EXPECTF--
-*** Testing imap_close() : usage variations ***
-
--- Iteration 1 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 2 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 3 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 4 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 5 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 6 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 7 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 8 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 9 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 10 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 11 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 12 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 13 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 14 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 15 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 16 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 17 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 18 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 19 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 20 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 21 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 22 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 23 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 24 --
-
-Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
+*** Testing imap_close() : usage variations ***
+
+-- Iteration 1 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 2 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 3 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 4 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 5 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 6 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 7 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 8 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 9 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 10 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 11 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 12 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 13 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 14 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 15 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 16 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 17 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 18 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 19 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 20 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 21 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 22 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 23 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 24 --
+
+Warning: imap_close(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
 ===DONE===
diff --git a/ext/imap/tests/imap_close_variation3.phpt b/ext/imap/tests/imap_close_variation3.phpt
index 5f2790b..6f6161a 100644
--- a/ext/imap/tests/imap_close_variation3.phpt
+++ b/ext/imap/tests/imap_close_variation3.phpt
@@ -1,8 +1,8 @@
 --TEST--
-Test imap_close() function : usage variations - different streams
---SKIPIF--
-<?php
-extension_loaded('imap') or die('skip imap extension not available in this build');
+Test imap_close() function : usage variations - different streams
+--SKIPIF--
+<?php
+extension_loaded('imap') or die('skip imap extension not available in this build');
 ?>
 --FILE--
 <?php
@@ -16,32 +16,32 @@ extension_loaded('imap') or die('skip imap extension not available in this build
  */
 
 echo "*** Testing imap_close() : usage variations ***\n";
-
+
 echo "\n-- File Resource opened with fopen() --\n";
-var_dump($file_handle = fopen(__FILE__, 'r'));
-var_dump(imap_close($file_handle));
-var_dump($file_handle);
-
-echo "\n-- Directory Resource opened with opendir() --\n";
-var_dump($dir_handle = opendir(dirname(__FILE__)));
-var_dump(imap_close($dir_handle));
+var_dump($file_handle = fopen(__FILE__, 'r'));
+var_dump(imap_close($file_handle));
+var_dump($file_handle);
+
+echo "\n-- Directory Resource opened with opendir() --\n";
+var_dump($dir_handle = opendir(dirname(__FILE__)));
+var_dump(imap_close($dir_handle));
 var_dump($dir_handle);
-?>
+?>
 ===DONE===
 --EXPECTF--
-*** Testing imap_close() : usage variations ***
-
--- File Resource opened with fopen() --
-resource(%d) of type (stream)
-
-Warning: imap_close(): supplied resource is not a valid imap resource in %s on line %d
-bool(false)
-resource(%d) of type (stream)
-
--- Directory Resource opened with opendir() --
-resource(%d) of type (stream)
-
-Warning: imap_close(): supplied resource is not a valid imap resource in %s on line %d
-bool(false)
-resource(%d) of type (stream)
+*** Testing imap_close() : usage variations ***
+
+-- File Resource opened with fopen() --
+resource(%d) of type (stream)
+
+Warning: imap_close(): supplied resource is not a valid imap resource in %s on line %d
+bool(false)
+resource(%d) of type (stream)
+
+-- Directory Resource opened with opendir() --
+resource(%d) of type (stream)
+
+Warning: imap_close(): supplied resource is not a valid imap resource in %s on line %d
+bool(false)
+resource(%d) of type (stream)
 ===DONE===
diff --git a/ext/imap/tests/imap_createmailbox_basic.phpt b/ext/imap/tests/imap_createmailbox_basic.phpt
index e80c87d..431d59f 100644
--- a/ext/imap/tests/imap_createmailbox_basic.phpt
+++ b/ext/imap/tests/imap_createmailbox_basic.phpt
@@ -1,69 +1,69 @@
---TEST--
-Test imap_createmailbox() function : basic functionality 
---SKIPIF--
-<?php 
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-/* Prototype  : bool imap_createmailbox  ( resource $imap_stream  , string $mailbox  )
- * Description: Creates a new mailbox specified by mailbox .
- * Source code: ext/imap/php_imap.c
- */
-
-echo "*** Testing imap_createmailbox() : basic functionality ***\n";
-
-require_once(dirname(__FILE__).'/imap_include.inc');
-
-$imap_stream = imap_open($default_mailbox, $username, $password) or 
-	die("Cannot connect to mailbox $default_mailbox: " . imap_last_error());
-
-$newname = "phpnewbox";
-
-echo "Newname will be '$newname'\n";
-
-$newbox = imap_utf7_encode($server.$newname);
-if (imap_createmailbox($imap_stream, $newbox)) {
-
-	echo "Add a couple of msgs to '$newname' mailbox\n"; 
-	populate_mailbox($imap_stream, $newbox, 2);	
-
-    $status = imap_status($imap_stream, $newbox, SA_ALL);
-    if ($status) {
-        echo "Your new mailbox '$newname' has the following status:\n";
-        echo "Messages:    " . $status->messages    . "\n";
-        echo "Recent:      " . $status->recent      . "\n";
-        echo "Unseen:      " . $status->unseen      . "\n";
-        echo "UIDnext:     " . $status->uidnext     . "\n";
-        echo "UIDvalidity: " . $status->uidvalidity . "\n";
-       
-    } else {
-        echo "imap_status on new mailbox failed: " . imap_last_error() . "\n";
-    }
-
-    if (imap_deletemailbox($imap_stream, $newbox)) {
-        echo "Mailbox '$newname' removed to restore initial state\n";
-    } else {
-        echo "imap_deletemailbox on new mailbox failed: " . implode("\n", imap_errors()) . "\n";
-    }
-
-} else {
-    echo "could not create new mailbox: " . implode("\n", imap_errors()) . "\n";
-}
-
-imap_close($imap_stream);
-
-?>
-===Done===
---EXPECTF--
-*** Testing imap_createmailbox() : basic functionality ***
-Newname will be 'phpnewbox'
-Add a couple of msgs to 'phpnewbox' mailbox
-Your new mailbox 'phpnewbox' has the following status:
-Messages:    2
-Recent:      2
-Unseen:      2
-UIDnext:     %d
-UIDvalidity: %d
-Mailbox 'phpnewbox' removed to restore initial state
+--TEST--
+Test imap_createmailbox() function : basic functionality 
+--SKIPIF--
+<?php 
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+/* Prototype  : bool imap_createmailbox  ( resource $imap_stream  , string $mailbox  )
+ * Description: Creates a new mailbox specified by mailbox .
+ * Source code: ext/imap/php_imap.c
+ */
+
+echo "*** Testing imap_createmailbox() : basic functionality ***\n";
+
+require_once(dirname(__FILE__).'/imap_include.inc');
+
+$imap_stream = imap_open($default_mailbox, $username, $password) or 
+	die("Cannot connect to mailbox $default_mailbox: " . imap_last_error());
+
+$newname = "phpnewbox";
+
+echo "Newname will be '$newname'\n";
+
+$newbox = imap_utf7_encode($server.$newname);
+if (imap_createmailbox($imap_stream, $newbox)) {
+
+	echo "Add a couple of msgs to '$newname' mailbox\n"; 
+	populate_mailbox($imap_stream, $newbox, 2);	
+
+    $status = imap_status($imap_stream, $newbox, SA_ALL);
+    if ($status) {
+        echo "Your new mailbox '$newname' has the following status:\n";
+        echo "Messages:    " . $status->messages    . "\n";
+        echo "Recent:      " . $status->recent      . "\n";
+        echo "Unseen:      " . $status->unseen      . "\n";
+        echo "UIDnext:     " . $status->uidnext     . "\n";
+        echo "UIDvalidity: " . $status->uidvalidity . "\n";
+       
+    } else {
+        echo "imap_status on new mailbox failed: " . imap_last_error() . "\n";
+    }
+
+    if (imap_deletemailbox($imap_stream, $newbox)) {
+        echo "Mailbox '$newname' removed to restore initial state\n";
+    } else {
+        echo "imap_deletemailbox on new mailbox failed: " . implode("\n", imap_errors()) . "\n";
+    }
+
+} else {
+    echo "could not create new mailbox: " . implode("\n", imap_errors()) . "\n";
+}
+
+imap_close($imap_stream);
+
+?>
+===Done===
+--EXPECTF--
+*** Testing imap_createmailbox() : basic functionality ***
+Newname will be 'phpnewbox'
+Add a couple of msgs to 'phpnewbox' mailbox
+Your new mailbox 'phpnewbox' has the following status:
+Messages:    2
+Recent:      2
+Unseen:      2
+UIDnext:     %d
+UIDvalidity: %d
+Mailbox 'phpnewbox' removed to restore initial state
 ===Done===
diff --git a/ext/imap/tests/imap_errors_basic.phpt b/ext/imap/tests/imap_errors_basic.phpt
index f839fe1..9d2ca30 100644
--- a/ext/imap/tests/imap_errors_basic.phpt
+++ b/ext/imap/tests/imap_errors_basic.phpt
@@ -1,55 +1,55 @@
---TEST--
-Test imap_errors() function : basic functionality 
---SKIPIF--
-<?php 
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-/* Prototype  : array imap_errors  ( void  )
- * Description: Returns all of the IMAP errors that have occured.
- * Source code: ext/imap/php_imap.c
- */
-
-echo "*** Testing imap_errors() : basic functionality ***\n";
-require_once(dirname(__FILE__).'/imap_include.inc');
-$password = "bogus"; // invalid password to use in this test 
-
-echo "Issue open with invalid password with normal default number of retries, i.e 3\n";
-$mbox = imap_open($default_mailbox, $username, $password, OP_READONLY, 3);
-
-echo "List any errors\n";
-var_dump(imap_errors()); 
-
-echo "\n\nIssue open with invalid password with retries == 1\n";
-$mbox = imap_open($default_mailbox, $username, $password, OP_READONLY, 1);
-
-echo "List any errors\n";
-var_dump(imap_errors()); 
-?>
-===Done===
---EXPECTF--
-*** Testing imap_errors() : basic functionality ***
-Issue open with invalid password with normal default number of retries, i.e 3
-
-Warning: imap_open(): Couldn't open stream %s in %s on line %d
-List any errors
-array(%d) {
-  [0]=>
-  string(%d) "%s"
-  [1]=>
-  string(%d) "%s"
-  [2]=>
+--TEST--
+Test imap_errors() function : basic functionality 
+--SKIPIF--
+<?php 
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+/* Prototype  : array imap_errors  ( void  )
+ * Description: Returns all of the IMAP errors that have occured.
+ * Source code: ext/imap/php_imap.c
+ */
+
+echo "*** Testing imap_errors() : basic functionality ***\n";
+require_once(dirname(__FILE__).'/imap_include.inc');
+$password = "bogus"; // invalid password to use in this test 
+
+echo "Issue open with invalid password with normal default number of retries, i.e 3\n";
+$mbox = imap_open($default_mailbox, $username, $password, OP_READONLY, 3);
+
+echo "List any errors\n";
+var_dump(imap_errors()); 
+
+echo "\n\nIssue open with invalid password with retries == 1\n";
+$mbox = imap_open($default_mailbox, $username, $password, OP_READONLY, 1);
+
+echo "List any errors\n";
+var_dump(imap_errors()); 
+?>
+===Done===
+--EXPECTF--
+*** Testing imap_errors() : basic functionality ***
+Issue open with invalid password with normal default number of retries, i.e 3
+
+Warning: imap_open(): Couldn't open stream %s in %s on line %d
+List any errors
+array(%d) {
+  [0]=>
+  string(%d) "%s"
+  [1]=>
+  string(%d) "%s"
+  [2]=>
   string(%d) "%a
-}
-
-
-Issue open with invalid password with retries == 1
-
-Warning: imap_open(): Couldn't open stream %s in %s on line %d
-List any errors
-array(%d) {
-  [0]=>
+}
+
+
+Issue open with invalid password with retries == 1
+
+Warning: imap_open(): Couldn't open stream %s in %s on line %d
+List any errors
+array(%d) {
+  [0]=>
   string(%d) "%a
-}
-===Done===
+}
+===Done===
diff --git a/ext/imap/tests/imap_expunge_error.phpt b/ext/imap/tests/imap_expunge_error.phpt
index e34dcf2..fe51762 100644
--- a/ext/imap/tests/imap_expunge_error.phpt
+++ b/ext/imap/tests/imap_expunge_error.phpt
@@ -1,27 +1,27 @@
---TEST--
-imap_num_recent() incorrect parameter count
---CREDITS--
-Paul Sohier
-#phptestfest utrecht
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-echo "Checking with no parameters\n";
-imap_num_recent();
-
-echo  "Checking with incorrect parameter type\n";
-imap_num_recent('');
-imap_num_recent(false);
-?>
---EXPECTF--
-Checking with no parameters
-
-Warning: Wrong parameter count for imap_num_recent() in %s on line %d
-Checking with incorrect parameter type
-
-Warning: imap_num_recent(): supplied argument is not a valid imap resource in %s on line %d
-
-Warning: imap_num_recent(): supplied argument is not a valid imap resource in %s on line %d
+--TEST--
+imap_num_recent() incorrect parameter count
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+echo "Checking with no parameters\n";
+imap_num_recent();
+
+echo  "Checking with incorrect parameter type\n";
+imap_num_recent('');
+imap_num_recent(false);
+?>
+--EXPECTF--
+Checking with no parameters
+
+Warning: Wrong parameter count for imap_num_recent() in %s on line %d
+Checking with incorrect parameter type
+
+Warning: imap_num_recent(): supplied argument is not a valid imap resource in %s on line %d
+
+Warning: imap_num_recent(): supplied argument is not a valid imap resource in %s on line %d
diff --git a/ext/imap/tests/imap_fetch_overview_error.phpt b/ext/imap/tests/imap_fetch_overview_error.phpt
index fa8c182..1854137 100644
--- a/ext/imap/tests/imap_fetch_overview_error.phpt
+++ b/ext/imap/tests/imap_fetch_overview_error.phpt
@@ -1,13 +1,13 @@
 --TEST--
-Test imap_fetch_overview() function : error conditions - incorrect number of args
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
+Test imap_fetch_overview() function : error conditions - incorrect number of args
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
 ?>
 --FILE--
 <?php
 /* Prototype  : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
- * Description: Read an overview of the information in the headers 
+ * Description: Read an overview of the information in the headers 
  * of the given message sequence 
  * Source code: ext/imap/php_imap.c
  */
@@ -17,7 +17,7 @@ require_once(dirname(__FILE__).'/skipif.inc');
  */
 
 echo "*** Testing imap_fetch_overview() : error conditions ***\n";
-
+
 require_once(dirname(__FILE__).'/imap_include.inc');
 
 //Test imap_fetch_overview with one more than the expected number of arguments
@@ -31,24 +31,24 @@ var_dump( imap_fetch_overview($stream_id, $msg_no, $options, $extra_arg) );
 // Testing imap_fetch_overview with one less than the expected number of arguments
 echo "\n-- Testing imap_fetch_overview() function with less than expected no. of arguments --\n";
 var_dump( imap_fetch_overview($stream_id) );
-?>
-===DONE===
---CLEAN--
-<?php
-require_once(dirname(__FILE__).'/clean.inc');
+?>
+===DONE===
+--CLEAN--
+<?php
+require_once(dirname(__FILE__).'/clean.inc');
 ?>
 --EXPECTF--
-*** Testing imap_fetch_overview() : error conditions ***
-
--- Testing imap_fetch_overview() function with more than expected no. of arguments --
-Create a temporary mailbox and add 2 msgs
-.. mailbox '%s.phpttest' created
-
-Warning: Wrong parameter count for imap_fetch_overview() in %s on line %d
-NULL
-
--- Testing imap_fetch_overview() function with less than expected no. of arguments --
-
-Warning: Wrong parameter count for imap_fetch_overview() in %s on line %d
-NULL
+*** Testing imap_fetch_overview() : error conditions ***
+
+-- Testing imap_fetch_overview() function with more than expected no. of arguments --
+Create a temporary mailbox and add 2 msgs
+.. mailbox '%s.phpttest' created
+
+Warning: Wrong parameter count for imap_fetch_overview() in %s on line %d
+NULL
+
+-- Testing imap_fetch_overview() function with less than expected no. of arguments --
+
+Warning: Wrong parameter count for imap_fetch_overview() in %s on line %d
+NULL
 ===DONE===
diff --git a/ext/imap/tests/imap_fetchbody_basic.phpt b/ext/imap/tests/imap_fetchbody_basic.phpt
index 7783ee1..4c103dd 100644
--- a/ext/imap/tests/imap_fetchbody_basic.phpt
+++ b/ext/imap/tests/imap_fetchbody_basic.phpt
@@ -1,12 +1,12 @@
 --TEST--
-Test imap_fetchbody() function : basic functionality
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
+Test imap_fetchbody() function : basic functionality
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
 ?>
 --FILE--
 <?php
-/* Prototype  : string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
+/* Prototype  : string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
  *           [, int $options])
  * Description: Get a specific body section 
  * Source code: ext/imap/php_imap.c
@@ -17,38 +17,38 @@ require_once(dirname(__FILE__).'/imap_include.inc');
 
 // Initialise all required variables
 
-// set up mailbox with one message
+// set up mailbox with one message
 $stream_id = setup_test_mailbox('', 3, $mailbox, 'notSimple');
 $section = '2';
 
-// Calling imap_fetchbody() with all possible arguments
-echo "\n-- All possible arguments --\n";
+// Calling imap_fetchbody() with all possible arguments
+echo "\n-- All possible arguments --\n";
 
 echo "Option == FD_UID\n";
-$msg_uid = imap_uid($stream_id, 1);
-var_dump( imap_fetchbody($stream_id, $msg_uid, $section, FT_UID) );
+$msg_uid = imap_uid($stream_id, 1);
+var_dump( imap_fetchbody($stream_id, $msg_uid, $section, FT_UID) );
 
 echo "Option == FD_PEEK\n";
-var_dump( imap_fetchbody($stream_id, 2, $section, FT_PEEK) );
-$overview = imap_fetch_overview($stream_id, 2);
-echo "Seen Flag: ";
-var_dump( $overview[0]->seen );
+var_dump( imap_fetchbody($stream_id, 2, $section, FT_PEEK) );
+$overview = imap_fetch_overview($stream_id, 2);
+echo "Seen Flag: ";
+var_dump( $overview[0]->seen );
 
-echo "option == FD_INTERNAL\n";
-var_dump( imap_fetchbody($stream_id, 3, $section, FT_INTERNAL) );
+echo "option == FD_INTERNAL\n";
+var_dump( imap_fetchbody($stream_id, 3, $section, FT_INTERNAL) );
 
-// Calling imap_fetchbody() with mandatory arguments
+// Calling imap_fetchbody() with mandatory arguments
 echo "\n-- Mandatory arguments --\n";
-var_dump( imap_fetchbody($stream_id, 1, $section) );
-$overview = imap_fetch_overview($stream_id, 1);
-echo "Seen Flag: ";
+var_dump( imap_fetchbody($stream_id, 1, $section) );
+$overview = imap_fetch_overview($stream_id, 1);
+echo "Seen Flag: ";
 var_dump( $overview[0]->seen );
 
-?>
-===DONE===
---CLEAN--
-<?php
-require_once(dirname(__FILE__).'/clean.inc');
+?>
+===DONE===
+--CLEAN--
+<?php
+require_once(dirname(__FILE__).'/clean.inc');
 ?>
 --EXPECTF--
 *** Testing imap_fetchbody() : basic functionality ***
diff --git a/ext/imap/tests/imap_fetchbody_error.phpt b/ext/imap/tests/imap_fetchbody_error.phpt
index b6bf1eb..94ff7af 100644
--- a/ext/imap/tests/imap_fetchbody_error.phpt
+++ b/ext/imap/tests/imap_fetchbody_error.phpt
@@ -1,12 +1,12 @@
 --TEST--
-Test imap_fetchbody() function : error conditions - incorrect number of args
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
+Test imap_fetchbody() function : error conditions - incorrect number of args
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
 ?>
 --FILE--
 <?php
-/* Prototype  :string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
+/* Prototype  :string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
  *          [, int $options])
  * Description: Get a specific body section 
  * Source code: ext/imap/php_imap.c
@@ -20,38 +20,38 @@ echo "*** Testing imap_fetchbody() : error conditions ***\n";
 require_once(dirname(__FILE__).'/imap_include.inc');
 
 //Test imap_fetchbody with one more than the expected number of arguments
-echo "\n-- Testing imap_fetchbody() function with more than expected no. of arguments --\n";
+echo "\n-- Testing imap_fetchbody() function with more than expected no. of arguments --\n";
 
 $stream_id = setup_test_mailbox('', 1); // set up temp mailbox with 1 simple msg
 $msg_no = 1;
 $section = '1';
 $options = FT_PEEK;
-$extra_arg = 10;
+$extra_arg = 10;
 
 var_dump( imap_fetchbody($stream_id, $msg_no, $section, $options, $extra_arg) );
 
 // Testing imap_fetchbody with one less than the expected number of arguments
-echo "\n-- Testing imap_fetchbody() function with less than expected no. of arguments --\n";
+echo "\n-- Testing imap_fetchbody() function with less than expected no. of arguments --\n";
 
 var_dump( imap_fetchbody($stream_id, $msg_no) );
-?>
-===DONE===
---CLEAN--
-<?php
-require_once(dirname(__FILE__).'/clean.inc');
+?>
+===DONE===
+--CLEAN--
+<?php
+require_once(dirname(__FILE__).'/clean.inc');
 ?>
 --EXPECTF--
-*** Testing imap_fetchbody() : error conditions ***
-
--- Testing imap_fetchbody() function with more than expected no. of arguments --
-Create a temporary mailbox and add 1 msgs
-.. mailbox '%s.phpttest' created
-
-Warning: Wrong parameter count for imap_fetchbody() in %s on line %d
-NULL
-
--- Testing imap_fetchbody() function with less than expected no. of arguments --
-
-Warning: Wrong parameter count for imap_fetchbody() in %s on line %d
-NULL
+*** Testing imap_fetchbody() : error conditions ***
+
+-- Testing imap_fetchbody() function with more than expected no. of arguments --
+Create a temporary mailbox and add 1 msgs
+.. mailbox '%s.phpttest' created
+
+Warning: Wrong parameter count for imap_fetchbody() in %s on line %d
+NULL
+
+-- Testing imap_fetchbody() function with less than expected no. of arguments --
+
+Warning: Wrong parameter count for imap_fetchbody() in %s on line %d
+NULL
 ===DONE===
diff --git a/ext/imap/tests/imap_fetchbody_variation1.phpt b/ext/imap/tests/imap_fetchbody_variation1.phpt
index 3248ff2..6339506 100644
--- a/ext/imap/tests/imap_fetchbody_variation1.phpt
+++ b/ext/imap/tests/imap_fetchbody_variation1.phpt
@@ -1,12 +1,12 @@
 --TEST--
-Test imap_fetchbody() function : usage variation - diff data types as $stream_id arg
---SKIPIF--
-<?php
-extension_loaded('imap') or die('skip imap extension not available in this build');
+Test imap_fetchbody() function : usage variation - diff data types as $stream_id arg
+--SKIPIF--
+<?php
+extension_loaded('imap') or die('skip imap extension not available in this build');
 ?>
 --FILE--
 <?php
-/* Prototype  : string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
+/* Prototype  : string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
  *           [, int $options])
  * Description: Get a specific body section 
  * Source code: ext/imap/php_imap.c
@@ -18,202 +18,202 @@ extension_loaded('imap') or die('skip imap extension not available in this build
 
 echo "*** Testing imap_fetchbody() : usage variations ***\n";
 
-// Initialise function arguments not being substituted
-$msg_no = 1;
-$section = '2';
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// get a class
-class classA
-{
-  public function __toString() {
-    return "Class A object";
-  }
-}
-
-// heredoc string
-$heredoc = <<<EOT
-hello world
-EOT;
-
-// unexpected values to be passed to $stream_id argument
-$inputs = array(
-
-       // int data
-/*1*/  0,
-       1,
-       12345,
-       -2345,
-
-       // float data
-/*5*/  10.5,
-       -10.5,
-       12.3456789000e10,
-       12.3456789000E-10,
-       .5,
-
-       // null data
-/*10*/ NULL,
-       null,
-
-       // boolean data
-/*12*/ true,
-       false,
-       TRUE,
-       FALSE,
-       
-       // empty data
-/*16*/ "",
-       '',
-       array(),
-
-       // string data
-/*19*/ "string",
-       'string',
-       $heredoc,
-       
-       // object data
-/*22*/ new classA(),
-
-       // undefined data
-/*23*/ @$undefined_var,
-
-       // unset data
-/*24*/ @$unset_var,
-);
-
-// loop through each element of $inputs to check the behavior of imap_fetchbody()
-$iterator = 1;
-foreach($inputs as $input) {
-  echo "\n-- Iteration $iterator --\n";
-  var_dump( imap_fetchbody($input, $msg_no, $section) );
-  $iterator++;
+// Initialise function arguments not being substituted
+$msg_no = 1;
+$section = '2';
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// get a class
+class classA
+{
+  public function __toString() {
+    return "Class A object";
+  }
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// unexpected values to be passed to $stream_id argument
+$inputs = array(
+
+       // int data
+/*1*/  0,
+       1,
+       12345,
+       -2345,
+
+       // float data
+/*5*/  10.5,
+       -10.5,
+       12.3456789000e10,
+       12.3456789000E-10,
+       .5,
+
+       // null data
+/*10*/ NULL,
+       null,
+
+       // boolean data
+/*12*/ true,
+       false,
+       TRUE,
+       FALSE,
+       
+       // empty data
+/*16*/ "",
+       '',
+       array(),
+
+       // string data
+/*19*/ "string",
+       'string',
+       $heredoc,
+       
+       // object data
+/*22*/ new classA(),
+
+       // undefined data
+/*23*/ @$undefined_var,
+
+       // unset data
+/*24*/ @$unset_var,
+);
+
+// loop through each element of $inputs to check the behavior of imap_fetchbody()
+$iterator = 1;
+foreach($inputs as $input) {
+  echo "\n-- Iteration $iterator --\n";
+  var_dump( imap_fetchbody($input, $msg_no, $section) );
+  $iterator++;
 }
-?>
+?>
 ===DONE===
 --EXPECTF--
-*** Testing imap_fetchbody() : usage variations ***
-
--- Iteration 1 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 2 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 3 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 4 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 5 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 6 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 7 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 8 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 9 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 10 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 11 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 12 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 13 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 14 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 15 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 16 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 17 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 18 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 19 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 20 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 21 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 22 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 23 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 24 --
-
-Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
+*** Testing imap_fetchbody() : usage variations ***
+
+-- Iteration 1 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 2 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 3 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 4 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 5 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 6 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 7 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 8 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 9 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 10 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 11 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 12 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 13 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 14 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 15 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 16 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 17 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 18 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 19 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 20 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 21 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 22 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 23 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 24 --
+
+Warning: imap_fetchbody(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
 ===DONE===
diff --git a/ext/imap/tests/imap_fetchbody_variation3.phpt b/ext/imap/tests/imap_fetchbody_variation3.phpt
index 2a017b5..c8793ea 100644
--- a/ext/imap/tests/imap_fetchbody_variation3.phpt
+++ b/ext/imap/tests/imap_fetchbody_variation3.phpt
@@ -1,12 +1,12 @@
 --TEST--
-Test imap_fetchbody() function : usage variation - diff data types as $section arg
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
+Test imap_fetchbody() function : usage variation - diff data types as $section arg
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
 ?>
 --FILE--
 <?php
-/* Prototype  : string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
+/* Prototype  : string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
  *           [, int $options])
  * Description: Get a specific body section 
  * Source code: ext/imap/php_imap.c
@@ -16,202 +16,202 @@ require_once(dirname(__FILE__).'/skipif.inc');
  * Pass different data types as $section argument to test behaviour of imap_fetchbody()
  */
 
-echo "*** Testing imap_fetchbody() : usage variations ***\n";
-
+echo "*** Testing imap_fetchbody() : usage variations ***\n";
+
 require_once(dirname(__FILE__).'/imap_include.inc');
 
-// Initialise function arguments not being substituted
-$stream_id = setup_test_mailbox('', 1); // set up temp mailbox with 1 simple msg
-$msg_no = 1;
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// get a class
-class classA
-{
-  public function __toString() {
-    return "Class A object";
-  }
-}
-
-// heredoc string
-$heredoc = <<<EOT
-hello world
-EOT;
-
-// unexpected values to be passed to $section argument
-$inputs = array(
-
-       // int data
-/*1*/  0,
-       1,
-       12345,
-       -2345,
-
-       // float data
-/*5*/  10.5,
-       -10.5,
-       12.3456789000e10,
-       12.3456789000E-10,
-       .5,
-
-       // null data
-/*10*/ NULL,
-       null,
-
-       // boolean data
-/*12*/ true,
-       false,
-       TRUE,
-       FALSE,
-       
-       // empty data
-/*16*/ "",
-       '',
-       array(),
-
-       // string data
-/*19*/ "string",
-       'string',
-       $heredoc,
-       
-       // object data
-/*22*/ new classA(),
-
-       // undefined data
-/*23*/ @$undefined_var,
-
-       // unset data
-/*24*/ @$unset_var,
-);
-
-// loop through each element of $inputs to check the behavior of imap_fetchbody()
-$iterator = 1;
-foreach($inputs as $input) {
-  echo "\n-- Iteration $iterator --\n";
-  var_dump( imap_fetchbody($stream_id, $msg_no, $input) );
-  $iterator++;
+// Initialise function arguments not being substituted
+$stream_id = setup_test_mailbox('', 1); // set up temp mailbox with 1 simple msg
+$msg_no = 1;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// get a class
+class classA
+{
+  public function __toString() {
+    return "Class A object";
+  }
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// unexpected values to be passed to $section argument
+$inputs = array(
+
+       // int data
+/*1*/  0,
+       1,
+       12345,
+       -2345,
+
+       // float data
+/*5*/  10.5,
+       -10.5,
+       12.3456789000e10,
+       12.3456789000E-10,
+       .5,
+
+       // null data
+/*10*/ NULL,
+       null,
+
+       // boolean data
+/*12*/ true,
+       false,
+       TRUE,
+       FALSE,
+       
+       // empty data
+/*16*/ "",
+       '',
+       array(),
+
+       // string data
+/*19*/ "string",
+       'string',
+       $heredoc,
+       
+       // object data
+/*22*/ new classA(),
+
+       // undefined data
+/*23*/ @$undefined_var,
+
+       // unset data
+/*24*/ @$unset_var,
+);
+
+// loop through each element of $inputs to check the behavior of imap_fetchbody()
+$iterator = 1;
+foreach($inputs as $input) {
+  echo "\n-- Iteration $iterator --\n";
+  var_dump( imap_fetchbody($stream_id, $msg_no, $input) );
+  $iterator++;
 };
-?>
-===DONE===
---CLEAN--
-<?php
-require_once(dirname(__FILE__).'/clean.inc');
+?>
+===DONE===
+--CLEAN--
+<?php
+require_once(dirname(__FILE__).'/clean.inc');
 ?>
 --EXPECTF--
-*** Testing imap_fetchbody() : usage variations ***
-Create a temporary mailbox and add 1 msgs
-.. mailbox '%s.phpttest' created
-
--- Iteration 1 --
-string(71) "From: %s
-To: %s
-Subject: test1
-
-"
-
--- Iteration 2 --
+*** Testing imap_fetchbody() : usage variations ***
+Create a temporary mailbox and add 1 msgs
+.. mailbox '%s.phpttest' created
+
+-- Iteration 1 --
+string(71) "From: %s
+To: %s
+Subject: test1
+
+"
+
+-- Iteration 2 --
 string(%d) "1: this is a test message, please ignore%a"
-
--- Iteration 3 --
-string(0) ""
-
--- Iteration 4 --
-string(0) ""
-
--- Iteration 5 --
-string(0) ""
-
--- Iteration 6 --
-string(0) ""
-
--- Iteration 7 --
-string(0) ""
-
--- Iteration 8 --
-string(0) ""
-
--- Iteration 9 --
-string(0) ""
-
--- Iteration 10 --
-string(%d) "From: %s
-To: %s
-Subject: test1
-
+
+-- Iteration 3 --
+string(0) ""
+
+-- Iteration 4 --
+string(0) ""
+
+-- Iteration 5 --
+string(0) ""
+
+-- Iteration 6 --
+string(0) ""
+
+-- Iteration 7 --
+string(0) ""
+
+-- Iteration 8 --
+string(0) ""
+
+-- Iteration 9 --
+string(0) ""
+
+-- Iteration 10 --
+string(%d) "From: %s
+To: %s
+Subject: test1
+
 1: this is a test message, please ignore%a"
-
--- Iteration 11 --
-string(%d) "From: %s
-To: %s
-Subject: test1
-
+
+-- Iteration 11 --
+string(%d) "From: %s
+To: %s
+Subject: test1
+
 1: this is a test message, please ignore%a"
-
--- Iteration 12 --
+
+-- Iteration 12 --
 string(%d) "1: this is a test message, please ignore%a"
-
--- Iteration 13 --
-string(%d) "From: %s
-To: %s
-Subject: test1
-
+
+-- Iteration 13 --
+string(%d) "From: %s
+To: %s
+Subject: test1
+
 1: this is a test message, please ignore%a"
-
--- Iteration 14 --
+
+-- Iteration 14 --
 string(%d) "1: this is a test message, please ignore%a"
-
--- Iteration 15 --
-string(%d) "From: %s
-To: %s
-Subject: test1
-
+
+-- Iteration 15 --
+string(%d) "From: %s
+To: %s
+Subject: test1
+
 1: this is a test message, please ignore%a"
-
--- Iteration 16 --
-string(%d) "From: %s
-To: %s
-Subject: test1
-
+
+-- Iteration 16 --
+string(%d) "From: %s
+To: %s
+Subject: test1
+
 1: this is a test message, please ignore%a"
-
--- Iteration 17 --
-string(%d) "From: %s
-To: %s
-Subject: test1
-
+
+-- Iteration 17 --
+string(%d) "From: %s
+To: %s
+Subject: test1
+
 1: this is a test message, please ignore%a"
-
--- Iteration 18 --
-
-Notice: Array to string conversion in %s on line %d
-string(0) ""
-
--- Iteration 19 --
-string(0) ""
-
--- Iteration 20 --
-string(0) ""
-
--- Iteration 21 --
-string(0) ""
-
--- Iteration 22 --
-string(0) ""
-
--- Iteration 23 --
-string(%d) "From: %s
-To: %s
-Subject: test1
-
+
+-- Iteration 18 --
+
+Notice: Array to string conversion in %s on line %d
+string(0) ""
+
+-- Iteration 19 --
+string(0) ""
+
+-- Iteration 20 --
+string(0) ""
+
+-- Iteration 21 --
+string(0) ""
+
+-- Iteration 22 --
+string(0) ""
+
+-- Iteration 23 --
+string(%d) "From: %s
+To: %s
+Subject: test1
+
 1: this is a test message, please ignore%a"
-
--- Iteration 24 --
-string(%d) "From: %s
-To: %s
-Subject: test1
-
+
+-- Iteration 24 --
+string(%d) "From: %s
+To: %s
+Subject: test1
+
 1: this is a test message, please ignore%a"
 ===DONE===
diff --git a/ext/imap/tests/imap_fetchbody_variation5.phpt b/ext/imap/tests/imap_fetchbody_variation5.phpt
index f01bfb4..89ce7b8 100644
--- a/ext/imap/tests/imap_fetchbody_variation5.phpt
+++ b/ext/imap/tests/imap_fetchbody_variation5.phpt
@@ -1,12 +1,12 @@
 --TEST--
-Test imap_fetchbody() function : usage variation - different resources as $stream_id arg
---SKIPIF--
-<?php
-extension_loaded('imap') or die('skip imap extension not available in this build');
+Test imap_fetchbody() function : usage variation - different resources as $stream_id arg
+--SKIPIF--
+<?php
+extension_loaded('imap') or die('skip imap extension not available in this build');
 ?>
 --FILE--
 <?php
-/* Prototype  : string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
+/* Prototype  : string imap_fetchbody(resource $stream_id, int $msg_no, string $section 
  *           [, int options])
  * Description: Get a specific body section 
  * Source code: ext/imap/php_imap.c
@@ -18,29 +18,29 @@ extension_loaded('imap') or die('skip imap extension not available in this build
 
 echo "*** Testing imap_fetchbody() : usage variations ***\n";
 
-echo "\n-- File Resource opened with fopen() --\n";
-var_dump($file_pointer = fopen(__FILE__, 'r+'));
-var_dump(imap_fetchbody($file_pointer, 1));
-fclose($file_pointer);
-
-echo "\n-- Directory Resource opened with opendir() --\n";
-var_dump($dir_handle = opendir(dirname(__FILE__)));
-var_dump(imap_fetchbody($dir_handle, 1));
+echo "\n-- File Resource opened with fopen() --\n";
+var_dump($file_pointer = fopen(__FILE__, 'r+'));
+var_dump(imap_fetchbody($file_pointer, 1));
+fclose($file_pointer);
+
+echo "\n-- Directory Resource opened with opendir() --\n";
+var_dump($dir_handle = opendir(dirname(__FILE__)));
+var_dump(imap_fetchbody($dir_handle, 1));
 closedir($dir_handle);
-?>
+?>
 ===DONE===
 --EXPECTF--
-*** Testing imap_fetchbody() : usage variations ***
-
--- File Resource opened with fopen() --
-resource(%d) of type (stream)
-
-Warning: Wrong parameter count for imap_fetchbody() in %s on line %d
-NULL
-
--- Directory Resource opened with opendir() --
-resource(%d) of type (stream)
-
-Warning: Wrong parameter count for imap_fetchbody() in %s on line %d
-NULL
+*** Testing imap_fetchbody() : usage variations ***
+
+-- File Resource opened with fopen() --
+resource(%d) of type (stream)
+
+Warning: Wrong parameter count for imap_fetchbody() in %s on line %d
+NULL
+
+-- Directory Resource opened with opendir() --
+resource(%d) of type (stream)
+
+Warning: Wrong parameter count for imap_fetchbody() in %s on line %d
+NULL
 ===DONE===
diff --git a/ext/imap/tests/imap_fetchheader_error.phpt b/ext/imap/tests/imap_fetchheader_error.phpt
index 7d1e84e..143e45e 100644
--- a/ext/imap/tests/imap_fetchheader_error.phpt
+++ b/ext/imap/tests/imap_fetchheader_error.phpt
@@ -1,8 +1,8 @@
 --TEST--
-Test imap_fetchheader() function : error conditions - incorrect number of args
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
+Test imap_fetchheader() function : error conditions - incorrect number of args
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
 ?>
 --FILE--
 <?php
@@ -29,21 +29,21 @@ var_dump( imap_fetchheader($stream_id, $msg_no, $options, $extra_arg) );
 
 // Testing imap_fetchheader with one less than the expected number of arguments
 echo "\n-- Testing imap_fetchheader() function with less than expected no. of arguments --\n";
-var_dump( imap_fetchheader($stream_id) );
-
+var_dump( imap_fetchheader($stream_id) );
+
 imap_close($stream_id);
-?>
+?>
 ===DONE===
 --EXPECTF--
-*** Testing imap_fetchheader() : error conditions ***
-
--- Testing imap_fetchheader() function with more than expected no. of arguments --
-
-Warning: Wrong parameter count for imap_fetchheader() in %s on line %d
-NULL
-
--- Testing imap_fetchheader() function with less than expected no. of arguments --
-
-Warning: Wrong parameter count for imap_fetchheader() in %s on line %d
-NULL
+*** Testing imap_fetchheader() : error conditions ***
+
+-- Testing imap_fetchheader() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for imap_fetchheader() in %s on line %d
+NULL
+
+-- Testing imap_fetchheader() function with less than expected no. of arguments --
+
+Warning: Wrong parameter count for imap_fetchheader() in %s on line %d
+NULL
 ===DONE===
diff --git a/ext/imap/tests/imap_fetchheader_variation1.phpt b/ext/imap/tests/imap_fetchheader_variation1.phpt
index f43e07d..b4f6d17 100644
--- a/ext/imap/tests/imap_fetchheader_variation1.phpt
+++ b/ext/imap/tests/imap_fetchheader_variation1.phpt
@@ -1,8 +1,8 @@
 --TEST--
-Test imap_fetchheader() function : usage variations - diff data types as $stream_id arg
---SKIPIF--
-<?php
-extension_loaded('imap') or die('skip imap extension not available in this build');
+Test imap_fetchheader() function : usage variations - diff data types as $stream_id arg
+--SKIPIF--
+<?php
+extension_loaded('imap') or die('skip imap extension not available in this build');
 ?>
 --FILE--
 <?php
@@ -17,229 +17,229 @@ extension_loaded('imap') or die('skip imap extension not available in this build
 
 echo "*** Testing imap_fetchheader() : usage variations ***\n";
 
-// Initialise function arguments not being substituted
-$msg_no = 1;
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// get a class
-class classA
-{
-  public function __toString() {
-    return "Class A object";
-  }
-}
-
-// heredoc string
-$heredoc = <<<EOT
-hello world
-EOT;
-
-// get different types of array
-$index_array = array (1, 2, 3);
-$assoc_array = array ('one' => 1, 'two' => 2);
-
-// get a resource variable
-$fp = fopen(__FILE__, "r");
-
-// unexpected values to be passed to $stream_id argument
-$inputs = array(
-
-       // int data
-/*1*/  0,
-       1,
-       12345,
-       -2345,
-
-       // float data
-/*5*/  10.5,
-       -10.5,
-       12.3456789000e10,
-       12.3456789000E-10,
-       .5,
-
-       // null data
-/*10*/ NULL,
-       null,
-
-       // boolean data
-/*12*/ true,
-       false,
-       TRUE,
-       FALSE,
-       
-       // empty data
-/*16*/ "",
-       '',
-
-       // string data
-/*18*/ "string",
-       'string',
-       $heredoc,
-       
-       // array data
-/*21*/ array(),
-       $index_array,
-       $assoc_array,
-       array('foo', $index_array, $assoc_array),
-       
-       
-       // object data
-/*25*/ new classA(),
-
-       // undefined data
-/*26*/ @$undefined_var,
-
-       // unset data
-/*27*/ @$unset_var,
-);
-
-// loop through each element of $inputs to check the behavior of imap_fetchheader()
-$iterator = 1;
-foreach($inputs as $input) {
-  echo "\n-- Iteration $iterator --\n";
-  var_dump( imap_fetchheader($input, $msg_no) );
-  $iterator++;
+// Initialise function arguments not being substituted
+$msg_no = 1;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// get a class
+class classA
+{
+  public function __toString() {
+    return "Class A object";
+  }
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// get different types of array
+$index_array = array (1, 2, 3);
+$assoc_array = array ('one' => 1, 'two' => 2);
+
+// get a resource variable
+$fp = fopen(__FILE__, "r");
+
+// unexpected values to be passed to $stream_id argument
+$inputs = array(
+
+       // int data
+/*1*/  0,
+       1,
+       12345,
+       -2345,
+
+       // float data
+/*5*/  10.5,
+       -10.5,
+       12.3456789000e10,
+       12.3456789000E-10,
+       .5,
+
+       // null data
+/*10*/ NULL,
+       null,
+
+       // boolean data
+/*12*/ true,
+       false,
+       TRUE,
+       FALSE,
+       
+       // empty data
+/*16*/ "",
+       '',
+
+       // string data
+/*18*/ "string",
+       'string',
+       $heredoc,
+       
+       // array data
+/*21*/ array(),
+       $index_array,
+       $assoc_array,
+       array('foo', $index_array, $assoc_array),
+       
+       
+       // object data
+/*25*/ new classA(),
+
+       // undefined data
+/*26*/ @$undefined_var,
+
+       // unset data
+/*27*/ @$unset_var,
+);
+
+// loop through each element of $inputs to check the behavior of imap_fetchheader()
+$iterator = 1;
+foreach($inputs as $input) {
+  echo "\n-- Iteration $iterator --\n";
+  var_dump( imap_fetchheader($input, $msg_no) );
+  $iterator++;
 };
-?>
+?>
 ===DONE===
 --EXPECTF--
-*** Testing imap_fetchheader() : usage variations ***
-
--- Iteration 1 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 2 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 3 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 4 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 5 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 6 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 7 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 8 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 9 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 10 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 11 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 12 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 13 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 14 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 15 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 16 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 17 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 18 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 19 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 20 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 21 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 22 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 23 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 24 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 25 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 26 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
-
--- Iteration 27 --
-
-Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
-bool(false)
+*** Testing imap_fetchheader() : usage variations ***
+
+-- Iteration 1 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 2 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 3 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 4 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 5 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 6 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 7 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 8 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 9 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 10 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 11 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 12 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 13 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 14 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 15 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 16 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 17 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 18 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 19 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 20 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 21 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 22 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 23 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 24 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 25 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 26 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Iteration 27 --
+
+Warning: imap_fetchheader(): supplied argument is not a valid imap resource in %s on line %d
+bool(false)
 ===DONE===
diff --git a/ext/imap/tests/imap_fetchheader_variation4.phpt b/ext/imap/tests/imap_fetchheader_variation4.phpt
index 090fa21..b4b19e3 100644
--- a/ext/imap/tests/imap_fetchheader_variation4.phpt
+++ b/ext/imap/tests/imap_fetchheader_variation4.phpt
@@ -1,8 +1,8 @@
 --TEST--
-Test imap_fetchheader() function : usage variations - diff resource types as $stream_id
---SKIPIF--
-<?php
-extension_loaded('imap') or die('skip imap extension not available in this build');
+Test imap_fetchheader() function : usage variations - diff resource types as $stream_id
+--SKIPIF--
+<?php
+extension_loaded('imap') or die('skip imap extension not available in this build');
 ?>
 --FILE--
 <?php
@@ -17,29 +17,29 @@ extension_loaded('imap') or die('skip imap extension not available in this build
 
 echo "*** Testing imap_fetchheader() : usage variations ***\n";
 
-echo "\n-- File Resource opened with fopen() --\n";
-var_dump($file_pointer = fopen(__FILE__, 'r+'));
-var_dump(imap_fetchheader($file_pointer, 1));
-fclose($file_pointer);
-
-echo "\n-- Directory Resource opened with opendir() --\n";
-var_dump($dir_handle = opendir(dirname(__FILE__)));
-var_dump(imap_fetchheader($dir_handle, 1));
+echo "\n-- File Resource opened with fopen() --\n";
+var_dump($file_pointer = fopen(__FILE__, 'r+'));
+var_dump(imap_fetchheader($file_pointer, 1));
+fclose($file_pointer);
+
+echo "\n-- Directory Resource opened with opendir() --\n";
+var_dump($dir_handle = opendir(dirname(__FILE__)));
+var_dump(imap_fetchheader($dir_handle, 1));
 closedir($dir_handle);
-?>
+?>
 ===DONE===
 --EXPECTF--
-*** Testing imap_fetchheader() : usage variations ***
-
--- File Resource opened with fopen() --
-resource(%d) of type (stream)
-
-Warning: imap_fetchheader(): supplied resource is not a valid imap resource in %s on line %d
-bool(false)
-
--- Directory Resource opened with opendir() --
-resource(%d) of type (stream)
-
-Warning: imap_fetchheader(): supplied resource is not a valid imap resource in %s on line %d
-bool(false)
+*** Testing imap_fetchheader() : usage variations ***
+
+-- File Resource opened with fopen() --
+resource(%d) of type (stream)
+
+Warning: imap_fetchheader(): supplied resource is not a valid imap resource in %s on line %d
+bool(false)
+
+-- Directory Resource opened with opendir() --
+resource(%d) of type (stream)
+
+Warning: imap_fetchheader(): supplied resource is not a valid imap resource in %s on line %d
+bool(false)
 ===DONE===
\ No newline at end of file
diff --git a/ext/imap/tests/imap_headers.phpt b/ext/imap/tests/imap_headers.phpt
index 76f38a7..3dca264 100644
--- a/ext/imap/tests/imap_headers.phpt
+++ b/ext/imap/tests/imap_headers.phpt
@@ -1,27 +1,27 @@
---TEST--
-imap_headers() incorrect parameter count
---CREDITS--
-Paul Sohier
-#phptestfest utrecht
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-echo "Checking with no parameters\n";
-imap_headers();
-
-echo  "Checking with incorrect parameter type\n";
-imap_headers('');
-imap_headers(false);
-?>
---EXPECTF--
-Checking with no parameters
-
-Warning: Wrong parameter count for imap_headers() in %s on line %d
-Checking with incorrect parameter type
-
-Warning: imap_headers(): supplied argument is not a valid imap resource in %s on line %d
-
-Warning: imap_headers(): supplied argument is not a valid imap resource in %s on line %d
+--TEST--
+imap_headers() incorrect parameter count
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+echo "Checking with no parameters\n";
+imap_headers();
+
+echo  "Checking with incorrect parameter type\n";
+imap_headers('');
+imap_headers(false);
+?>
+--EXPECTF--
+Checking with no parameters
+
+Warning: Wrong parameter count for imap_headers() in %s on line %d
+Checking with incorrect parameter type
+
+Warning: imap_headers(): supplied argument is not a valid imap resource in %s on line %d
+
+Warning: imap_headers(): supplied argument is not a valid imap resource in %s on line %d
diff --git a/ext/imap/tests/imap_num_msg_error.phpt b/ext/imap/tests/imap_num_msg_error.phpt
index c3d54ee..bf02304 100644
--- a/ext/imap/tests/imap_num_msg_error.phpt
+++ b/ext/imap/tests/imap_num_msg_error.phpt
@@ -1,27 +1,27 @@
---TEST--
-imap_num_msg() incorrect parameter count
---CREDITS--
-Paul Sohier
-#phptestfest utrecht
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-echo "Checking with no parameters\n";
-imap_num_msg();
-
-echo  "Checking with incorrect parameter type\n";
-imap_num_msg('');
-imap_num_msg(false);
-?>
---EXPECTF--
-Checking with no parameters
-
-Warning: Wrong parameter count for imap_num_msg() in %s on line %d
-Checking with incorrect parameter type
-
-Warning: imap_num_msg(): supplied argument is not a valid imap resource in %s on line %d
-
-Warning: imap_num_msg(): supplied argument is not a valid imap resource in %s on line %d
+--TEST--
+imap_num_msg() incorrect parameter count
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+echo "Checking with no parameters\n";
+imap_num_msg();
+
+echo  "Checking with incorrect parameter type\n";
+imap_num_msg('');
+imap_num_msg(false);
+?>
+--EXPECTF--
+Checking with no parameters
+
+Warning: Wrong parameter count for imap_num_msg() in %s on line %d
+Checking with incorrect parameter type
+
+Warning: imap_num_msg(): supplied argument is not a valid imap resource in %s on line %d
+
+Warning: imap_num_msg(): supplied argument is not a valid imap resource in %s on line %d
diff --git a/ext/imap/tests/imap_num_recent_error.phpt b/ext/imap/tests/imap_num_recent_error.phpt
index 3aa4680..cdb5b3e 100644
--- a/ext/imap/tests/imap_num_recent_error.phpt
+++ b/ext/imap/tests/imap_num_recent_error.phpt
@@ -1,27 +1,27 @@
---TEST--
-imap_expunge() incorrect parameter count
---CREDITS--
-Paul Sohier
-#phptestfest utrecht
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-echo "Checking with no parameters\n";
-imap_expunge();
-
-echo  "Checking with incorrect parameter type\n";
-imap_expunge('');
-imap_expunge(false);
-?>
---EXPECTF--
-Checking with no parameters
-
-Warning: Wrong parameter count for imap_expunge() in %s on line %d
-Checking with incorrect parameter type
-
-Warning: imap_expunge(): supplied argument is not a valid imap resource in %s on line %d
-
-Warning: imap_expunge(): supplied argument is not a valid imap resource in %s on line %d
+--TEST--
+imap_expunge() incorrect parameter count
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+echo "Checking with no parameters\n";
+imap_expunge();
+
+echo  "Checking with incorrect parameter type\n";
+imap_expunge('');
+imap_expunge(false);
+?>
+--EXPECTF--
+Checking with no parameters
+
+Warning: Wrong parameter count for imap_expunge() in %s on line %d
+Checking with incorrect parameter type
+
+Warning: imap_expunge(): supplied argument is not a valid imap resource in %s on line %d
+
+Warning: imap_expunge(): supplied argument is not a valid imap resource in %s on line %d
diff --git a/ext/imap/tests/imap_open_error.phpt b/ext/imap/tests/imap_open_error.phpt
index ed63f74..2777ec6 100644
--- a/ext/imap/tests/imap_open_error.phpt
+++ b/ext/imap/tests/imap_open_error.phpt
@@ -1,42 +1,42 @@
---TEST--
-imap_open() incorrect parameter count
---CREDITS--
-Paul Sohier
-#phptestfest utrecht
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-echo "Checking with no parameters\n";
-imap_open();
-imap_open(false);
-imap_open(false, false);
-imap_open('');
-imap_open('', '');
-
-echo "Checking with incorrect parameters\n" ;
-imap_open('', '', '');
-imap_open('', '', '', -1);
-
-?>
---EXPECTF--
-Checking with no parameters
-
-Warning: Wrong parameter count for imap_open() in %s on line %d
-
-Warning: Wrong parameter count for imap_open() in %s on line %d
-
-Warning: Wrong parameter count for imap_open() in %s on line %d
-
-Warning: Wrong parameter count for imap_open() in %s on line %d
-
-Warning: Wrong parameter count for imap_open() in %s on line %d
-Checking with incorrect parameters
-
-Warning: imap_open(): Couldn't open stream  in %s on line %d
-
-Warning: imap_open(): Couldn't open stream  in %s on line %d
-
-Notice: Unknown: Can't open mailbox : no such mailbox (errflg=2) in Unknown on line 0
+--TEST--
+imap_open() incorrect parameter count
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+echo "Checking with no parameters\n";
+imap_open();
+imap_open(false);
+imap_open(false, false);
+imap_open('');
+imap_open('', '');
+
+echo "Checking with incorrect parameters\n" ;
+imap_open('', '', '');
+imap_open('', '', '', -1);
+
+?>
+--EXPECTF--
+Checking with no parameters
+
+Warning: Wrong parameter count for imap_open() in %s on line %d
+
+Warning: Wrong parameter count for imap_open() in %s on line %d
+
+Warning: Wrong parameter count for imap_open() in %s on line %d
+
+Warning: Wrong parameter count for imap_open() in %s on line %d
+
+Warning: Wrong parameter count for imap_open() in %s on line %d
+Checking with incorrect parameters
+
+Warning: imap_open(): Couldn't open stream  in %s on line %d
+
+Warning: imap_open(): Couldn't open stream  in %s on line %d
+
+Notice: Unknown: Can't open mailbox : no such mailbox (errflg=2) in Unknown on line 0
diff --git a/ext/imap/tests/imap_ping_error.phpt b/ext/imap/tests/imap_ping_error.phpt
index b4bcbb5..ce1e2a5 100644
--- a/ext/imap/tests/imap_ping_error.phpt
+++ b/ext/imap/tests/imap_ping_error.phpt
@@ -1,27 +1,27 @@
---TEST--
-imap_ping() incorrect parameter count
---CREDITS--
-Paul Sohier
-#phptestfest utrecht
---SKIPIF--
-<?php
-require_once(dirname(__FILE__).'/skipif.inc');
-?>
---FILE--
-<?php
-echo "Checking with no parameters\n";
-imap_ping();
-
-echo  "Checking with incorrect parameter type\n";
-imap_ping('');
-imap_ping(false);
-?>
---EXPECTF--
-Checking with no parameters
-
-Warning: Wrong parameter count for imap_ping() in %s on line %d
-Checking with incorrect parameter type
-
-Warning: imap_ping(): supplied argument is not a valid imap resource in %s on line %d
-
-Warning: imap_ping(): supplied argument is not a valid imap resource in %s on line %d
+--TEST--
+imap_ping() incorrect parameter count
+--CREDITS--
+Paul Sohier
+#phptestfest utrecht
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+echo "Checking with no parameters\n";
+imap_ping();
+
+echo  "Checking with incorrect parameter type\n";
+imap_ping('');
+imap_ping(false);
+?>
+--EXPECTF--
+Checking with no parameters
+
+Warning: Wrong parameter count for imap_ping() in %s on line %d
+Checking with incorrect parameter type
+
+Warning: imap_ping(): supplied argument is not a valid imap resource in %s on line %d
+
+Warning: imap_ping(): supplied argument is not a valid imap resource in %s on line %d
diff --git a/ext/imap/tests/skipif.inc b/ext/imap/tests/skipif.inc
index df69c43..47bfd08 100644
--- a/ext/imap/tests/skipif.inc
+++ b/ext/imap/tests/skipif.inc
@@ -1,16 +1,16 @@
-<?php
-extension_loaded('imap') or die('skip imap extension not available in this build');
- 
-// Change these to make tests run successfully
-$mailbox  = '{localhost/norsh}';
-$username = 'webmaster at something.com';
-$password = 'p4ssw0rd';
-$options = OP_HALFOPEN; // this should be enough to verify server present
-$retries = 0; // dont retry connect on failure
-
-$mbox = @imap_open($mailbox, $username, $password, $options, $retries);
-if (!$mbox) {
-	die("skip could not connect to mailbox $mailbox");
-}
-imap_close($mbox);
-?>
+<?php
+extension_loaded('imap') or die('skip imap extension not available in this build');
+ 
+// Change these to make tests run successfully
+$mailbox  = '{localhost/norsh}';
+$username = 'webmaster at something.com';
+$password = 'p4ssw0rd';
+$options = OP_HALFOPEN; // this should be enough to verify server present
+$retries = 0; // dont retry connect on failure
+
+$mbox = @imap_open($mailbox, $username, $password, $options, $retries);
+if (!$mbox) {
+	die("skip could not connect to mailbox $mailbox");
+}
+imap_close($mbox);
+?>
diff --git a/ext/interbase/config.m4 b/ext/interbase/config.m4
index b1f812a..b9e6df1 100644
--- a/ext/interbase/config.m4
+++ b/ext/interbase/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.20.6.2 2007/07/31 13:02:00 jani Exp $
+dnl $Id: config.m4 240511 2007-07-31 13:02:00Z jani $
 dnl
 
 PHP_ARG_WITH(interbase,for InterBase support,
diff --git a/ext/interbase/config.w32 b/ext/interbase/config.w32
index e5933bb..357220b 100644
--- a/ext/interbase/config.w32
+++ b/ext/interbase/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.7 2004/05/12 14:29:42 abies Exp $
+// $Id: config.w32 158415 2004-05-12 14:29:42Z abies $
 // vim:ft=javascript
 
 ARG_WITH("interbase", "InterBase support", "no");
diff --git a/ext/interbase/ibase_blobs.c b/ext/interbase/ibase_blobs.c
index 035fbd6..50b2ab9 100644
--- a/ext/interbase/ibase_blobs.c
+++ b/ext/interbase/ibase_blobs.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: ibase_blobs.c,v 1.9.2.1.2.5 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: ibase_blobs.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/interbase/ibase_events.c b/ext/interbase/ibase_events.c
index f228e48..525937f 100644
--- a/ext/interbase/ibase_events.c
+++ b/ext/interbase/ibase_events.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: ibase_events.c,v 1.8.2.1.2.5 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: ibase_events.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/interbase/ibase_query.c b/ext/interbase/ibase_query.c
index 308c892..891f49c 100644
--- a/ext/interbase/ibase_query.c
+++ b/ext/interbase/ibase_query.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: ibase_query.c,v 1.23.2.1.2.13 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: ibase_query.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/interbase/ibase_service.c b/ext/interbase/ibase_service.c
index 15ccb10..de7b26a 100644
--- a/ext/interbase/ibase_service.c
+++ b/ext/interbase/ibase_service.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: ibase_service.c,v 1.11.2.2.2.8 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: ibase_service.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/interbase/interbase.c b/ext/interbase/interbase.c
index 5517f1c..1d05cc8 100644
--- a/ext/interbase/interbase.c
+++ b/ext/interbase/interbase.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: interbase.c,v 1.225.2.4.2.10 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: interbase.c 284152 2009-07-15 23:50:59Z rasmus $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -588,8 +588,8 @@ static char const dpb_args[] = {
 	
 int _php_ibase_attach_db(char **args, int *len, long *largs, isc_db_handle *db TSRMLS_DC)
 {
-	short i, dpb_len, buf_len = 256;
-	char dpb_buffer[256] = { isc_dpb_version1 }, *dpb;
+	short i, dpb_len, buf_len = 257-2;  /* version byte at the front, and a null at the end */
+	char dpb_buffer[257] = { isc_dpb_version1, 0 }, *dpb;
 
 	dpb = dpb_buffer + 1;
 
diff --git a/ext/interbase/interbase.rc b/ext/interbase/interbase.rc
index b5e3f75..74a2e95 100644
--- a/ext/interbase/interbase.rc
+++ b/ext/interbase/interbase.rc
@@ -1,81 +1,81 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 5                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2007 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 3.01 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available through the world-wide-web at the following url:           |
-   | http://www.php.net/license/3_01.txt                                  |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license at php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author:  Ard Biesheuvel <a.k.biesheuvel at its.tudelft.nl>              |
-   +----------------------------------------------------------------------+
- */
-
-/* $Id: interbase.rc,v 1.7.2.1.2.1 2007/01/01 19:32:10 iliaa Exp $ */
-
-#ifdef APSTUDIO_INVOKED
-#error This file cannot be opened from the Visual Studio IDE
-#endif
-
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-#include "winres.h"
-#undef APSTUDIO_READONLY_SYMBOLS
-
-#include "php_version.h"
-
-#ifdef _DEBUG
-# define BUILD_TYPE "Debug"
-#else
-# define BUILD_TYPE "Release"
-#endif
-
-#include <ibase.h>
-#include "interbase.c"
-
-#ifdef FB_SQLDA
-#define CLIENT_LIB "fbclient.dll"
-#else
-#define CLIENT_LIB "gds32.dll"
-#endif
-
-#ifndef _MAC
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,0
- PRODUCTVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,0
-#ifndef _DEBUG
- FILEFLAGS 0x0L
-#else
- FILEFLAGS 0x1L
-#endif
- FILEFLAGSMASK 0x3fL
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_DLL
- FILESUBTYPE VFT2_UNKNOWN
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "000004b0"
-        BEGIN
-            VALUE "FileDescription", "PHP Interbase module\0"
-            VALUE "FileVersion", PHP_VERSION "\0"
-            VALUE "LegalCopyright", "Copyright © 2003 The PHP Group\0"
-			VALUE "Build Type", BUILD_TYPE "\0"
-            VALUE "Client Library", CLIENT_LIB "\0"
-			VALUE "URL", "http://www.php.net\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x0, 1200
-    END
-END
-
-#endif    // !_MAC
+/*
+   +----------------------------------------------------------------------+
+   | PHP Version 5                                                        |
+   +----------------------------------------------------------------------+
+   | Copyright (c) 1997-2007 The PHP Group                                |
+   +----------------------------------------------------------------------+
+   | This source file is subject to version 3.01 of the PHP license,      |
+   | that is bundled with this package in the file LICENSE, and is        |
+   | available through the world-wide-web at the following url:           |
+   | http://www.php.net/license/3_01.txt                                  |
+   | If you did not receive a copy of the PHP license and are unable to   |
+   | obtain it through the world-wide-web, please send a note to          |
+   | license at php.net so we can mail you a copy immediately.               |
+   +----------------------------------------------------------------------+
+   | Author:  Ard Biesheuvel <a.k.biesheuvel at its.tudelft.nl>              |
+   +----------------------------------------------------------------------+
+ */
+
+/* $Id: interbase.rc 226204 2007-01-01 19:32:10Z iliaa $ */
+
+#ifdef APSTUDIO_INVOKED
+#error This file cannot be opened from the Visual Studio IDE
+#endif
+
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+#include "winres.h"
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#include "php_version.h"
+
+#ifdef _DEBUG
+# define BUILD_TYPE "Debug"
+#else
+# define BUILD_TYPE "Release"
+#endif
+
+#include <ibase.h>
+#include "interbase.c"
+
+#ifdef FB_SQLDA
+#define CLIENT_LIB "fbclient.dll"
+#else
+#define CLIENT_LIB "gds32.dll"
+#endif
+
+#ifndef _MAC
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,0
+ PRODUCTVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,0
+#ifndef _DEBUG
+ FILEFLAGS 0x0L
+#else
+ FILEFLAGS 0x1L
+#endif
+ FILEFLAGSMASK 0x3fL
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE VFT2_UNKNOWN
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "000004b0"
+        BEGIN
+            VALUE "FileDescription", "PHP Interbase module\0"
+            VALUE "FileVersion", PHP_VERSION "\0"
+            VALUE "LegalCopyright", "Copyright © 2003 The PHP Group\0"
+			VALUE "Build Type", BUILD_TYPE "\0"
+            VALUE "Client Library", CLIENT_LIB "\0"
+			VALUE "URL", "http://www.php.net\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x0, 1200
+    END
+END
+
+#endif    // !_MAC
diff --git a/ext/interbase/php_ibase_includes.h b/ext/interbase/php_ibase_includes.h
index 35889c0..0a0f21d 100755
--- a/ext/interbase/php_ibase_includes.h
+++ b/ext/interbase/php_ibase_includes.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_ibase_includes.h,v 1.16.2.1.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_ibase_includes.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_IBASE_INCLUDES_H
 #define PHP_IBASE_INCLUDES_H
diff --git a/ext/interbase/php_ibase_udf.c b/ext/interbase/php_ibase_udf.c
index b1d8104..fa5183d 100644
--- a/ext/interbase/php_ibase_udf.c
+++ b/ext/interbase/php_ibase_udf.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_ibase_udf.c,v 1.9.2.1.2.4 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_ibase_udf.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /**
 * This UDF library adds the ability to call PHP functions from SQL
diff --git a/ext/interbase/php_interbase.h b/ext/interbase/php_interbase.h
index 2307d3c..78a68b5 100644
--- a/ext/interbase/php_interbase.h
+++ b/ext/interbase/php_interbase.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_interbase.h,v 1.71.2.1.2.3 2008/12/31 11:17:38 sebastian Exp $ */
+/* $Id: php_interbase.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_INTERBASE_H
 #define PHP_INTERBASE_H
diff --git a/ext/interbase/tests/002.phpt b/ext/interbase/tests/002.phpt
index a255d1a..7a367ae 100644
--- a/ext/interbase/tests/002.phpt
+++ b/ext/interbase/tests/002.phpt
@@ -3,7 +3,7 @@ InterBase: connect, close and pconnect
 --SKIPIF--
 <?php include("skipif.inc"); ?>
 --FILE--
-<?php /* $Id: 002.phpt,v 1.6 2004/05/19 08:54:52 helly Exp $ */
+<?php /* $Id: 002.phpt 158958 2004-05-19 08:56:50Z helly $ */
 
 	require("interbase.inc");
     
diff --git a/ext/interbase/tests/003.phpt b/ext/interbase/tests/003.phpt
index e31bf02..4be5167 100644
--- a/ext/interbase/tests/003.phpt
+++ b/ext/interbase/tests/003.phpt
@@ -3,7 +3,7 @@ InterBase: misc sql types (may take a while)
 --SKIPIF--
 <?php include("skipif.inc"); ?>
 --FILE--
-<?php /* $Id: 003.phpt,v 1.10 2004/05/30 16:20:25 abies Exp $ */
+<?php /* $Id: 003.phpt 160078 2004-05-30 16:20:25Z abies $ */
 
     require("interbase.inc");
     ibase_connect($test_base);
diff --git a/ext/interbase/tests/004.phpt b/ext/interbase/tests/004.phpt
index 490aeef..e6437f4 100644
--- a/ext/interbase/tests/004.phpt
+++ b/ext/interbase/tests/004.phpt
@@ -3,7 +3,7 @@ InterBase: BLOB test
 --SKIPIF--
 <?php include("skipif.inc"); ?>
 --FILE--
-<?php /* $Id: 004.phpt,v 1.14 2004/05/19 08:54:52 helly Exp $ */
+<?php /* $Id: 004.phpt 158958 2004-05-19 08:56:50Z helly $ */
 
     require("interbase.inc");
     
diff --git a/ext/interbase/tests/005.phpt b/ext/interbase/tests/005.phpt
index ae61b0b..e329280 100644
--- a/ext/interbase/tests/005.phpt
+++ b/ext/interbase/tests/005.phpt
@@ -3,7 +3,7 @@ InterBase: transactions
 --SKIPIF--
 <?php include("skipif.inc"); ?>
 --FILE--
-<?php /* $Id: 005.phpt,v 1.8 2004/05/19 08:54:52 helly Exp $ */
+<?php /* $Id: 005.phpt 158958 2004-05-19 08:56:50Z helly $ */
 
     require("interbase.inc");
     
diff --git a/ext/interbase/tests/006.phpt b/ext/interbase/tests/006.phpt
index 605feb2..2aeb073 100644
--- a/ext/interbase/tests/006.phpt
+++ b/ext/interbase/tests/006.phpt
@@ -3,7 +3,7 @@ InterBase: binding (may take a while)
 --SKIPIF--
 <?php include("skipif.inc"); ?>
 --FILE--
-<?php /* $Id: 006.phpt,v 1.11 2004/05/30 16:20:25 abies Exp $ */
+<?php /* $Id: 006.phpt 160078 2004-05-30 16:20:25Z abies $ */
 
 	require("interbase.inc");
 	
diff --git a/ext/interbase/tests/007.phpt b/ext/interbase/tests/007.phpt
index aee7bfe..f53d67c 100644
--- a/ext/interbase/tests/007.phpt
+++ b/ext/interbase/tests/007.phpt
@@ -3,7 +3,7 @@ InterBase: array handling
 --SKIPIF--
 <?php include("skipif.inc"); ?>
 --FILE--
-<?php /* $Id: 007.phpt,v 1.4 2004/05/30 16:20:25 abies Exp $ */
+<?php /* $Id: 007.phpt 160078 2004-05-30 16:20:25Z abies $ */
 
 	require("interbase.inc");
 	
diff --git a/ext/interbase/tests/008.phpt b/ext/interbase/tests/008.phpt
index dfe3236..627d77d 100755
--- a/ext/interbase/tests/008.phpt
+++ b/ext/interbase/tests/008.phpt
@@ -6,7 +6,7 @@ if (PHP_OS == "WINNT") echo "skip";
 include("skipif.inc"); 
 ?>
 --FILE--
-<?php /* $Id: 008.phpt,v 1.3 2004/05/19 08:54:52 helly Exp $ */
+<?php /* $Id: 008.phpt 158958 2004-05-19 08:56:50Z helly $ */
 
 require("interbase.inc");
 
diff --git a/ext/interbase/tests/interbase.inc b/ext/interbase/tests/interbase.inc
index 3254ace..d646f85 100755
--- a/ext/interbase/tests/interbase.inc
+++ b/ext/interbase/tests/interbase.inc
@@ -1,4 +1,4 @@
-<?php /* $Id: interbase.inc,v 1.10.6.1 2008/10/07 12:53:08 felipe Exp $ */
+<?php /* $Id: interbase.inc 267054 2008-10-07 12:53:08Z felipe $ */
 
 srand((double)microtime()*1000000);
 
diff --git a/ext/interbase/tests/skipif.inc b/ext/interbase/tests/skipif.inc
index 6d71bca..78c0d5c 100755
--- a/ext/interbase/tests/skipif.inc
+++ b/ext/interbase/tests/skipif.inc
@@ -1,4 +1,4 @@
-<?php /* $Id: skipif.inc,v 1.3 2004/04/01 16:25:51 abies Exp $ */
+<?php /* $Id: skipif.inc 155152 2004-04-01 16:25:51Z abies $ */
 
 if (!extension_loaded("interbase")) print "skip"; 
 
diff --git a/ext/json/config.m4 b/ext/json/config.m4
index 8b7f089..343a590 100644
--- a/ext/json/config.m4
+++ b/ext/json/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.3.2.4 2007/07/03 17:25:33 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl
 
 PHP_ARG_ENABLE(json, whether to enable JavaScript Object Serialization support,
diff --git a/ext/json/config.w32 b/ext/json/config.w32
index 0cc79dc..f8fb0de 100644
--- a/ext/json/config.w32
+++ b/ext/json/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2.2.1 2006/07/22 15:33:02 rrichards Exp $
+// $Id: config.w32 216887 2006-07-22 15:33:02Z rrichards $
 // vim:ft=javascript
 
 ARG_ENABLE("json", "JavaScript Object Serialization support", "yes");
diff --git a/ext/json/json.c b/ext/json/json.c
index 3113519..9999a18 100644
--- a/ext/json/json.c
+++ b/ext/json/json.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: json.c,v 1.9.2.29 2009/06/01 14:03:24 tony2001 Exp $ */
+/* $Id: json.c 282593 2009-06-22 18:41:13Z stas $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -341,7 +341,7 @@ static void json_escape_string(smart_str *buf, char *s, int len TSRMLS_DC) /* {{
 }
 /* }}} */
 
-PHPAPI void php_json_encode(smart_str *buf, zval *val TSRMLS_DC) /* {{{ */
+PHP_JSON_API void php_json_encode(smart_str *buf, zval *val TSRMLS_DC) /* {{{ */
 {
     switch (Z_TYPE_P(val)) {
         case IS_NULL:
@@ -393,7 +393,7 @@ PHPAPI void php_json_encode(smart_str *buf, zval *val TSRMLS_DC) /* {{{ */
 }
 /* }}} */
 
-PHPAPI void php_json_decode(zval *return_value, char *buf, int buf_len, zend_bool assoc TSRMLS_DC) /* {{{ */
+PHP_JSON_API void php_json_decode(zval *return_value, char *buf, int buf_len, zend_bool assoc TSRMLS_DC) /* {{{ */
 {
 	unsigned short *utf16;
 	int utf16_len;
diff --git a/ext/json/php_json.h b/ext/json/php_json.h
index 055fa11..60a06bd 100644
--- a/ext/json/php_json.h
+++ b/ext/json/php_json.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_json.h,v 1.8.2.7 2009/06/01 14:03:24 tony2001 Exp $ */
+/* $Id: php_json.h 282593 2009-06-22 18:41:13Z stas $ */
 
 #ifndef PHP_JSON_H
 #define PHP_JSON_H
@@ -44,8 +44,8 @@ extern zend_module_entry json_module_entry;
 #define JSON_G(v) (json_globals.v)
 #endif
 
-PHPAPI void php_json_encode(smart_str *buf, zval *val TSRMLS_DC);
-PHPAPI void php_json_decode(zval *return_value, char *buf, int buf_len, zend_bool assoc TSRMLS_DC);
+PHP_JSON_API void php_json_encode(smart_str *buf, zval *val TSRMLS_DC);
+PHP_JSON_API void php_json_decode(zval *return_value, char *buf, int buf_len, zend_bool assoc TSRMLS_DC);
 
 #endif  /* PHP_JSON_H */
 
diff --git a/ext/ldap/config.m4 b/ext/ldap/config.m4
index 15af999..2e97d60 100644
--- a/ext/ldap/config.m4
+++ b/ext/ldap/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.39.2.6.2.2 2007/08/08 11:37:44 nlopess Exp $
+dnl $Id: config.m4 240880 2007-08-08 11:37:44Z nlopess $
 dnl
 
 AC_DEFUN([PHP_LDAP_CHECKS], [
diff --git a/ext/ldap/config.w32 b/ext/ldap/config.w32
index cd0049f..ac5bcf4 100644
--- a/ext/ldap/config.w32
+++ b/ext/ldap/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2.4.1 2007/08/09 08:42:43 jani Exp $
+// $Id: config.w32 240936 2007-08-09 08:42:43Z jani $
 // vim:ft=javascript
 
 ARG_WITH("ldap", "LDAP support", "no");
diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c
index 420b871..2841d64 100644
--- a/ext/ldap/ldap.c
+++ b/ext/ldap/ldap.c
@@ -23,7 +23,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: ldap.c,v 1.161.2.3.2.18 2009/06/15 15:18:48 patrickallaert Exp $ */
+/* $Id: ldap.c 287936 2009-09-01 08:42:10Z patrickallaert $ */
 #define IS_EXT_MODULE
 
 #ifdef HAVE_CONFIG_H
@@ -221,6 +221,7 @@ static void _free_ldap_result_entry(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 
 	if (entry->ber != NULL) {
 		ber_free(entry->ber, 0);
+		entry->ber = NULL;
 	}
 	zend_list_delete(entry->id);
 	efree(entry);
@@ -322,7 +323,7 @@ PHP_MINFO_FUNCTION(ldap)
 
 	php_info_print_table_start();
 	php_info_print_table_row(2, "LDAP Support", "enabled");
-	php_info_print_table_row(2, "RCS Version", "$Id: ldap.c,v 1.161.2.3.2.18 2009/06/15 15:18:48 patrickallaert Exp $");
+	php_info_print_table_row(2, "RCS Version", "$Id: ldap.c 287936 2009-09-01 08:42:10Z patrickallaert $");
 
 	if (LDAPG(max_links) == -1) {
 		snprintf(tmp, 31, "%ld/unlimited", LDAPG(num_links));
@@ -686,7 +687,7 @@ static void php_ldap_do_search(INTERNAL_FUNCTION_PARAMETERS, int scope)
 	char *ldap_base_dn = NULL;
 	char *ldap_filter = NULL;
 	char **ldap_attrs = NULL; 
-	ldap_linkdata *ld;
+	ldap_linkdata *ld = NULL;
 	LDAPMessage *ldap_res;
 	int ldap_attrsonly = 0;
 	int ldap_sizelimit = -1; 
@@ -902,8 +903,10 @@ cleanup_parallel:
 	}
 
 cleanup:
-	// Restoring previous options
-	php_set_opts(ld->link, old_ldap_sizelimit, old_ldap_timelimit, old_ldap_deref, &ldap_sizelimit, &ldap_timelimit, &ldap_deref);
+	if (ld) {
+		/* Restoring previous options */	
+		php_set_opts(ld->link, old_ldap_sizelimit, old_ldap_timelimit, old_ldap_deref, &ldap_sizelimit, &ldap_timelimit, &ldap_deref);
+	}
 	if (ldap_attrs != NULL) {
 		efree(ldap_attrs);
 	}
diff --git a/ext/ldap/php_ldap.h b/ext/ldap/php_ldap.h
index cceaba2..b3c10c5 100644
--- a/ext/ldap/php_ldap.h
+++ b/ext/ldap/php_ldap.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_ldap.h,v 1.32.2.1.2.4 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: php_ldap.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_LDAP_H
 #define PHP_LDAP_H
diff --git a/ext/ldap/tests/README b/ext/ldap/tests/README
new file mode 100644
index 0000000..7dccd27
--- /dev/null
+++ b/ext/ldap/tests/README
@@ -0,0 +1,53 @@
+Most tests here relies on the availability of an LDAP server configured with TLS.
+
+Client/Server configuration:
+===========================================================
+OpenLDAP 2.3.43 has been used with the configuration below.
+
+Notes:
+1.  A self signed certificate can be generated using:
+    $ openssl req -newkey rsa:1024 -x509 -nodes -out server.pem -keyout server.pem -days 3650
+    It is used for testing ldap_start_tls(), which also requires "TLS_REQCERT never" in client configuration
+2.  An empty LDAP structure is required for the tests to be PASSed
+
+(/etc/openldap/)slapd.conf:
+-----------------------------------------------------------
+TLSCACertificateFile /etc/openldap/ssl/server.pem
+TLSCertificateFile /etc/openldap/ssl/server.pem
+TLSCertificateKeyFile /etc/openldap/ssl/server.pem
+TLSVerifyClient never
+
+# hdb is used instead of bdb as it enables the usage of referrals & aliases
+database        hdb
+suffix          "dc=my-domain,dc=com"
+checkpoint      32      30
+rootdn          "cn=Manager,dc=my-domain,dc=com"
+rootpw          secret
+directory       /var/lib/openldap-data
+index   objectClass     eq
+
+authz-regexp
+	uid=Manager,cn=digest-md5,cn=auth
+	cn=Manager,dc=my-domain,dc=com
+
+
+(/etc/openldap/)ldap.conf:
+-----------------------------------------------------------
+TLS_REQCERT never
+
+Tests configuration:
+===========================================================
+The following environment variables may be defined:
+LDAP_TEST_HOST (default: localhost)                        Host to connect to
+LDAP_TEST_PORT (default: 389)                              Port to connect to
+LDAP_TEST_USER (default: cn=Manager,dc=my-domain,dc=com)   DN used for binding
+LDAP_TEST_SASL_USER (default: Manager)                     SASL user used for SASL binding
+LDAP_TEST_PASSWD (default: secret)                         Password used for plain and SASL binding
+LDAP_TEST_OPT_PROTOCOL_VERSION (default: 3)                Version of LDAP protocol to use
+LDAP_TEST_SKIP_BIND_FAILURE (default: true)                Whether to fail the test or not in case binding fails
+
+Credits:
+===========================================================
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrick.allaert at gmail.com>
+
diff --git a/ext/ldap/tests/bug48696.phpt b/ext/ldap/tests/bug48696.phpt
new file mode 100644
index 0000000..3cef186
--- /dev/null
+++ b/ext/ldap/tests/bug48696.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Bug #48696 (ldap_read() segfaults with invalid parameters)
+--FILE--
+<?php
+
+ldap_read(1,1,1);
+
+?>
+--EXPECTF--
+Warning: ldap_read(): supplied argument is not a valid ldap link resource in %s on line %d
diff --git a/ext/ldap/tests/ldap_add_basic.phpt b/ext/ldap/tests/ldap_add_basic.phpt
new file mode 100644
index 0000000..ca65e49
--- /dev/null
+++ b/ext/ldap/tests/ldap_add_basic.phpt
@@ -0,0 +1,83 @@
+--TEST--
+ldap_add() - Basic add operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+var_dump(
+	ldap_add($link, "dc=my-domain,dc=com", array(
+		"objectClass"	=> array(
+			"top",
+			"dcObject",
+			"organization"),
+		"dc"			=> "my-domain",
+		"o"				=> "my-domain",
+	)),
+	ldap_get_entries(
+		$link,
+		ldap_search($link, "dc=my-domain,dc=com", "(o=my-domain)")
+	)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+ldap_delete($link, "dc=my-domain,dc=com");
+?>
+--EXPECT--
+bool(true)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(8) {
+    ["objectclass"]=>
+    array(4) {
+      ["count"]=>
+      int(3)
+      [0]=>
+      string(3) "top"
+      [1]=>
+      string(8) "dcObject"
+      [2]=>
+      string(12) "organization"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["dc"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [1]=>
+    string(2) "dc"
+    ["o"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [2]=>
+    string(1) "o"
+    ["count"]=>
+    int(3)
+    ["dn"]=>
+    string(19) "dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_add_error.phpt b/ext/ldap/tests/ldap_add_error.phpt
new file mode 100644
index 0000000..943c1a5
--- /dev/null
+++ b/ext/ldap/tests/ldap_add_error.phpt
@@ -0,0 +1,136 @@
+--TEST--
+ldap_add() - Add operation that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+// Too few parameters
+var_dump(ldap_add());
+var_dump(ldap_add($link));
+var_dump(ldap_add($link, "dc=my-domain,dc=com"));
+
+// Too many parameters
+var_dump(ldap_add($link, "dc=my-domain,dc=com", array(), "Additional data"));
+
+var_dump(ldap_add($link, "dc=my-domain,dc=com", array()));
+
+// Invalid DN
+var_dump(
+	ldap_add($link, "weirdAttribute=val", array(
+		"weirdAttribute"			=> "val",
+	)),
+	ldap_error($link),
+	ldap_errno($link)
+);
+
+// Duplicate entry
+for ($i = 0; $i < 2; $i++)
+	var_dump(
+		ldap_add($link, "dc=my-domain,dc=com", array(
+			"objectClass"	=> array(
+				"top",
+				"dcObject",
+				"organization"),
+			"dc"			=> "my-domain",
+			"o"				=> "my-domain",
+		))
+	);
+var_dump(ldap_error($link), ldap_errno($link));
+
+// Wrong array indexes
+var_dump(
+	ldap_add($link, "dc=my-domain2,dc=com", array(
+		"objectClass"	=> array(
+			0	=> "top",
+			2	=> "dcObject",
+			5	=> "organization"),
+		"dc"			=> "my-domain",
+		"o"				=> "my-domain",
+	))
+	/* Is this correct behaviour to still have "Already exists" as error/errno?
+	,
+	ldap_error($link),
+	ldap_errno($link)
+	*/
+);
+
+// Invalid attribute
+var_dump(
+	ldap_add($link, "dc=my-domain,dc=com", array(
+		"objectClass"	=> array(
+			"top",
+			"dcObject",
+			"organization"),
+		"dc"			=> "my-domain",
+		"o"				=> "my-domain",
+		"weirdAttr"		=> "weirdVal",
+	)),
+	ldap_error($link),
+	ldap_errno($link)
+);
+
+var_dump(
+	ldap_add($link, "dc=my-domain,dc=com", array(array( "Oops"
+	)))
+	/* Is this correct behaviour to still have "Undefined attribute type" as error/errno?
+	,
+	ldap_error($link),
+	ldap_errno($link)
+	*/
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+ldap_delete($link, "dc=my-domain,dc=com");
+?>
+--EXPECTF--
+Warning: Wrong parameter count for ldap_add() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_add() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_add() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_add() in %s on line %d
+NULL
+
+Warning: ldap_add(): Add: Protocol error in %s on line %d
+bool(false)
+
+Warning: ldap_add(): Add: Invalid DN syntax in %s on line %d
+bool(false)
+string(17) "Invalid DN syntax"
+int(34)
+bool(true)
+
+Warning: ldap_add(): Add: Already exists in %s on line %d
+bool(false)
+string(14) "Already exists"
+int(68)
+
+Warning: ldap_add(): Value array must have consecutive indices 0, 1, ... in %s on line %d
+bool(false)
+
+Warning: ldap_add(): Add: Undefined attribute type in %s on line %d
+bool(false)
+string(24) "Undefined attribute type"
+int(17)
+
+Warning: ldap_add(): Unknown attribute in the data in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_bind_basic.phpt b/ext/ldap/tests/ldap_bind_basic.phpt
new file mode 100644
index 0000000..bac8d0d
--- /dev/null
+++ b/ext/ldap/tests/ldap_bind_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+ldap_bind() - Basic anonymous binding
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+var_dump(ldap_bind($link));
+?>
+===DONE===
+--EXPECT--
+bool(true)
+===DONE===
diff --git a/ext/ldap/tests/ldap_bind_error.phpt b/ext/ldap/tests/ldap_bind_error.phpt
new file mode 100644
index 0000000..a569ce6
--- /dev/null
+++ b/ext/ldap/tests/ldap_bind_error.phpt
@@ -0,0 +1,35 @@
+--TEST--
+ldap_bind() - Binding that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+
+// Invalid parameter count
+var_dump(ldap_bind($link, $user, $passwd, null));
+
+// Invalid password
+var_dump(ldap_bind($link, $user, "ThisIsNotCorrect$passwd"));
+
+// Invalid DN syntax
+var_dump(ldap_bind($link, "unexistingProperty=weirdValue,$user", $passwd));
+?>
+===DONE===
+--EXPECTF--
+Warning: ldap_bind() expects at most 3 parameters, 4 given in %s on line %d
+bool(false)
+
+Warning: ldap_bind(): Unable to bind to server: Invalid credentials in %s on line %d
+bool(false)
+
+Warning: ldap_bind(): Unable to bind to server: Invalid DN syntax in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_bind_variation.phpt b/ext/ldap/tests/ldap_bind_variation.phpt
new file mode 100644
index 0000000..64abf6c
--- /dev/null
+++ b/ext/ldap/tests/ldap_bind_variation.phpt
@@ -0,0 +1,19 @@
+--TEST--
+ldap_bind() - Advanced binding
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+var_dump(ldap_bind($link, $user, $passwd));
+?>
+===DONE===
+--EXPECT--
+bool(true)
+===DONE===
diff --git a/ext/ldap/tests/ldap_compare_basic.phpt b/ext/ldap/tests/ldap_compare_basic.phpt
new file mode 100644
index 0000000..b0c5e97
--- /dev/null
+++ b/ext/ldap/tests/ldap_compare_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+ldap_compare() - Basic ldap_compare test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+var_dump(
+	ldap_compare($link, "cn=userA,dc=my-domain,dc=com", "sn", "testSN1"),
+	ldap_compare($link, "cn=userA,dc=my-domain,dc=com", "telephoneNumber", "yy-yy-yy-yy-yy")
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_compare_error.phpt b/ext/ldap/tests/ldap_compare_error.phpt
new file mode 100644
index 0000000..15505ed
--- /dev/null
+++ b/ext/ldap/tests/ldap_compare_error.phpt
@@ -0,0 +1,55 @@
+--TEST--
+ldap_compare() - Testing ldap_compare() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+// Too few parameters
+var_dump(ldap_compare($link));
+var_dump(ldap_compare($link, $link));
+var_dump(ldap_compare($link, $link, $link));
+
+// Too many parameters
+var_dump(ldap_compare($link, $link, $link, $link, "Additional data"));
+
+var_dump(
+	ldap_compare($link, "cn=userNotAvailable,dc=my-domain,dc=com", "sn", "testSN1"),
+	ldap_error($link),
+	ldap_errno($link)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+Warning: Wrong parameter count for ldap_compare() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_compare() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_compare() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_compare() in %s on line %d
+NULL
+
+Warning: ldap_compare(): Compare: No such object in %s on line %d
+int(-1)
+string(14) "No such object"
+int(32)
+===DONE===
diff --git a/ext/ldap/tests/ldap_connect_basic.phpt b/ext/ldap/tests/ldap_connect_basic.phpt
new file mode 100644
index 0000000..26133a6
--- /dev/null
+++ b/ext/ldap/tests/ldap_connect_basic.phpt
@@ -0,0 +1,18 @@
+--TEST--
+ldap_connect() - Basic connection
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump($link);
+?>
+===DONE===
+--EXPECTF--
+resource(%d) of type (ldap link)
+===DONE===
diff --git a/ext/ldap/tests/ldap_connect_error.phpt b/ext/ldap/tests/ldap_connect_error.phpt
new file mode 100644
index 0000000..fa28fcf
--- /dev/null
+++ b/ext/ldap/tests/ldap_connect_error.phpt
@@ -0,0 +1,31 @@
+--TEST--
+ldap_connect() - Connection errors
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--INI--
+ldap.max_links=1
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+// too many arguments
+var_dump(ldap_connect(null, null, null));
+var_dump(ldap_connect("ldap://$host:$port/dc=my-domain,dc=com"));
+
+$links = array();
+$links[0] = ldap_connect($host, $port);
+$links[1] = ldap_connect($host, $port);
+?>
+===DONE===
+--EXPECTF--
+Warning: ldap_connect() expects at most 2 parameters, 3 given in %s on line %d
+bool(false)
+
+Warning: ldap_connect(): Could not create session handle: %s in %s on line %d
+bool(false)
+
+Warning: ldap_connect(): Too many open links (1) in %s on line %d
+===DONE===
diff --git a/ext/ldap/tests/ldap_connect_variation.phpt b/ext/ldap/tests/ldap_connect_variation.phpt
new file mode 100644
index 0000000..09b07e7
--- /dev/null
+++ b/ext/ldap/tests/ldap_connect_variation.phpt
@@ -0,0 +1,39 @@
+--TEST--
+ldap_connect() - Variation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+// no hostname, no port
+$link = ldap_connect();
+var_dump($link);
+
+// no port
+$link = ldap_connect($host);
+var_dump($link);
+
+// URI
+$link = ldap_connect("ldap://$host:$port");
+var_dump($link);
+
+// URI no port
+$link = ldap_connect("ldap://$host");
+var_dump($link);
+
+// bad hostname (connect should work, not bind)
+$link = ldap_connect("nonexistent" . $host);
+var_dump($link);
+?>
+===DONE===
+--EXPECTF--
+resource(%d) of type (ldap link)
+resource(%d) of type (ldap link)
+resource(%d) of type (ldap link)
+resource(%d) of type (ldap link)
+resource(%d) of type (ldap link)
+===DONE===
diff --git a/ext/ldap/tests/ldap_count_entries_basic.phpt b/ext/ldap/tests/ldap_count_entries_basic.phpt
new file mode 100644
index 0000000..a03f059
--- /dev/null
+++ b/ext/ldap/tests/ldap_count_entries_basic.phpt
@@ -0,0 +1,28 @@
+--TEST--
+ldap_count_entries() - Basic counting LDAP entries
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=person)");
+var_dump(ldap_count_entries($link, $result));
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECT--
+int(3)
+===DONE===
diff --git a/ext/ldap/tests/ldap_count_entries_error.phpt b/ext/ldap/tests/ldap_count_entries_error.phpt
new file mode 100644
index 0000000..c81be7b
--- /dev/null
+++ b/ext/ldap/tests/ldap_count_entries_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ldap_count_entries() - Testing counting LDAP entries that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_count_entries($link));
+var_dump(ldap_count_entries($link, $link));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_count_entries() in %s on line %d
+NULL
+
+Warning: ldap_count_entries(): supplied resource is not a valid ldap result resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_delete_basic.phpt b/ext/ldap/tests/ldap_delete_basic.phpt
new file mode 100644
index 0000000..1457384
--- /dev/null
+++ b/ext/ldap/tests/ldap_delete_basic.phpt
@@ -0,0 +1,40 @@
+--TEST--
+ldap_delete() - Basic delete operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+ldap_add($link, "dc=my-domain,dc=com", array(
+	"objectClass"	=> array(
+		"top",
+		"dcObject",
+		"organization"),
+	"dc"			=> "my-domain",
+	"o"				=> "my-domain",
+));
+
+var_dump(
+	ldap_delete($link, "dc=my-domain,dc=com"),
+	@ldap_search($link, "dc=my-domain,dc=com", "(o=my-domain)")
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+ldap_delete($link, "dc=my-domain,dc=com");
+?>
+--EXPECT--
+bool(true)
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_delete_error.phpt b/ext/ldap/tests/ldap_delete_error.phpt
new file mode 100644
index 0000000..34aa03d
--- /dev/null
+++ b/ext/ldap/tests/ldap_delete_error.phpt
@@ -0,0 +1,62 @@
+--TEST--
+ldap_delete() - Delete operation that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+// Too few parameters
+var_dump(ldap_delete());
+var_dump(ldap_delete($link));
+
+// Too many parameters
+var_dump(ldap_delete($link, "dc=my-domain,dc=com", "Additional data"));
+
+// Invalid DN
+var_dump(
+	ldap_delete($link, "weirdAttribute=val"),
+	ldap_error($link),
+	ldap_errno($link)
+);
+
+// Deleting unexisting data
+var_dump(
+	ldap_delete($link, "dc=my-domain,dc=com"),
+	ldap_error($link),
+	ldap_errno($link)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+?>
+--EXPECTF--
+Warning: Wrong parameter count for ldap_delete() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_delete() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_delete() in %s on line %d
+NULL
+
+Warning: ldap_delete(): Delete: Invalid DN syntax in %s on line %d
+bool(false)
+string(17) "Invalid DN syntax"
+int(34)
+
+Warning: ldap_delete(): Delete: No such object in %s on line %d
+bool(false)
+string(14) "No such object"
+int(32)
+===DONE===
diff --git a/ext/ldap/tests/ldap_err2str_basic.phpt b/ext/ldap/tests/ldap_err2str_basic.phpt
new file mode 100644
index 0000000..0ecad03
--- /dev/null
+++ b/ext/ldap/tests/ldap_err2str_basic.phpt
@@ -0,0 +1,15 @@
+--TEST--
+ldap_err2str() - Basic error number to string conversion
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+var_dump(ldap_err2str(2));
+?>
+===DONE===
+--EXPECT--
+string(14) "Protocol error"
+===DONE===
diff --git a/ext/ldap/tests/ldap_err2str_error.phpt b/ext/ldap/tests/ldap_err2str_error.phpt
new file mode 100644
index 0000000..103df75
--- /dev/null
+++ b/ext/ldap/tests/ldap_err2str_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ldap_err2str() - Incorrect usage of number to string conversion
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+// Too few args
+var_dump(ldap_err2str());
+
+// Too many args
+var_dump(ldap_err2str(1, "Additional data"));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_err2str() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_err2str() in %s on line %d
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_errno_basic.phpt b/ext/ldap/tests/ldap_errno_basic.phpt
new file mode 100644
index 0000000..4b02ac6
--- /dev/null
+++ b/ext/ldap/tests/ldap_errno_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+ldap_errno() - Basic ldap_errno() operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+ at ldap_add($link, "badDN dc=my-domain,dc=com", array(
+	"objectClass"	=> array(
+		"top",
+		"dcObject",
+		"organization"),
+	"dc"			=> "my-domain",
+	"o"				=> "my-domain",
+));
+
+var_dump(
+	ldap_errno($link)
+);
+?>
+===DONE===
+--EXPECT--
+int(34)
+===DONE===
diff --git a/ext/ldap/tests/ldap_errno_error.phpt b/ext/ldap/tests/ldap_errno_error.phpt
new file mode 100644
index 0000000..686cd84
--- /dev/null
+++ b/ext/ldap/tests/ldap_errno_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ldap_errno() - ldap_errno() operation that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+// Too few parameters
+var_dump(ldap_errno());
+
+// Too many parameters
+var_dump(ldap_errno(null, null));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_errno() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_errno() in %s on line %d
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_error_basic.phpt b/ext/ldap/tests/ldap_error_basic.phpt
new file mode 100644
index 0000000..64e4ef6
--- /dev/null
+++ b/ext/ldap/tests/ldap_error_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+ldap_error() - Basic ldap_error() operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+ at ldap_add($link, "badDN dc=my-domain,dc=com", array(
+	"objectClass"	=> array(
+		"top",
+		"dcObject",
+		"organization"),
+	"dc"			=> "my-domain",
+	"o"				=> "my-domain",
+));
+
+var_dump(
+	ldap_error($link)
+);
+?>
+===DONE===
+--EXPECT--
+string(17) "Invalid DN syntax"
+===DONE===
diff --git a/ext/ldap/tests/ldap_error_error.phpt b/ext/ldap/tests/ldap_error_error.phpt
new file mode 100644
index 0000000..8f0bf2d
--- /dev/null
+++ b/ext/ldap/tests/ldap_error_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ldap_error() - ldap_error() operation that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+// Too few parameters
+var_dump(ldap_error());
+
+// Too many parameters
+var_dump(ldap_error(null, null));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_error() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_error() in %s on line %d
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_first_attribute_basic.phpt b/ext/ldap/tests/ldap_first_attribute_basic.phpt
new file mode 100644
index 0000000..8e506fa
--- /dev/null
+++ b/ext/ldap/tests/ldap_first_attribute_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+ldap_first_attribute() - Basic ldap_first_attribute test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=organization)");
+$entry = ldap_first_entry($link, $result);
+var_dump(
+	ldap_first_attribute($link, $entry)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECT--
+string(11) "objectClass"
+===DONE===
diff --git a/ext/ldap/tests/ldap_first_attribute_error.phpt b/ext/ldap/tests/ldap_first_attribute_error.phpt
new file mode 100644
index 0000000..e6df3fd
--- /dev/null
+++ b/ext/ldap/tests/ldap_first_attribute_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ldap_first_attribute() - Testing ldap_first_attribute() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_first_attribute($link));
+var_dump(ldap_first_attribute($link, $link));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_first_attribute() in %s on line %d
+NULL
+
+Warning: ldap_first_attribute(): supplied resource is not a valid ldap result entry resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_first_entry_basic.phpt b/ext/ldap/tests/ldap_first_entry_basic.phpt
new file mode 100644
index 0000000..9b65822
--- /dev/null
+++ b/ext/ldap/tests/ldap_first_entry_basic.phpt
@@ -0,0 +1,37 @@
+--TEST--
+ldap_first_entry() - Basic ldap_first_entry test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=person)");
+var_dump(
+	$entry = ldap_first_entry($link, $result),
+	ldap_get_values($link, $entry, 'sn')
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result entry)
+array(2) {
+  [0]=>
+  string(7) "testSN%d"
+  ["count"]=>
+  int(1)
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_first_entry_error.phpt b/ext/ldap/tests/ldap_first_entry_error.phpt
new file mode 100644
index 0000000..f4d91c4
--- /dev/null
+++ b/ext/ldap/tests/ldap_first_entry_error.phpt
@@ -0,0 +1,27 @@
+--TEST--
+ldap_first_entry() - Testing ldap_first_entry() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_first_entry($link));
+var_dump(ldap_first_entry($link, $link, "Additional data"));
+var_dump(ldap_first_entry($link, $link));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_first_entry() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_first_entry() in %s on line %d
+NULL
+
+Warning: ldap_first_entry(): supplied resource is not a valid ldap result resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_first_reference_basic.phpt b/ext/ldap/tests/ldap_first_reference_basic.phpt
new file mode 100644
index 0000000..d783489
--- /dev/null
+++ b/ext/ldap/tests/ldap_first_reference_basic.phpt
@@ -0,0 +1,43 @@
+--TEST--
+ldap_first_reference() - Basic ldap_first_reference test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+ldap_add($link, "cn=userref,dc=my-domain,dc=com", array(
+        "objectClass" => array("extensibleObject", "referral"),
+        "cn" => "userref",
+        "ref" => "cn=userA,dc=my-domain,dc=com",
+));
+ldap_set_option($link, LDAP_OPT_DEREF, LDAP_DEREF_NEVER);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(cn=*)");
+var_dump($ref = ldap_first_reference($link, $result));
+$refs = null;
+ldap_parse_reference($link, $ref, $refs);
+var_dump($refs);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+// Referral can only be removed with Manage DSA IT Control
+ldap_set_option($link, LDAP_OPT_SERVER_CONTROLS, array(array("oid" => "2.16.840.1.113730.3.4.2")));
+ldap_delete($link, "cn=userref,dc=my-domain,dc=com");
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result entry)
+array(1) {
+  [0]=>
+  string(28) "cn=userA,dc=my-domain,dc=com"
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_first_reference_error.phpt b/ext/ldap/tests/ldap_first_reference_error.phpt
new file mode 100644
index 0000000..fc36dd9
--- /dev/null
+++ b/ext/ldap/tests/ldap_first_reference_error.phpt
@@ -0,0 +1,27 @@
+--TEST--
+ldap_first_reference() - Testing ldap_first_reference() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_first_reference($link));
+var_dump(ldap_first_reference($link, $link, "Additional data"));
+var_dump(ldap_first_reference($link, $link));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_first_reference() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_first_reference() in %s on line %d
+NULL
+
+Warning: ldap_first_reference(): supplied resource is not a valid ldap result resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_free_result_basic.phpt b/ext/ldap/tests/ldap_free_result_basic.phpt
new file mode 100644
index 0000000..33e47d6
--- /dev/null
+++ b/ext/ldap/tests/ldap_free_result_basic.phpt
@@ -0,0 +1,28 @@
+--TEST--
+ldap_free_result() - Basic ldap_free_result tests
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=person)");
+var_dump(ldap_free_result($result));
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+===DONE===
diff --git a/ext/ldap/tests/ldap_free_result_error.phpt b/ext/ldap/tests/ldap_free_result_error.phpt
new file mode 100644
index 0000000..e2a1444
--- /dev/null
+++ b/ext/ldap/tests/ldap_free_result_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ldap_free_result() - Testing ldap_free_result() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_free_result($link));
+var_dump(ldap_free_result($link, "Additional data"));
+?>
+===DONE===
+--EXPECTF--
+Warning: ldap_free_result(): supplied resource is not a valid ldap result resource in %s on line %d
+bool(false)
+
+Warning: Wrong parameter count for ldap_free_result() in %s on line %d
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_attributes_basic.phpt b/ext/ldap/tests/ldap_get_attributes_basic.phpt
new file mode 100644
index 0000000..82074c5
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_attributes_basic.phpt
@@ -0,0 +1,65 @@
+--TEST--
+ldap_get_attributes() - Basic ldap_get_attributes test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=organization)");
+$entry = ldap_first_entry($link, $result);
+var_dump(
+	ldap_get_attributes($link, $entry)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECT--
+array(7) {
+  ["objectClass"]=>
+  array(4) {
+    ["count"]=>
+    int(3)
+    [0]=>
+    string(3) "top"
+    [1]=>
+    string(8) "dcObject"
+    [2]=>
+    string(12) "organization"
+  }
+  [0]=>
+  string(11) "objectClass"
+  ["dc"]=>
+  array(2) {
+    ["count"]=>
+    int(1)
+    [0]=>
+    string(9) "my-domain"
+  }
+  [1]=>
+  string(2) "dc"
+  ["o"]=>
+  array(2) {
+    ["count"]=>
+    int(1)
+    [0]=>
+    string(9) "my-domain"
+  }
+  [2]=>
+  string(1) "o"
+  ["count"]=>
+  int(3)
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_attributes_error.phpt b/ext/ldap/tests/ldap_get_attributes_error.phpt
new file mode 100644
index 0000000..2c7f3ce
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_attributes_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ldap_get_attributes() - Testing ldap_get_attributes() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_get_attributes($link));
+var_dump(ldap_get_attributes($link, $link));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_get_attributes() in %s on line %d
+NULL
+
+Warning: ldap_get_attributes(): supplied resource is not a valid ldap result entry resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_dn_basic.phpt b/ext/ldap/tests/ldap_get_dn_basic.phpt
new file mode 100644
index 0000000..e70e7bf
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_dn_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+ldap_get_dn() - Basic ldap_get_dn test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=organization)");
+$entry = ldap_first_entry($link, $result);
+var_dump(
+	ldap_get_dn($link, $entry)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECT--
+string(19) "dc=my-domain,dc=com"
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_dn_error.phpt b/ext/ldap/tests/ldap_get_dn_error.phpt
new file mode 100644
index 0000000..59460c2
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_dn_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ldap_get_dn() - Testing ldap_get_dn() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_get_dn($link));
+var_dump(ldap_get_dn($link, $link));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_get_dn() in %s on line %d
+NULL
+
+Warning: ldap_get_dn(): supplied resource is not a valid ldap result entry resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_entries_basic.phpt b/ext/ldap/tests/ldap_get_entries_basic.phpt
new file mode 100644
index 0000000..90dbb26
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_entries_basic.phpt
@@ -0,0 +1,74 @@
+--TEST--
+ldap_get_entries() - Basic modify operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+var_dump(
+	ldap_get_entries(
+		$link,
+		ldap_search($link, "dc=my-domain,dc=com", "(o=my-domain)")
+	)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECT--
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(8) {
+    ["objectclass"]=>
+    array(4) {
+      ["count"]=>
+      int(3)
+      [0]=>
+      string(3) "top"
+      [1]=>
+      string(8) "dcObject"
+      [2]=>
+      string(12) "organization"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["dc"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [1]=>
+    string(2) "dc"
+    ["o"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [2]=>
+    string(1) "o"
+    ["count"]=>
+    int(3)
+    ["dn"]=>
+    string(19) "dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_entries_error.phpt b/ext/ldap/tests/ldap_get_entries_error.phpt
new file mode 100644
index 0000000..e51850e
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_entries_error.phpt
@@ -0,0 +1,33 @@
+--TEST--
+ldap_get_entries() - ldap_get_entries() operation that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+
+// Too few parameters
+var_dump(ldap_get_entries($link));
+
+// Too many parameters
+var_dump(ldap_get_entries($link, $link, "Additional data"));
+
+// Bad parameter
+var_dump(ldap_get_entries($link, "string"));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_get_entries() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_get_entries() in %s on line %d
+NULL
+
+Warning: ldap_get_entries(): supplied argument is not a valid ldap result resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_entries_variation.phpt b/ext/ldap/tests/ldap_get_entries_variation.phpt
new file mode 100644
index 0000000..92c4974
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_entries_variation.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Test ldap_get_entries() function - variation: used on empty search
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+var_dump(
+	ldap_get_entries(
+		$link,
+		ldap_search($link, "dc=my-domain,dc=com", "(o=my-unexisting-domain)")
+	)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECT--
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_option_basic.phpt b/ext/ldap/tests/ldap_get_option_basic.phpt
new file mode 100644
index 0000000..3136a5a
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_option_basic.phpt
@@ -0,0 +1,25 @@
+--TEST--
+ldap_get_option() - Basic ldap_get_option() operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+$option = null;
+ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+
+var_dump(
+	ldap_get_option($link, LDAP_OPT_PROTOCOL_VERSION, $option),
+	$option
+);
+?>
+===DONE===
+--EXPECT--
+bool(true)
+int(3)
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_option_error.phpt b/ext/ldap/tests/ldap_get_option_error.phpt
new file mode 100644
index 0000000..4208a48
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_option_error.phpt
@@ -0,0 +1,40 @@
+--TEST--
+ldap_get_option() - ldap_get_option() operation that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+$option = null;
+
+// Too few parameters
+var_dump(ldap_get_option());
+var_dump(ldap_get_option($link));
+var_dump(ldap_get_option($link, LDAP_OPT_PROTOCOL_VERSION));
+
+// Too many parameters
+var_dump(
+	ldap_get_option($link, LDAP_OPT_PROTOCOL_VERSION, $option, "Additional data"),
+	$option
+);
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_get_option() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_get_option() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_get_option() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_get_option() in %s on line %d
+NULL
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_option_variation.phpt b/ext/ldap/tests/ldap_get_option_variation.phpt
new file mode 100644
index 0000000..9e5a993
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_option_variation.phpt
@@ -0,0 +1,61 @@
+--TEST--
+ldap_get_option() - More ldap_get_option() operations
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+$option = null;
+
+$controls = array(
+	array("oid" => "1.2.752.58.10.1", "iscritical" => true),
+	array("oid" => "1.2.752.58.1.10", "value" => "magic"),
+);
+
+ldap_set_option($link, LDAP_OPT_DEREF, LDAP_DEREF_NEVER);
+ldap_set_option($link, LDAP_OPT_SIZELIMIT, 123);
+ldap_set_option($link, LDAP_OPT_TIMELIMIT, 33);
+ldap_set_option($link, LDAP_OPT_REFERRALS, false);
+ldap_set_option($link, LDAP_OPT_SERVER_CONTROLS, $controls);
+ldap_set_option($link, LDAP_OPT_CLIENT_CONTROLS, $controls);
+ldap_set_option($link, LDAP_OPT_RESTART, false);
+
+var_dump(
+	ldap_get_option($link, LDAP_OPT_DEREF, $option),
+	$option,
+	ldap_get_option($link, LDAP_OPT_SIZELIMIT, $option),
+	$option,
+	ldap_get_option($link, LDAP_OPT_TIMELIMIT, $option),
+	$option,
+	ldap_get_option($link, LDAP_OPT_REFERRALS, $option),
+	$option,
+	ldap_get_option($link, LDAP_OPT_RESTART, $option),
+	$option,
+	ldap_get_option($link, LDAP_OPT_SERVER_CONTROLS, $option),
+	$option,
+	ldap_get_option($link, LDAP_OPT_CLIENT_CONTROLS, $option),
+	$option
+);
+?>
+===DONE===
+--EXPECT--
+bool(true)
+int(0)
+bool(true)
+int(123)
+bool(true)
+int(33)
+bool(true)
+int(0)
+bool(true)
+int(0)
+bool(false)
+int(0)
+bool(false)
+int(0)
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_values_len_basic.phpt b/ext/ldap/tests/ldap_get_values_len_basic.phpt
new file mode 100644
index 0000000..ed84614
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_values_len_basic.phpt
@@ -0,0 +1,36 @@
+--TEST--
+ldap_get_values_len() - Basic ldap_get_values_len test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=organization)");
+$entry = ldap_first_entry($link, $result);
+var_dump(
+	ldap_get_values_len($link, $entry, "o")
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECT--
+array(2) {
+  [0]=>
+  string(9) "my-domain"
+  ["count"]=>
+  int(1)
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_get_values_len_error.phpt b/ext/ldap/tests/ldap_get_values_len_error.phpt
new file mode 100644
index 0000000..c163cc2
--- /dev/null
+++ b/ext/ldap/tests/ldap_get_values_len_error.phpt
@@ -0,0 +1,45 @@
+--TEST--
+ldap_get_values_len() - Testing ldap_get_values_len() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=organization)");
+$entry = ldap_first_entry($link, $result);
+
+// Too few parameters
+var_dump(ldap_get_values_len($link));
+var_dump(ldap_get_values_len($link, $entry));
+var_dump(ldap_get_values_len($link, $entry, "weirdAttribute", "Additional data"));
+
+var_dump(ldap_get_values_len($link, $entry, "inexistantAttribute"));
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+Warning: Wrong parameter count for ldap_get_values_len() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_get_values_len() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_get_values_len() in %s on line %d
+NULL
+
+Warning: ldap_get_values_len(): Cannot get the value(s) of attribute %s in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_list_basic.phpt b/ext/ldap/tests/ldap_list_basic.phpt
new file mode 100644
index 0000000..1993f30
--- /dev/null
+++ b/ext/ldap/tests/ldap_list_basic.phpt
@@ -0,0 +1,150 @@
+--TEST--
+ldap_list() test
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrickallaert at php.net>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifbindfailure.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+var_dump(
+	$result = ldap_list($link, "dc=my-domain,dc=com", "(objectClass=person)"),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result)
+array(3) {
+  ["count"]=>
+  int(2)
+  [0]=>
+  array(14) {
+    ["objectclass"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "person"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["cn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(5) "userA"
+    }
+    [1]=>
+    string(2) "cn"
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN1"
+    }
+    [2]=>
+    string(2) "sn"
+    ["userpassword"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(4) "oops"
+    }
+    [3]=>
+    string(12) "userpassword"
+    ["telephonenumber"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(14) "xx-xx-xx-xx-xx"
+    }
+    [4]=>
+    string(15) "telephonenumber"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user A"
+    }
+    [5]=>
+    string(11) "description"
+    ["count"]=>
+    int(6)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+  [1]=>
+  array(12) {
+    ["objectclass"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "person"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["cn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(5) "userB"
+    }
+    [1]=>
+    string(2) "cn"
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN2"
+    }
+    [2]=>
+    string(2) "sn"
+    ["userpassword"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(15) "oopsIDitItAgain"
+    }
+    [3]=>
+    string(12) "userpassword"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user B"
+    }
+    [4]=>
+    string(11) "description"
+    ["count"]=>
+    int(5)
+    ["dn"]=>
+    string(28) "cn=userB,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_list_error.phpt b/ext/ldap/tests/ldap_list_error.phpt
new file mode 100644
index 0000000..f1e5680
--- /dev/null
+++ b/ext/ldap/tests/ldap_list_error.phpt
@@ -0,0 +1,35 @@
+--TEST--
+ldap_list() - operation that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect($host, $port);
+
+// Too few parameters
+var_dump(ldap_list());
+var_dump(ldap_list($link));
+var_dump(ldap_list($link, $link));
+
+// Too many parameters
+var_dump(ldap_list($link, "dc=my-domain,dc=com", "(objectClass=*)", array(), 0, 0, 0, 0 , "Additional data"));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_list() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_list() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_list() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_list() in %s on line %d
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_mod_add_basic.phpt b/ext/ldap/tests/ldap_mod_add_basic.phpt
new file mode 100644
index 0000000..8c8164c
--- /dev/null
+++ b/ext/ldap/tests/ldap_mod_add_basic.phpt
@@ -0,0 +1,90 @@
+--TEST--
+ldap_mod_add() - Basic modify operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+$entry = array(
+	"description"	=> "Domain description",
+);
+
+var_dump(
+	ldap_mod_add($link, "dc=my-domain,dc=com", $entry),
+	ldap_get_entries(
+		$link,
+		ldap_search($link, "dc=my-domain,dc=com", "(Description=Domain description)")
+	)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(10) {
+    ["objectclass"]=>
+    array(4) {
+      ["count"]=>
+      int(3)
+      [0]=>
+      string(3) "top"
+      [1]=>
+      string(8) "dcObject"
+      [2]=>
+      string(12) "organization"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["dc"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [1]=>
+    string(2) "dc"
+    ["o"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [2]=>
+    string(1) "o"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(18) "Domain description"
+    }
+    [3]=>
+    string(11) "description"
+    ["count"]=>
+    int(4)
+    ["dn"]=>
+    string(19) "dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_mod_add_error.phpt b/ext/ldap/tests/ldap_mod_add_error.phpt
new file mode 100644
index 0000000..560d4ca
--- /dev/null
+++ b/ext/ldap/tests/ldap_mod_add_error.phpt
@@ -0,0 +1,83 @@
+--TEST--
+ldap_mod_add() - ldap_mod_add() operations that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+// Too few parameters
+var_dump(ldap_mod_add());
+var_dump(ldap_mod_add($link));
+var_dump(ldap_mod_add($link, "dc=my-domain,dc=com"));
+
+// Too many parameters
+var_dump(ldap_mod_add($link, "dc=my-domain,dc=com", array(), "Additional data"));
+
+// DN not found
+var_dump(ldap_mod_add($link, "dc=my-domain,dc=com", array()));
+
+// Invalid DN
+var_dump(ldap_mod_add($link, "weirdAttribute=val", array()));
+
+$entry = array(
+	"objectClass"	=> array(
+		"top",
+		"dcObject",
+		"organization"),
+	"dc"			=> "my-domain",
+	"o"				=> "my-domain",
+);
+
+ldap_add($link, "dc=my-domain,dc=com", $entry);
+
+$entry2 = $entry;
+$entry2["dc"] = "Wrong Domain";
+
+var_dump(ldap_mod_add($link, "dc=my-domain,dc=com", $entry2));
+
+$entry2 = $entry;
+$entry2["weirdAttribute"] = "weirdVal";
+
+var_dump(ldap_mod_add($link, "dc=my-domain,dc=com", $entry2));
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+ldap_delete($link, "dc=my-domain,dc=com");
+?>
+--EXPECTF--
+Warning: Wrong parameter count for ldap_mod_add() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_mod_add() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_mod_add() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_mod_add() in %s on line %d
+NULL
+
+Warning: ldap_mod_add(): Modify: No such object in %s on line %d
+bool(false)
+
+Warning: ldap_mod_add(): Modify: Invalid DN syntax in %s on line %d
+bool(false)
+
+Warning: ldap_mod_add(): Modify: Type or value exists in %s on line %d
+bool(false)
+
+Warning: ldap_mod_add(): Modify: Undefined attribute type in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_mod_del_basic.phpt b/ext/ldap/tests/ldap_mod_del_basic.phpt
new file mode 100644
index 0000000..0d002bd
--- /dev/null
+++ b/ext/ldap/tests/ldap_mod_del_basic.phpt
@@ -0,0 +1,40 @@
+--TEST--
+ldap_mod_del() - Basic modify operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+$entry = array(
+	"description" => "user A"
+);
+
+var_dump(
+	ldap_mod_del($link, "cn=userA,dc=my-domain,dc=com", $entry),
+	ldap_get_entries(
+		$link,
+		ldap_search($link, "dc=my-domain,dc=com", "(description=user A)")
+	)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_mod_del_error.phpt b/ext/ldap/tests/ldap_mod_del_error.phpt
new file mode 100644
index 0000000..29efeeb
--- /dev/null
+++ b/ext/ldap/tests/ldap_mod_del_error.phpt
@@ -0,0 +1,62 @@
+--TEST--
+ldap_mod_del() - ldap_mod_del() operations that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+// Too few parameters
+var_dump(ldap_mod_del());
+var_dump(ldap_mod_del($link));
+var_dump(ldap_mod_del($link, "dc=my-domain,dc=com"));
+
+// Too many parameters
+var_dump(ldap_mod_del($link, "dc=my-domain,dc=com", array(), "Additional data"));
+
+// DN not found
+var_dump(ldap_mod_del($link, "dc=my-domain,dc=com", array()));
+
+// Invalid DN
+var_dump(ldap_mod_del($link, "weirdAttribute=val", array()));
+
+// Invalid attributes
+var_dump(ldap_mod_del($link, "dc=my-domain,dc=com", array('dc')));
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+ldap_delete($link, "dc=my-domain,dc=com");
+?>
+--EXPECTF--
+Warning: Wrong parameter count for ldap_mod_del() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_mod_del() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_mod_del() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_mod_del() in %s on line %d
+NULL
+
+Warning: ldap_mod_del(): Modify: No such object in %s on line %d
+bool(false)
+
+Warning: ldap_mod_del(): Modify: Invalid DN syntax in %s on line %d
+bool(false)
+
+Warning: ldap_mod_del(): Unknown attribute in the data in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_mod_replace_basic.phpt b/ext/ldap/tests/ldap_mod_replace_basic.phpt
new file mode 100644
index 0000000..d1670ec
--- /dev/null
+++ b/ext/ldap/tests/ldap_mod_replace_basic.phpt
@@ -0,0 +1,59 @@
+--TEST--
+ldap_mod_replace() - Basic modify operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+$entry = array(
+	"description" => "user X"
+);
+
+var_dump(
+	ldap_mod_replace($link, "cn=userA,dc=my-domain,dc=com", $entry),
+	ldap_get_entries(
+		$link,
+		ldap_search($link, "dc=my-domain,dc=com", "(description=user X)", array("description"))
+	)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(4) {
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user X"
+    }
+    [0]=>
+    string(11) "description"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_mod_replace_error.phpt b/ext/ldap/tests/ldap_mod_replace_error.phpt
new file mode 100644
index 0000000..20fee86
--- /dev/null
+++ b/ext/ldap/tests/ldap_mod_replace_error.phpt
@@ -0,0 +1,62 @@
+--TEST--
+ldap_mod_replace() - ldap_mod_replace() operations that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+// Too few parameters
+var_dump(ldap_mod_replace());
+var_dump(ldap_mod_replace($link));
+var_dump(ldap_mod_replace($link, "dc=my-domain,dc=com"));
+
+// Too many parameters
+var_dump(ldap_mod_replace($link, "dc=my-domain,dc=com", array(), "Additional data"));
+
+// DN not found
+var_dump(ldap_mod_replace($link, "dc=my-domain,dc=com", array()));
+
+// Invalid DN
+var_dump(ldap_mod_replace($link, "weirdAttribute=val", array()));
+
+// Invalid attributes
+var_dump(ldap_mod_replace($link, "dc=my-domain,dc=com", array('dc')));
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+ldap_delete($link, "dc=my-domain,dc=com");
+?>
+--EXPECTF--
+Warning: Wrong parameter count for ldap_mod_replace() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_mod_replace() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_mod_replace() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_mod_replace() in %s on line %d
+NULL
+
+Warning: ldap_mod_replace(): Modify: No such object in %s on line %d
+bool(false)
+
+Warning: ldap_mod_replace(): Modify: Invalid DN syntax in %s on line %d
+bool(false)
+
+Warning: ldap_mod_replace(): Unknown attribute in the data in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_modify_basic.phpt b/ext/ldap/tests/ldap_modify_basic.phpt
new file mode 100644
index 0000000..74bd831
--- /dev/null
+++ b/ext/ldap/tests/ldap_modify_basic.phpt
@@ -0,0 +1,96 @@
+--TEST--
+ldap_modify() - Basic modify operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+$entry = array(
+	"objectClass"	=> array(
+		"top",
+		"dcObject",
+		"organization"),
+	"dc"		=> "my-domain",
+	"o"		=> "my-domain",
+	"description"	=> "Domain description",
+);
+
+var_dump(
+	ldap_modify($link, "dc=my-domain,dc=com", $entry),
+	ldap_get_entries(
+		$link,
+		ldap_search($link, "dc=my-domain,dc=com", "(Description=Domain description)")
+	)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(10) {
+    ["objectclass"]=>
+    array(4) {
+      ["count"]=>
+      int(3)
+      [0]=>
+      string(3) "top"
+      [1]=>
+      string(8) "dcObject"
+      [2]=>
+      string(12) "organization"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["dc"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [1]=>
+    string(2) "dc"
+    ["o"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [2]=>
+    string(1) "o"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(18) "Domain description"
+    }
+    [3]=>
+    string(11) "description"
+    ["count"]=>
+    int(4)
+    ["dn"]=>
+    string(19) "dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_modify_error.phpt b/ext/ldap/tests/ldap_modify_error.phpt
new file mode 100644
index 0000000..ca417b5
--- /dev/null
+++ b/ext/ldap/tests/ldap_modify_error.phpt
@@ -0,0 +1,83 @@
+--TEST--
+ldap_modify() - Modify operations that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+// Too few parameters
+var_dump(ldap_modify());
+var_dump(ldap_modify($link));
+var_dump(ldap_modify($link, "dc=my-domain,dc=com"));
+
+// Too many parameters
+var_dump(ldap_modify($link, "dc=my-domain,dc=com", array(), "Additional data"));
+
+// DN not found
+var_dump(ldap_modify($link, "dc=my-domain,dc=com", array()));
+
+// Invalid DN
+var_dump(ldap_modify($link, "weirdAttribute=val", array()));
+
+$entry = array(
+	"objectClass"	=> array(
+		"top",
+		"dcObject",
+		"organization"),
+	"dc"			=> "my-domain",
+	"o"				=> "my-domain",
+);
+
+ldap_add($link, "dc=my-domain,dc=com", $entry);
+
+$entry2 = $entry;
+$entry2["dc"] = "Wrong Domain";
+
+var_dump(ldap_modify($link, "dc=my-domain,dc=com", $entry2));
+
+$entry2 = $entry;
+$entry2["weirdAttribute"] = "weirdVal";
+
+var_dump(ldap_modify($link, "dc=my-domain,dc=com", $entry2));
+?>
+===DONE===
+--CLEAN--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+ldap_delete($link, "dc=my-domain,dc=com");
+?>
+--EXPECTF--
+Warning: Wrong parameter count for ldap_modify() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_modify() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_modify() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_modify() in %s on line %d
+NULL
+
+Warning: ldap_modify(): Modify: No such object in %s on line %d
+bool(false)
+
+Warning: ldap_modify(): Modify: Invalid DN syntax in %s on line %d
+bool(false)
+
+Warning: ldap_modify(): Modify: Naming violation in %s on line %d
+bool(false)
+
+Warning: ldap_modify(): Modify: Undefined attribute type in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_next_attribute_basic.phpt b/ext/ldap/tests/ldap_next_attribute_basic.phpt
new file mode 100644
index 0000000..0fab78a
--- /dev/null
+++ b/ext/ldap/tests/ldap_next_attribute_basic.phpt
@@ -0,0 +1,36 @@
+--TEST--
+ldap_next_attribute() - Basic ldap_next_attribute test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=organization)");
+$entry = ldap_first_entry($link, $result);
+$attribute = ldap_first_attribute($link, $entry);
+var_dump(
+	ldap_next_attribute($link, $entry),
+	ldap_next_attribute($link, $entry),
+	ldap_next_attribute($link, $entry)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+string(%d) "%s"
+string(%d) "%s"
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_next_attribute_error.phpt b/ext/ldap/tests/ldap_next_attribute_error.phpt
new file mode 100644
index 0000000..2c23224
--- /dev/null
+++ b/ext/ldap/tests/ldap_next_attribute_error.phpt
@@ -0,0 +1,40 @@
+--TEST--
+ldap_next_attribute() - Testing ldap_next_attribute() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=organization)");
+$entry = ldap_first_entry($link, $result);
+var_dump(
+	ldap_next_attribute($link),
+	ldap_next_attribute($link, $link),
+	ldap_next_attribute($link, $entry)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+Warning: Wrong parameter count for ldap_next_attribute() %s on line %d
+
+Warning: ldap_next_attribute(): supplied resource is not a valid ldap result entry resource in %s on line %d
+
+Warning: ldap_next_attribute(): called before calling ldap_first_attribute() or no attributes found in result entry in %s on line %d
+NULL
+bool(false)
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_next_entry_basic.phpt b/ext/ldap/tests/ldap_next_entry_basic.phpt
new file mode 100644
index 0000000..3209df6
--- /dev/null
+++ b/ext/ldap/tests/ldap_next_entry_basic.phpt
@@ -0,0 +1,40 @@
+--TEST--
+ldap_next_entry() - Basic ldap_first_entry test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+$result = ldap_list($link, "dc=my-domain,dc=com", "(objectClass=person)");
+$entry = ldap_first_entry($link, $result);
+var_dump(
+	$entry = ldap_next_entry($link, $entry),
+	ldap_get_values($link, $entry, 'sn'),
+	$entry = ldap_next_entry($link, $entry)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result entry)
+array(2) {
+  [0]=>
+  string(7) "testSN%d"
+  ["count"]=>
+  int(1)
+}
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_next_entry_error.phpt b/ext/ldap/tests/ldap_next_entry_error.phpt
new file mode 100644
index 0000000..89bf1f0
--- /dev/null
+++ b/ext/ldap/tests/ldap_next_entry_error.phpt
@@ -0,0 +1,27 @@
+--TEST--
+ldap_next_entry() - Testing ldap_next_entry() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_next_entry($link));
+var_dump(ldap_next_entry($link, $link, "Additional data"));
+var_dump(ldap_next_entry($link, $link));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_next_entry() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_next_entry() in %s on line %d
+NULL
+
+Warning: ldap_next_entry(): supplied resource is not a valid ldap result entry resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_next_reference_basic.phpt b/ext/ldap/tests/ldap_next_reference_basic.phpt
new file mode 100644
index 0000000..d0fa31d
--- /dev/null
+++ b/ext/ldap/tests/ldap_next_reference_basic.phpt
@@ -0,0 +1,49 @@
+--TEST--
+ldap_next_reference() - Basic ldap_next_reference test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+ldap_add($link, "cn=userref,dc=my-domain,dc=com", array(
+        "objectClass" => array("extensibleObject", "referral"),
+        "cn" => "userref",
+        "ref" => "cn=userA,dc=my-domain,dc=com",
+));
+ldap_add($link, "cn=userref2,dc=my-domain,dc=com", array(
+        "objectClass" => array("extensibleObject", "referral"),
+        "cn" => "userref2",
+        "ref" => "cn=userB,dc=my-domain,dc=com",
+));
+ldap_set_option($link, LDAP_OPT_DEREF, LDAP_DEREF_NEVER);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(cn=*)");
+$ref = ldap_first_reference($link, $result);
+var_dump($ref2 = ldap_next_reference($link, $ref));
+ldap_parse_reference($link, $ref2, $refs);
+var_dump($refs);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+// Referral can only be removed with Manage DSA IT Control
+ldap_set_option($link, LDAP_OPT_SERVER_CONTROLS, array(array("oid" => "2.16.840.1.113730.3.4.2")));
+ldap_delete($link, "cn=userref,dc=my-domain,dc=com");
+ldap_delete($link, "cn=userref2,dc=my-domain,dc=com");
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result entry)
+array(1) {
+  [0]=>
+  string(28) "cn=userB,dc=my-domain,dc=com"
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_next_reference_error.phpt b/ext/ldap/tests/ldap_next_reference_error.phpt
new file mode 100644
index 0000000..5cde899
--- /dev/null
+++ b/ext/ldap/tests/ldap_next_reference_error.phpt
@@ -0,0 +1,27 @@
+--TEST--
+ldap_next_reference() - Testing ldap_next_reference() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_next_reference($link));
+var_dump(ldap_next_reference($link, $link, "Additional data"));
+var_dump(ldap_next_reference($link, $link));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_next_reference() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_next_reference() in %s on line %d
+NULL
+
+Warning: ldap_next_reference(): supplied resource is not a valid ldap result entry resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_parse_reference_basic.phpt b/ext/ldap/tests/ldap_parse_reference_basic.phpt
new file mode 100644
index 0000000..2bacd42
--- /dev/null
+++ b/ext/ldap/tests/ldap_parse_reference_basic.phpt
@@ -0,0 +1,45 @@
+--TEST--
+ldap_parse_reference() - Basic ldap_parse_reference test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+ldap_add($link, "cn=userref,dc=my-domain,dc=com", array(
+        "objectClass" => array("extensibleObject", "referral"),
+        "cn" => "userref",
+        "ref" => "cn=userA,dc=my-domain,dc=com",
+));
+ldap_set_option($link, LDAP_OPT_DEREF, LDAP_DEREF_NEVER);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(cn=*)");
+$ref = ldap_first_reference($link, $result);
+$refs = null;
+var_dump(
+	ldap_parse_reference($link, $ref, $refs),
+	$refs
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+// Referral can only be removed with Manage DSA IT Control
+ldap_set_option($link, LDAP_OPT_SERVER_CONTROLS, array(array("oid" => "2.16.840.1.113730.3.4.2")));
+ldap_delete($link, "cn=userref,dc=my-domain,dc=com");
+remove_dummy_data($link);
+?>
+--EXPECTF--
+bool(true)
+array(1) {
+  [0]=>
+  string(28) "cn=userA,dc=my-domain,dc=com"
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_parse_reference_error.phpt b/ext/ldap/tests/ldap_parse_reference_error.phpt
new file mode 100644
index 0000000..104d5d3
--- /dev/null
+++ b/ext/ldap/tests/ldap_parse_reference_error.phpt
@@ -0,0 +1,31 @@
+--TEST--
+ldap_parse_reference() - ldap_parse_reference() operations that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+$link = ldap_connect($host, $port);
+$refs = null;
+var_dump(
+	ldap_parse_reference($link, $link),
+	ldap_parse_reference($link, $link, $refs),
+	ldap_parse_reference($link, $refs, $refs, "Additional data"),
+	$refs
+);
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_parse_reference() in %s on line %d
+
+Warning: ldap_parse_reference(): supplied resource is not a valid ldap result entry resource in %s on line %d
+
+Warning: Wrong parameter count for ldap_parse_reference() in %s on line %d
+NULL
+bool(false)
+NULL
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_parse_result_basic.phpt b/ext/ldap/tests/ldap_parse_result_basic.phpt
new file mode 100644
index 0000000..1646d59
--- /dev/null
+++ b/ext/ldap/tests/ldap_parse_result_basic.phpt
@@ -0,0 +1,47 @@
+--TEST--
+ldap_parse_result() - Basic ldap_parse_result test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+ldap_add($link, "cn=userref,dc=my-domain,dc=com", array(
+        "objectClass" => array("extensibleObject", "referral"),
+        "cn" => "userref",
+        "ref" => "cn=userA,dc=my-domain,dc=com",
+));
+$result = ldap_search($link, "cn=userref,dc=my-domain,dc=com", "(cn=user*)");
+$errcode = $dn = $errmsg = $refs =  null;
+var_dump(
+	ldap_parse_result($link, $result, $errcode, $dn, $errmsg, $refs),
+	$errcode, $dn, $errmsg, $refs
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+// Referral can only be removed with Manage DSA IT Control
+ldap_set_option($link, LDAP_OPT_SERVER_CONTROLS, array(array("oid" => "2.16.840.1.113730.3.4.2")));
+ldap_delete($link, "cn=userref,dc=my-domain,dc=com");
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+int(10)
+string(30) "cn=userref,dc=my-domain,dc=com"
+string(0) ""
+array(1) {
+  [0]=>
+  string(28) "cn=userA,dc=my-domain,dc=com"
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_parse_result_error.phpt b/ext/ldap/tests/ldap_parse_result_error.phpt
new file mode 100644
index 0000000..8811783
--- /dev/null
+++ b/ext/ldap/tests/ldap_parse_result_error.phpt
@@ -0,0 +1,17 @@
+--TEST--
+ldap_parse_result() - Testing ldap_parse_result() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+var_dump(ldap_parse_result(null, null));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_parse_result() in %s on line %d
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_read_basic.phpt b/ext/ldap/tests/ldap_read_basic.phpt
new file mode 100644
index 0000000..04d03d9
--- /dev/null
+++ b/ext/ldap/tests/ldap_read_basic.phpt
@@ -0,0 +1,75 @@
+--TEST--
+ldap_read() test
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrickallaert at php.net>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php 
+require_once('skipif.inc'); 
+require_once('skipifbindfailure.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+var_dump(
+	$result = ldap_read($link, "dc=my-domain,dc=com", "(dc=*)"),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(8) {
+    ["objectclass"]=>
+    array(4) {
+      ["count"]=>
+      int(3)
+      [0]=>
+      string(3) "top"
+      [1]=>
+      string(8) "dcObject"
+      [2]=>
+      string(12) "organization"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["dc"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [1]=>
+    string(2) "dc"
+    ["o"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [2]=>
+    string(1) "o"
+    ["count"]=>
+    int(3)
+    ["dn"]=>
+    string(19) "dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_read_error.phpt b/ext/ldap/tests/ldap_read_error.phpt
new file mode 100644
index 0000000..10c0e29
--- /dev/null
+++ b/ext/ldap/tests/ldap_read_error.phpt
@@ -0,0 +1,35 @@
+--TEST--
+ldap_read() - operation that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect($host, $port);
+
+// Too few parameters
+var_dump(ldap_read());
+var_dump(ldap_read($link));
+var_dump(ldap_read($link, $link));
+
+// Too many parameters
+var_dump(ldap_read($link, "dc=my-domain,dc=com", "(objectClass=*)", array(), 0, 0, 0, 0 , "Additional data"));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_read() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_read() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_read() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_read() in %s on line %d
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_rename_basic.phpt b/ext/ldap/tests/ldap_rename_basic.phpt
new file mode 100644
index 0000000..135769d
--- /dev/null
+++ b/ext/ldap/tests/ldap_rename_basic.phpt
@@ -0,0 +1,62 @@
+--TEST--
+ldap_rename() - Basic ldap_rename test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+var_dump(
+	ldap_rename($link, "cn=userA,dc=my-domain,dc=com", "cn=userZ", "dc=my-domain,dc=com", true)
+);
+$result = ldap_search($link, "dc=my-domain,dc=com", "(cn=userA)", array("cn", "sn"));
+$result = ldap_search($link, "dc=my-domain,dc=com", "(cn=userZ)", array("cn", "sn"));
+var_dump(ldap_get_entries($link, $result));
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+ldap_rename($link, "cn=userZ,dc=my-domain,dc=com", "cn=userA", "dc=my-domain,dc=com", true);
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN1"
+    }
+    [0]=>
+    string(2) "sn"
+    ["cn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(5) "userZ"
+    }
+    [1]=>
+    string(2) "cn"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userZ,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_rename_error.phpt b/ext/ldap/tests/ldap_rename_error.phpt
new file mode 100644
index 0000000..ac088de
--- /dev/null
+++ b/ext/ldap/tests/ldap_rename_error.phpt
@@ -0,0 +1,21 @@
+--TEST--
+ldap_rename() - Testing ldap_rename() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_rename($link));
+var_dump(ldap_rename($link, "cn=userNotFound,dc=my-domain,dc=com", "cn=userZ", "dc=my-domain,dc=com", true));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_rename() in %s on line %d
+NULL
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_sasl_bind_basic.phpt b/ext/ldap/tests/ldap_sasl_bind_basic.phpt
new file mode 100644
index 0000000..6ed14a5
--- /dev/null
+++ b/ext/ldap/tests/ldap_sasl_bind_basic.phpt
@@ -0,0 +1,20 @@
+--TEST--
+ldap_sasl_bind() - Basic anonymous binding
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php if (!function_exists("ldap_sasl_bind")) die("skip LDAP extension not compiled with SASL support"); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+var_dump(ldap_sasl_bind($link, null, $passwd, 'DIGEST-MD5', 'realm', $sasl_user));
+?>
+===DONE===
+--EXPECT--
+bool(true)
+===DONE===
diff --git a/ext/ldap/tests/ldap_sasl_bind_error.phpt b/ext/ldap/tests/ldap_sasl_bind_error.phpt
new file mode 100644
index 0000000..180066b
--- /dev/null
+++ b/ext/ldap/tests/ldap_sasl_bind_error.phpt
@@ -0,0 +1,53 @@
+--TEST--
+ldap_sasl_bind() - Binding that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+<?php if (!function_exists("ldap_sasl_bind")) die("skip LDAP extension not compiled with SASL support"); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+
+// Invalid parameter count
+var_dump(ldap_sasl_bind());
+
+// Invalid DN
+var_dump(ldap_sasl_bind($link, "Invalid DN", $passwd, 'DIGEST-MD5', 'realm', $sasl_user));
+
+// Invalid user
+var_dump(ldap_sasl_bind($link, null, "ThisIsNotCorrect$passwd", 'DIGEST-MD5', "realm", "invalid$sasl_user"));
+
+// Invalid password
+var_dump(ldap_sasl_bind($link, null, "ThisIsNotCorrect$passwd", 'DIGEST-MD5', "realm", $sasl_user));
+
+var_dump(ldap_sasl_bind($link, null, $passwd, 'DIGEST-MD5', "realm", "Manager", "test"));
+
+// Invalid DN syntax
+var_dump(ldap_sasl_bind($link, "unexistingProperty=weirdValue,$user", $passwd));
+?>
+===DONE===
+--EXPECTF--
+Warning: ldap_sasl_bind() expects at least 1 parameter, 0 given in %s on line %d
+bool(false)
+
+Warning: ldap_sasl_bind(): Unable to bind to server: Invalid DN syntax in %s on line %d
+bool(false)
+
+Warning: ldap_sasl_bind(): Unable to bind to server: Invalid credentials in %s on line %d
+bool(false)
+
+Warning: ldap_sasl_bind(): Unable to bind to server: Invalid credentials in %s on line %d
+bool(false)
+
+Warning: ldap_sasl_bind(): Unable to bind to server: Insufficient access in %s on line %d
+bool(false)
+
+Warning: ldap_sasl_bind(): Unable to bind to server: Invalid DN syntax in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_search_basic.phpt b/ext/ldap/tests/ldap_search_basic.phpt
new file mode 100644
index 0000000..e6cebf2
--- /dev/null
+++ b/ext/ldap/tests/ldap_search_basic.phpt
@@ -0,0 +1,194 @@
+--TEST--
+ldap_search() test
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrickallaert at php.net>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifbindfailure.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+insert_dummy_data($link);
+var_dump(
+	$result = ldap_search($link, "dc=my-domain,dc=com", "(objectClass=person)"),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result)
+array(4) {
+  ["count"]=>
+  int(3)
+  [0]=>
+  array(14) {
+    ["objectclass"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "person"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["cn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(5) "userA"
+    }
+    [1]=>
+    string(2) "cn"
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN1"
+    }
+    [2]=>
+    string(2) "sn"
+    ["userpassword"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(4) "oops"
+    }
+    [3]=>
+    string(12) "userpassword"
+    ["telephonenumber"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(14) "xx-xx-xx-xx-xx"
+    }
+    [4]=>
+    string(15) "telephonenumber"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user A"
+    }
+    [5]=>
+    string(11) "description"
+    ["count"]=>
+    int(6)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+  [1]=>
+  array(12) {
+    ["objectclass"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "person"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["cn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(5) "userB"
+    }
+    [1]=>
+    string(2) "cn"
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN2"
+    }
+    [2]=>
+    string(2) "sn"
+    ["userpassword"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(15) "oopsIDitItAgain"
+    }
+    [3]=>
+    string(12) "userpassword"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user B"
+    }
+    [4]=>
+    string(11) "description"
+    ["count"]=>
+    int(5)
+    ["dn"]=>
+    string(28) "cn=userB,dc=my-domain,dc=com"
+  }
+  [2]=>
+  array(10) {
+    ["objectclass"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "person"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["cn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(5) "userC"
+    }
+    [1]=>
+    string(2) "cn"
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN3"
+    }
+    [2]=>
+    string(2) "sn"
+    ["userpassword"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(17) "0r1g1na1 passw0rd"
+    }
+    [3]=>
+    string(12) "userpassword"
+    ["count"]=>
+    int(4)
+    ["dn"]=>
+    string(37) "cn=userC,cn=userB,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_search_error.phpt b/ext/ldap/tests/ldap_search_error.phpt
new file mode 100644
index 0000000..6a68e9d
--- /dev/null
+++ b/ext/ldap/tests/ldap_search_error.phpt
@@ -0,0 +1,62 @@
+--TEST--
+ldap_search() - operation that should fail
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect($host, $port);
+
+$dn = "dc=my-domain,dc=com";
+$filter = "(dc=*)";
+
+$result = ldap_search();
+var_dump($result);
+
+$result = ldap_search($link, $dn, $filter);
+var_dump($result);
+
+$result = ldap_search($link, $dn, $filter, NULL);
+var_dump($result);
+
+$result = ldap_search($link, $dn, $filter, array(1 => 'top'));
+var_dump($result);
+
+$result = ldap_search(array(), $dn, $filter, array('top'));
+var_dump($result);
+
+$result = ldap_search(array($link, $link), array($dn), $filter, array('top'));
+var_dump($result);
+
+$result = ldap_search(array($link, $link), $dn, array($filter), array('top'));
+var_dump($result);
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_search() in %s on line %d
+NULL
+
+Warning: ldap_search(): Search: No such object in %s on line %d
+bool(false)
+
+Warning: ldap_search(): Expected Array as last element in %s on line %d
+bool(false)
+
+Warning: ldap_search(): Array initialization wrong in %s on line %d
+bool(false)
+
+Warning: ldap_search(): No links in link array in %s on line %d
+bool(false)
+
+Warning: ldap_search(): Base must either be a string, or an array with the same number of elements as the links array in %s on line %d
+bool(false)
+
+Warning: ldap_search(): Filter must either be a string, or an array with the same number of elements as the links array in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_search_variation1.phpt b/ext/ldap/tests/ldap_search_variation1.phpt
new file mode 100644
index 0000000..d56f5bd
--- /dev/null
+++ b/ext/ldap/tests/ldap_search_variation1.phpt
@@ -0,0 +1,56 @@
+--TEST--
+ldap_search() test
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrickallaert at php.net>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifbindfailure.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+$dn = "dc=my-domain,dc=com";
+$filter = "(dc=*)";
+var_dump(
+	$result = ldap_search($link, "dc=my-domain,dc=com", "(dc=*)", array('dc')),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(4) {
+    ["dc"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(9) "my-domain"
+    }
+    [0]=>
+    string(2) "dc"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(19) "dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_search_variation2.phpt b/ext/ldap/tests/ldap_search_variation2.phpt
new file mode 100644
index 0000000..791c5e9
--- /dev/null
+++ b/ext/ldap/tests/ldap_search_variation2.phpt
@@ -0,0 +1,80 @@
+--TEST--
+ldap_search() test
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrickallaert at php.net>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifbindfailure.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+var_dump(
+	$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=person)", array('sn'), 1),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result)
+array(4) {
+  ["count"]=>
+  int(3)
+  [0]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+  [1]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userB,dc=my-domain,dc=com"
+  }
+  [2]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(37) "cn=userC,cn=userB,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_search_variation3.phpt b/ext/ldap/tests/ldap_search_variation3.phpt
new file mode 100644
index 0000000..ab7b222
--- /dev/null
+++ b/ext/ldap/tests/ldap_search_variation3.phpt
@@ -0,0 +1,108 @@
+--TEST--
+ldap_search() test
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrickallaert at php.net>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifbindfailure.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+$dn = "dc=my-domain,dc=com";
+$filter = "(objectclass=person)";
+var_dump(
+	$result = ldap_search($link, $dn, $filter, array('sn'), 1, 3),
+	ldap_get_entries($link, $result)
+);
+
+var_dump(
+	$result = ldap_search($link, $dn, $filter, array('sn'), 1, 1),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+resource(%d) of type (ldap result)
+array(4) {
+  ["count"]=>
+  int(3)
+  [0]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+  [1]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userB,dc=my-domain,dc=com"
+  }
+  [2]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(37) "cn=userC,cn=userB,dc=my-domain,dc=com"
+  }
+}
+
+Warning: ldap_search(): Partial search results returned: Sizelimit exceeded in %s on line %d
+resource(%d) of type (ldap result)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_search_variation4.phpt b/ext/ldap/tests/ldap_search_variation4.phpt
new file mode 100644
index 0000000..787468e
--- /dev/null
+++ b/ext/ldap/tests/ldap_search_variation4.phpt
@@ -0,0 +1,55 @@
+--TEST--
+ldap_search() test
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrickallaert at php.net>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifbindfailure.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+$dn = "dc=my-domain,dc=com";
+$filter = "(objectclass=person)";
+var_dump(
+	$result = ldap_search($link, $dn, $filter, array('sn'), 1, 1, 3),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+Warning: ldap_search(): Partial search results returned: Sizelimit exceeded in %s on line %d
+resource(%d) of type (ldap result)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_search_variation5.phpt b/ext/ldap/tests/ldap_search_variation5.phpt
new file mode 100644
index 0000000..d50854c
--- /dev/null
+++ b/ext/ldap/tests/ldap_search_variation5.phpt
@@ -0,0 +1,105 @@
+--TEST--
+ldap_search() test
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrickallaert at php.net>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifbindfailure.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+$dn = "dc=my-domain,dc=com";
+$filter = "(objectclass=person)";
+var_dump(
+	$result = ldap_search($link, $dn, $filter, array('sn'), 1, 1, 3, LDAP_DEREF_SEARCHING),
+	ldap_get_entries($link, $result)
+);
+var_dump(
+	$result = ldap_search($link, $dn, $filter, array('sn'), 1, 1, 3, LDAP_DEREF_FINDING),
+	ldap_get_entries($link, $result)
+);
+var_dump(
+	$result = ldap_search($link, $dn, $filter, array('sn'), 1, 1, 3, LDAP_DEREF_ALWAYS),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+Warning: ldap_search(): Partial search results returned: Sizelimit exceeded in %s on line %d
+resource(%d) of type (ldap result)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+}
+
+Warning: ldap_search(): Partial search results returned: Sizelimit exceeded in %s on line %d
+resource(%d) of type (ldap result)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+}
+
+Warning: ldap_search(): Partial search results returned: Sizelimit exceeded in %s on line %d
+resource(%d) of type (ldap result)
+array(2) {
+  ["count"]=>
+  int(1)
+  [0]=>
+  array(4) {
+    ["sn"]=>
+    array(1) {
+      ["count"]=>
+      int(0)
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_search_variation6.phpt b/ext/ldap/tests/ldap_search_variation6.phpt
new file mode 100644
index 0000000..a29e452
--- /dev/null
+++ b/ext/ldap/tests/ldap_search_variation6.phpt
@@ -0,0 +1,230 @@
+--TEST--
+ldap_search() test
+--CREDITS--
+Davide Mendolia <idaf1er at gmail.com>
+Patrick Allaert <patrickallaert at php.net>
+Belgian PHP Testfest 2009
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifbindfailure.inc');
+?>
+--FILE--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+
+$dn = "dc=my-domain,dc=com";
+$filter = "(objectclass=person)";
+
+var_dump(
+	$result = ldap_search(array($link, $link), $dn, $filter),
+	$result0 = ldap_get_entries($link, $result[0]),
+	ldap_get_entries($link, $result[1]) === $result0
+);
+var_dump(
+	$result = ldap_search(array($link, $link), null, $filter),
+	ldap_get_entries($link, $result[0]),
+	ldap_get_entries($link, $result[1])
+);
+var_dump(
+	$result = ldap_search(array($link, $link), null, array($filter, $filter)),
+	ldap_get_entries($link, $result[0]),
+	ldap_get_entries($link, $result[1])
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+remove_dummy_data($link);
+?>
+--EXPECTF--
+array(2) {
+  [0]=>
+  resource(%d) of type (ldap result)
+  [1]=>
+  resource(%d) of type (ldap result)
+}
+array(4) {
+  ["count"]=>
+  int(3)
+  [0]=>
+  array(14) {
+    ["objectclass"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "person"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["cn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(5) "userA"
+    }
+    [1]=>
+    string(2) "cn"
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN1"
+    }
+    [2]=>
+    string(2) "sn"
+    ["userpassword"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(4) "oops"
+    }
+    [3]=>
+    string(12) "userpassword"
+    ["telephonenumber"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(14) "xx-xx-xx-xx-xx"
+    }
+    [4]=>
+    string(15) "telephonenumber"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user A"
+    }
+    [5]=>
+    string(11) "description"
+    ["count"]=>
+    int(6)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+  [1]=>
+  array(12) {
+    ["objectclass"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "person"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["cn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(5) "userB"
+    }
+    [1]=>
+    string(2) "cn"
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN2"
+    }
+    [2]=>
+    string(2) "sn"
+    ["userpassword"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(15) "oopsIDitItAgain"
+    }
+    [3]=>
+    string(12) "userpassword"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user B"
+    }
+    [4]=>
+    string(11) "description"
+    ["count"]=>
+    int(5)
+    ["dn"]=>
+    string(28) "cn=userB,dc=my-domain,dc=com"
+  }
+  [2]=>
+  array(10) {
+    ["objectclass"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "person"
+    }
+    [0]=>
+    string(11) "objectclass"
+    ["cn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(5) "userC"
+    }
+    [1]=>
+    string(2) "cn"
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN3"
+    }
+    [2]=>
+    string(2) "sn"
+    ["userpassword"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(17) "0r1g1na1 passw0rd"
+    }
+    [3]=>
+    string(12) "userpassword"
+    ["count"]=>
+    int(4)
+    ["dn"]=>
+    string(37) "cn=userC,cn=userB,dc=my-domain,dc=com"
+  }
+}
+bool(true)
+array(2) {
+  [0]=>
+  resource(%d) of type (ldap result)
+  [1]=>
+  resource(%d) of type (ldap result)
+}
+NULL
+NULL
+array(2) {
+  [0]=>
+  resource(%d) of type (ldap result)
+  [1]=>
+  resource(%d) of type (ldap result)
+}
+NULL
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_set_option_basic.phpt b/ext/ldap/tests/ldap_set_option_basic.phpt
new file mode 100644
index 0000000..de25e59
--- /dev/null
+++ b/ext/ldap/tests/ldap_set_option_basic.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ldap_set_option() - Basic ldap_set_option() operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+$option = null;
+
+var_dump(ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version));
+ldap_get_option($link, LDAP_OPT_PROTOCOL_VERSION, $option);
+var_dump($option);
+?>
+===DONE===
+--EXPECT--
+bool(true)
+int(3)
+===DONE===
diff --git a/ext/ldap/tests/ldap_set_option_error.phpt b/ext/ldap/tests/ldap_set_option_error.phpt
new file mode 100644
index 0000000..e9ff5ab
--- /dev/null
+++ b/ext/ldap/tests/ldap_set_option_error.phpt
@@ -0,0 +1,66 @@
+--TEST--
+ldap_set_option() - ldap_set_option() operation that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+$controls = array(
+	array(
+		array("xid" => "1.2.752.58.10.1", "iscritical" => true),
+		array("xid" => "1.2.752.58.1.10", "value" => "magic"),
+	),
+	array(
+		array("oid" => "1.2.752.58.10.1", "iscritical" => true),
+		array("oid" => "1.2.752.58.1.10", "value" => "magic"),
+		"weird"
+	),
+	array(
+	),
+);
+
+// Too few parameters
+var_dump(ldap_set_option());
+var_dump(ldap_set_option($link));
+var_dump(ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION));
+
+// Too many parameters
+var_dump(ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, 3, "Additional data"));
+
+var_dump(ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, 10));
+
+foreach ($controls as $control)
+	var_dump(ldap_set_option($link, LDAP_OPT_SERVER_CONTROLS, $control));
+
+var_dump(ldap_set_option($link, 999999, 999999));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_set_option() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_set_option() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_set_option() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_set_option() in %s on line %d
+NULL
+bool(false)
+
+Warning: ldap_set_option(): Control must have an oid key in %s on line %d
+bool(false)
+
+Warning: ldap_set_option(): The array value must contain only arrays, where each array is a control in %s on line %d
+bool(false)
+
+Warning: ldap_set_option(): Expected non-empty array value for this option in %s on line %d
+bool(false)
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_set_option_variation.phpt b/ext/ldap/tests/ldap_set_option_variation.phpt
new file mode 100644
index 0000000..1bbfe1f
--- /dev/null
+++ b/ext/ldap/tests/ldap_set_option_variation.phpt
@@ -0,0 +1,77 @@
+--TEST--
+ldap_set_option() - More ldap_set_option() operations
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+$option = null;
+
+$controls = array(
+	array("oid" => "1.2.752.58.10.1", "iscritical" => true),
+	array("oid" => "1.2.752.58.1.10", "value" => "magic"),
+);
+
+var_dump(ldap_set_option($link, LDAP_OPT_DEREF, LDAP_DEREF_ALWAYS));
+ldap_get_option($link, LDAP_OPT_DEREF, $option);
+var_dump(
+	$option === LDAP_DEREF_ALWAYS,
+	ldap_set_option($link, LDAP_OPT_SIZELIMIT, 123)
+);
+ldap_get_option($link, LDAP_OPT_SIZELIMIT, $option);
+var_dump(
+	$option,
+	ldap_set_option($link, LDAP_OPT_TIMELIMIT, 33)
+);
+ldap_get_option($link, LDAP_OPT_TIMELIMIT, $option);
+var_dump(
+	$option,
+	ldap_set_option($link, LDAP_OPT_REFERRALS, true)
+);
+ldap_get_option($link, LDAP_OPT_REFERRALS, $option);
+var_dump(
+	(bool) $option,
+	ldap_set_option($link, LDAP_OPT_RESTART, false)
+);
+ldap_get_option($link, LDAP_OPT_RESTART, $option);
+var_dump(
+	(bool) $option,
+	ldap_set_option($link, LDAP_OPT_SERVER_CONTROLS, $controls)
+);
+ldap_get_option($link, LDAP_OPT_SERVER_CONTROLS, $option);
+var_dump(
+	$option,
+	ldap_set_option($link, LDAP_OPT_CLIENT_CONTROLS, $controls)
+);
+ldap_get_option($link, LDAP_OPT_CLIENT_CONTROLS, $option);
+var_dump(
+	$option,
+	ldap_set_option($link, LDAP_OPT_MATCHED_DN, "dc=test,dc=com")
+);
+ldap_get_option($link, LDAP_OPT_MATCHED_DN, $option);
+var_dump($option);
+?>
+===DONE===
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+int(123)
+bool(true)
+int(33)
+bool(true)
+bool(true)
+bool(true)
+bool(false)
+bool(true)
+int(0)
+bool(true)
+int(0)
+bool(true)
+string(14) "dc=test,dc=com"
+===DONE===
diff --git a/ext/ldap/tests/ldap_set_rebind_proc_basic.phpt b/ext/ldap/tests/ldap_set_rebind_proc_basic.phpt
new file mode 100644
index 0000000..428b8d8
--- /dev/null
+++ b/ext/ldap/tests/ldap_set_rebind_proc_basic.phpt
@@ -0,0 +1,34 @@
+--TEST--
+ldap_set_rebind_proc() - Basic ldap_set_rebind_proc test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+function rebind_proc ($ds, $ldap_url) {
+  global $user;
+  global $passwd;
+  global $protocol_version;
+
+  // required by most modern LDAP servers, use LDAPv3
+  ldap_set_option($a, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+
+  if (!ldap_bind($a, $user, $passwd)) {
+        print "Cannot bind";
+  }
+}
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+var_dump(ldap_set_rebind_proc($link, "rebind_proc"));
+var_dump(ldap_set_rebind_proc($link, ""));
+?>
+===DONE===
+--EXPECT--
+bool(true)
+bool(true)
+===DONE===
diff --git a/ext/ldap/tests/ldap_set_rebind_proc_error.phpt b/ext/ldap/tests/ldap_set_rebind_proc_error.phpt
new file mode 100644
index 0000000..3b4cd69
--- /dev/null
+++ b/ext/ldap/tests/ldap_set_rebind_proc_error.phpt
@@ -0,0 +1,40 @@
+--TEST--
+ldap_set_rebind_proc() - Testing ldap_set_rebind_proc() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+function rebind_proc ($ds, $ldap_url) {
+  global $user;
+  global $passwd;
+  global $protocol_version;
+
+  // required by most modern LDAP servers, use LDAPv3
+  ldap_set_option($a, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+
+  if (!ldap_bind($a, $user, $passwd)) {
+        print "Cannot bind";
+  }
+}
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_set_rebind_proc($link));
+var_dump(ldap_set_rebind_proc($link, "rebind_proc", "Additional data"));
+var_dump(ldap_set_rebind_proc($link, "rebind_proc_inexistant"));
+?>
+===DONE===
+--EXPECTF--
+Warning: ldap_set_rebind_proc() expects exactly 2 parameters, 1 given in %s on line %d
+bool(false)
+
+Warning: ldap_set_rebind_proc() expects exactly 2 parameters, 3 given in %s on line %d
+bool(false)
+
+Warning: ldap_set_rebind_proc(): Two arguments expected for 'rebind_proc_inexistant' to be a valid callback in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_sort_basic.phpt b/ext/ldap/tests/ldap_sort_basic.phpt
new file mode 100644
index 0000000..f6ee5d1
--- /dev/null
+++ b/ext/ldap/tests/ldap_sort_basic.phpt
@@ -0,0 +1,200 @@
+--TEST--
+ldap_sort() - Basic ldap_sort test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+ldap_add($link, "cn=userC,dc=my-domain,dc=com", array(
+	"objectclass" => "person",
+	"cn" => "userC",
+	"sn" => "zzz",
+	"userPassword" => "oops",
+	"description" => "a user",
+));
+ldap_add($link, "cn=userD,dc=my-domain,dc=com", array(
+	"objectclass" => "person",
+	"cn" => "userD",
+	"sn" => "aaa",
+	"userPassword" => "oops",
+	"description" => "another user",
+));
+ldap_add($link, "cn=userE,dc=my-domain,dc=com", array(
+	"objectclass" => "person",
+	"cn" => "userE",
+	"sn" => "a",
+	"userPassword" => "oops",
+	"description" => "yet another user",
+));
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=person)", array("sn", "description"));
+var_dump(
+	ldap_sort($link, $result, "sn"),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+ldap_delete($link, "cn=userC,dc=my-domain,dc=com");
+ldap_delete($link, "cn=userD,dc=my-domain,dc=com");
+ldap_delete($link, "cn=userE,dc=my-domain,dc=com");
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+array(7) {
+  ["count"]=>
+  int(6)
+  [0]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(1) "a"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(16) "yet another user"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userE,dc=my-domain,dc=com"
+  }
+  [1]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(3) "aaa"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(12) "another user"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userD,dc=my-domain,dc=com"
+  }
+  [2]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN1"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user A"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+  [3]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN2"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user B"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userB,dc=my-domain,dc=com"
+  }
+  [4]=>
+  array(4) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN3"
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(37) "cn=userC,cn=userB,dc=my-domain,dc=com"
+  }
+  [5]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(3) "zzz"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "a user"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userC,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_sort_error.phpt b/ext/ldap/tests/ldap_sort_error.phpt
new file mode 100644
index 0000000..6eb4090
--- /dev/null
+++ b/ext/ldap/tests/ldap_sort_error.phpt
@@ -0,0 +1,35 @@
+--TEST--
+ldap_sort() - Testing ldap_sort() that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+var_dump(ldap_sort($link));
+var_dump(ldap_sort($link, $link));
+var_dump(ldap_sort($link, $link, $link, $link));
+var_dump(ldap_sort($link, $link, $link));
+var_dump(ldap_sort($link, $link, "sn"));
+?>
+===DONE===
+--EXPECTF--
+Warning: ldap_sort() expects exactly 3 parameters, 1 given in %s on line %d
+bool(false)
+
+Warning: ldap_sort() expects exactly 3 parameters, 2 given in %s on line %d
+bool(false)
+
+Warning: ldap_sort() expects exactly 3 parameters, 4 given in %s on line %d
+bool(false)
+
+Warning: ldap_sort() expects parameter 3 to be %binary_string_optional%, resource given in %s on line %d
+bool(false)
+
+Warning: ldap_sort(): Supplied resource is not a valid ldap result resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_sort_variation.phpt b/ext/ldap/tests/ldap_sort_variation.phpt
new file mode 100644
index 0000000..e1affe8
--- /dev/null
+++ b/ext/ldap/tests/ldap_sort_variation.phpt
@@ -0,0 +1,200 @@
+--TEST--
+ldap_sort() - Basic ldap_sort test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+insert_dummy_data($link);
+ldap_add($link, "cn=userC,dc=my-domain,dc=com", array(
+	"objectclass" => "person",
+	"cn" => "userC",
+	"sn" => "zzz",
+	"userPassword" => "oops",
+	"description" => "a user",
+));
+ldap_add($link, "cn=userD,dc=my-domain,dc=com", array(
+	"objectclass" => "person",
+	"cn" => "userD",
+	"sn" => "aaa",
+	"userPassword" => "oops",
+	"description" => "another user",
+));
+ldap_add($link, "cn=userE,dc=my-domain,dc=com", array(
+	"objectclass" => "person",
+	"cn" => "userE",
+	"sn" => "a",
+	"userPassword" => "oops",
+	"description" => "yet another user",
+));
+$result = ldap_search($link, "dc=my-domain,dc=com", "(objectclass=person)", array("sn", "description"));
+var_dump(
+	ldap_sort($link, $result, "description"),
+	ldap_get_entries($link, $result)
+);
+?>
+===DONE===
+--CLEAN--
+<?php
+include "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+ldap_delete($link, "cn=userC,dc=my-domain,dc=com");
+ldap_delete($link, "cn=userD,dc=my-domain,dc=com");
+ldap_delete($link, "cn=userE,dc=my-domain,dc=com");
+remove_dummy_data($link);
+?>
+--EXPECT--
+bool(true)
+array(7) {
+  ["count"]=>
+  int(6)
+  [0]=>
+  array(4) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN3"
+    }
+    [0]=>
+    string(2) "sn"
+    ["count"]=>
+    int(1)
+    ["dn"]=>
+    string(37) "cn=userC,cn=userB,dc=my-domain,dc=com"
+  }
+  [1]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(3) "zzz"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "a user"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userC,dc=my-domain,dc=com"
+  }
+  [2]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(3) "aaa"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(12) "another user"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userD,dc=my-domain,dc=com"
+  }
+  [3]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN1"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user A"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userA,dc=my-domain,dc=com"
+  }
+  [4]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(7) "testSN2"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(6) "user B"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userB,dc=my-domain,dc=com"
+  }
+  [5]=>
+  array(6) {
+    ["sn"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(1) "a"
+    }
+    [0]=>
+    string(2) "sn"
+    ["description"]=>
+    array(2) {
+      ["count"]=>
+      int(1)
+      [0]=>
+      string(16) "yet another user"
+    }
+    [1]=>
+    string(11) "description"
+    ["count"]=>
+    int(2)
+    ["dn"]=>
+    string(28) "cn=userE,dc=my-domain,dc=com"
+  }
+}
+===DONE===
diff --git a/ext/ldap/tests/ldap_start_tls_basic.phpt b/ext/ldap/tests/ldap_start_tls_basic.phpt
new file mode 100644
index 0000000..3ae50be
--- /dev/null
+++ b/ext/ldap/tests/ldap_start_tls_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+ldap_start_tls() - Basic ldap_start_tls test
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+var_dump(ldap_start_tls($link));
+?>
+===DONE===
+--EXPECT--
+bool(true)
+===DONE===
diff --git a/ext/ldap/tests/ldap_start_tls_error.phpt b/ext/ldap/tests/ldap_start_tls_error.phpt
new file mode 100644
index 0000000..a09b7f1
--- /dev/null
+++ b/ext/ldap/tests/ldap_start_tls_error.phpt
@@ -0,0 +1,27 @@
+--TEST--
+ldap_start_tls() - Binding that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect($host, $port);
+ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+
+// Invalid parameter count
+var_dump(ldap_start_tls());
+var_dump(ldap_start_tls($link, $link));
+?>
+===DONE===
+--EXPECTF--
+Warning: Wrong parameter count for ldap_start_tls() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for ldap_start_tls() in %s on line %d
+NULL
+===DONE===
diff --git a/ext/ldap/tests/ldap_unbind_basic.phpt b/ext/ldap/tests/ldap_unbind_basic.phpt
new file mode 100644
index 0000000..addfac5
--- /dev/null
+++ b/ext/ldap/tests/ldap_unbind_basic.phpt
@@ -0,0 +1,20 @@
+--TEST--
+ldap_unbind() - Basic ldap_unbind() operation
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+var_dump(ldap_unbind($link));
+?>
+===DONE===
+--EXPECT--
+bool(true)
+===DONE===
diff --git a/ext/ldap/tests/ldap_unbind_error.phpt b/ext/ldap/tests/ldap_unbind_error.phpt
new file mode 100644
index 0000000..19b4ad5
--- /dev/null
+++ b/ext/ldap/tests/ldap_unbind_error.phpt
@@ -0,0 +1,42 @@
+--TEST--
+ldap_unbind() - ldap_unbind() operations that should fail
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+
+// Too few parameters
+var_dump(ldap_unbind());
+
+// Too many parameters
+var_dump(ldap_unbind($link, "Additional data"));
+
+// Bad parameter
+var_dump(ldap_unbind("string"));
+
+// unbind twice
+var_dump(ldap_unbind($link));
+var_dump(ldap_unbind($link));
+?>
+===DONE===
+--EXPECTF--
+Warning: ldap_unbind() expects exactly 1 parameter, 0 given in %s on line %d
+bool(false)
+
+Warning: ldap_unbind() expects exactly 1 parameter, 2 given in %s on line %d
+bool(false)
+
+Warning: ldap_unbind() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d
+bool(false)
+bool(true)
+
+Warning: ldap_unbind(): %d is not a valid ldap link resource in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/ldap/tests/ldap_unbind_variation.phpt b/ext/ldap/tests/ldap_unbind_variation.phpt
new file mode 100644
index 0000000..377018c
--- /dev/null
+++ b/ext/ldap/tests/ldap_unbind_variation.phpt
@@ -0,0 +1,34 @@
+--TEST--
+ldap_unbind() - Variation of ldap_unbind() function using ldap_set_rebind_proc()
+--CREDITS--
+Patrick Allaert <patrickallaert at php.net>
+# Belgian PHP Testfest 2009
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php require_once('skipifbindfailure.inc'); ?>
+--FILE--
+<?php
+require "connect.inc";
+
+function rebind_proc ($ds, $ldap_url) {
+	global $user;
+	global $passwd;
+	global $protocol_version;
+	
+	// required by most modern LDAP servers, use LDAPv3
+	ldap_set_option($a, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
+	
+	if (!ldap_bind($a, $user, $passwd)) {
+		print "Cannot bind";
+	}
+}
+
+$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
+ldap_set_rebind_proc($link, "rebind_proc");
+
+var_dump(ldap_unbind($link));
+?>
+===DONE===
+--EXPECT--
+bool(true)
+===DONE===
diff --git a/ext/libxml/config.w32 b/ext/libxml/config.w32
index 37ddac1..6b5ce22 100644
--- a/ext/libxml/config.w32
+++ b/ext/libxml/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.8.4.1 2008/01/11 13:37:24 rrichards Exp $
+// $Id: config.w32 250404 2008-01-11 13:37:24Z rrichards $
 // vim:ft=javascript
 
 ARG_WITH("libxml", "LibXML support", "yes");
diff --git a/ext/libxml/config0.m4 b/ext/libxml/config0.m4
index e597498..4cd4cfc 100644
--- a/ext/libxml/config0.m4
+++ b/ext/libxml/config0.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config0.m4,v 1.3.4.1 2007/07/03 17:25:33 sniper Exp $
+dnl $Id: config0.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl
 
 PHP_ARG_ENABLE(libxml, whether to enable LIBXML support,
diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c
index 20689c1..a8d26ce 100644
--- a/ext/libxml/libxml.c
+++ b/ext/libxml/libxml.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: libxml.c,v 1.32.2.7.2.18 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: libxml.c 282841 2009-06-26 20:27:44Z rrichards $ */
 
 #define IS_EXT_MODULE
 
@@ -68,6 +68,7 @@ static PHP_FUNCTION(libxml_use_internal_errors);
 static PHP_FUNCTION(libxml_get_last_error);
 static PHP_FUNCTION(libxml_clear_errors);
 static PHP_FUNCTION(libxml_get_errors);
+static PHP_FUNCTION(libxml_disable_entity_loader);
 
 static zend_class_entry *libxmlerror_class_entry;
 
@@ -93,7 +94,7 @@ ZEND_BEGIN_ARG_INFO(arginfo_libxml_set_streams_context, 0)
 ZEND_END_ARG_INFO()
 
 static
-ZEND_BEGIN_ARG_INFO(arginfo_libxml_use_internal_errors, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_libxml_use_internal_errors, 0, 0, 0)
 	ZEND_ARG_INFO(0, use_errors)
 ZEND_END_ARG_INFO()
 
@@ -109,6 +110,11 @@ static
 ZEND_BEGIN_ARG_INFO(arginfo_libxml_clear_errors, 0)
 ZEND_END_ARG_INFO()
 
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_libxml_disable_entity_loader, 0, 0, 0)
+	ZEND_ARG_INFO(0, disable)
+ZEND_END_ARG_INFO()
+
 /* }}} */
 
 /* {{{ extension definition structures */
@@ -118,6 +124,7 @@ static zend_function_entry libxml_functions[] = {
 	PHP_FE(libxml_get_last_error, arginfo_libxml_get_last_error)
 	PHP_FE(libxml_clear_errors, arginfo_libxml_clear_errors)
 	PHP_FE(libxml_get_errors, arginfo_libxml_get_errors)
+	PHP_FE(libxml_disable_entity_loader, arginfo_libxml_disable_entity_loader)
 	{NULL, NULL, NULL}
 };
 
@@ -349,6 +356,12 @@ static int php_libxml_streams_IO_close(void *context)
 }
 
 static xmlParserInputBufferPtr
+php_libxml_input_buffer_noload(const char *URI, xmlCharEncoding enc)
+{
+	return NULL;
+}
+
+static xmlParserInputBufferPtr
 php_libxml_input_buffer_create_filename(const char *URI, xmlCharEncoding enc)
 {
 	xmlParserInputBufferPtr ret;
@@ -823,6 +836,31 @@ static PHP_FUNCTION(libxml_clear_errors)
 }
 /* }}} */
 
+/* {{{ proto bool libxml_disable_entity_loader([boolean disable]) 
+   Disable/Enable ability to load external entities */
+static PHP_FUNCTION(libxml_disable_entity_loader)
+{
+	zend_bool disable = 1;
+	xmlParserInputBufferCreateFilenameFunc old;
+
+	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &disable) == FAILURE) {
+		return;
+	}
+
+	if (disable == 0) {
+		old = xmlParserInputBufferCreateFilenameDefault(php_libxml_input_buffer_create_filename);
+	} else {
+		old = xmlParserInputBufferCreateFilenameDefault(php_libxml_input_buffer_noload);
+	}
+
+	if (old == php_libxml_input_buffer_noload) {
+		RETURN_TRUE;
+	}
+
+	RETURN_FALSE;
+}
+/* }}} */
+
 /* {{{ Common functions shared by extensions */
 int php_libxml_xmlCheckUTF8(const unsigned char *s)
 {
diff --git a/ext/libxml/php_libxml.h b/ext/libxml/php_libxml.h
index cac26ad..54dc11b 100644
--- a/ext/libxml/php_libxml.h
+++ b/ext/libxml/php_libxml.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_libxml.h,v 1.15.2.2.2.8 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: php_libxml.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_LIBXML_H
 #define PHP_LIBXML_H
diff --git a/ext/mbstring/config.m4 b/ext/mbstring/config.m4
index 6fa586f..c6e4732 100644
--- a/ext/mbstring/config.m4
+++ b/ext/mbstring/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.58.2.4.2.12 2008/07/15 18:07:42 moriyoshi Exp $
+dnl $Id: config.m4 262771 2008-07-15 18:07:42Z moriyoshi $
 dnl
 
 AC_DEFUN([PHP_MBSTRING_ADD_SOURCES], [
diff --git a/ext/mbstring/config.w32 b/ext/mbstring/config.w32
index e5feb0e..f10057d 100644
--- a/ext/mbstring/config.w32
+++ b/ext/mbstring/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.10.2.1.2.4 2007/02/04 00:21:51 fmk Exp $
+// $Id: config.w32 228924 2007-02-04 00:21:51Z fmk $
 // vim:ft=javascript
 
 ARG_ENABLE("mbstring", "multibyte string functions", "no");
diff --git a/ext/mbstring/libmbfl/README b/ext/mbstring/libmbfl/README
index 476a589..a4a2ef2 100644
--- a/ext/mbstring/libmbfl/README
+++ b/ext/mbstring/libmbfl/README
@@ -5,4 +5,4 @@ See LICENSE and DISCLAIMER for licensing information.
 
 See the file INSTALL for building and installation instructions.
 
-# $Id: README,v 1.4 2005/02/20 22:18:07 moriyoshi Exp $
+# $Id: README 180252 2005-02-20 22:18:09Z moriyoshi $
diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c
index 6c6654a..0163520 100644
--- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c
+++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c
@@ -186,18 +186,58 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter)
 		}
 	} else {
 		if (c == ';') {
-			buffer[filter->status] = 0;
 			if (buffer[1]=='#') {
-				/* numeric entity */
-				for (pos=2; pos<filter->status; pos++) {
-					ent = ent*10 + (buffer[pos] - '0');
+				if (filter->status > 2 && (buffer[2] == 'x' || buffer[2] == 'X')) {
+					if (filter->status > 3) {
+						/* numeric entity */
+						for (pos=3; pos<filter->status; pos++) {
+							int v =  buffer[pos];
+							if (v >= '0' && v <= '9') {
+								v = v - '0';
+							} else if (v >= 'A' && v <= 'F') {
+								v = v - 'A' + 10;
+							} else if (v >= 'a' && v <= 'f') {
+								v = v - 'a' + 10;
+							} else {
+								ent = -1;
+								break;
+							}
+							ent = ent * 16 + v;
+						}
+					} else {
+						ent = -1;
+					}
+				} else {
+					/* numeric entity */
+					if (filter->status > 2) {
+						for (pos=2; pos<filter->status; pos++) {
+							int v = buffer[pos];
+							if (v >= '0' && v <= '9') {
+								v = v - '0';
+							} else {
+								ent = -1;
+								break;
+							}
+							ent = ent*10 + v;
+						}
+					} else {
+						ent = -1;
+					}
+				}
+				if (ent >= 0 && ent < 0x110000) {
+					CK((*filter->output_function)(ent, filter->data));
+				} else {
+					for (pos = 0; pos < filter->status; pos++) {
+						CK((*filter->output_function)(buffer[pos], filter->data));
+					}
+					CK((*filter->output_function)(c, filter->data));
 				}
-				CK((*filter->output_function)(ent, filter->data));
 				filter->status = 0;
 				/*php_error_docref("ref.mbstring" TSRMLS_CC, E_NOTICE, "mbstring decoded '%s'=%d", buffer, ent);*/
 			} else {
 				/* named entity */
-			        entity = (mbfl_html_entity_entry *)mbfl_html_entity_list;
+				buffer[filter->status] = 0;
+				entity = (mbfl_html_entity_entry *)mbfl_html_entity_list;
 				while (entity->name) {
 					if (!strcmp(buffer+1, entity->name))	{
 						ent = entity->code;
diff --git a/ext/mbstring/libmbfl/filters/mk_sb_tbl.awk b/ext/mbstring/libmbfl/filters/mk_sb_tbl.awk
index 6d49a9e..0faf1cd 100755
--- a/ext/mbstring/libmbfl/filters/mk_sb_tbl.awk
+++ b/ext/mbstring/libmbfl/filters/mk_sb_tbl.awk
@@ -1,6 +1,6 @@
 #!/usr/bin/awk -f
 #
-# $Id: mk_sb_tbl.awk,v 1.2 2005/02/21 07:57:08 moriyoshi Exp $
+# $Id: mk_sb_tbl.awk 180308 2005-02-21 07:57:08Z moriyoshi $
 #
 # Description: a script that generates a single byte code set to Unicode
 # mapping table.
diff --git a/ext/mbstring/libmbfl/libmbfl.dsw b/ext/mbstring/libmbfl/libmbfl.dsw
index 6901852..69e7bf1 100644
--- a/ext/mbstring/libmbfl/libmbfl.dsw
+++ b/ext/mbstring/libmbfl/libmbfl.dsw
@@ -1,29 +1,29 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "libmbfl"=".\libmbfl.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "libmbfl"=".\libmbfl.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/ext/mbstring/libmbfl/libmbfl.sln b/ext/mbstring/libmbfl/libmbfl.sln
index f225e19..f49f0c0 100755
--- a/ext/mbstring/libmbfl/libmbfl.sln
+++ b/ext/mbstring/libmbfl/libmbfl.sln
@@ -1,21 +1,21 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmbfl", "libmbfl.vcproj", "{B3636594-A785-4270-A765-8EAE922B5207}"
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		ConfigName.0 = Debug
-		ConfigName.1 = Release
-	EndGlobalSection
-	GlobalSection(ProjectDependencies) = postSolution
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{B3636594-A785-4270-A765-8EAE922B5207}.Debug.ActiveCfg = Debug|Win32
-		{B3636594-A785-4270-A765-8EAE922B5207}.Debug.Build.0 = Debug|Win32
-		{B3636594-A785-4270-A765-8EAE922B5207}.Release.ActiveCfg = Release|Win32
-		{B3636594-A785-4270-A765-8EAE922B5207}.Release.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 7.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmbfl", "libmbfl.vcproj", "{B3636594-A785-4270-A765-8EAE922B5207}"
+EndProject
+Global
+	GlobalSection(SolutionConfiguration) = preSolution
+		ConfigName.0 = Debug
+		ConfigName.1 = Release
+	EndGlobalSection
+	GlobalSection(ProjectDependencies) = postSolution
+	EndGlobalSection
+	GlobalSection(ProjectConfiguration) = postSolution
+		{B3636594-A785-4270-A765-8EAE922B5207}.Debug.ActiveCfg = Debug|Win32
+		{B3636594-A785-4270-A765-8EAE922B5207}.Debug.Build.0 = Debug|Win32
+		{B3636594-A785-4270-A765-8EAE922B5207}.Release.ActiveCfg = Release|Win32
+		{B3636594-A785-4270-A765-8EAE922B5207}.Release.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+	EndGlobalSection
+	GlobalSection(ExtensibilityAddIns) = postSolution
+	EndGlobalSection
+EndGlobal
diff --git a/ext/mbstring/libmbfl/libmbfl.vcproj b/ext/mbstring/libmbfl/libmbfl.vcproj
index 585a8b8..29e0af0 100755
--- a/ext/mbstring/libmbfl/libmbfl.vcproj
+++ b/ext/mbstring/libmbfl/libmbfl.vcproj
@@ -1,650 +1,650 @@
-<?xml version="1.0" encoding = "shift_jis"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.00"
-	Name="libmbfl"
-	ProjectGUID="{B3636594-A785-4270-A765-8EAE922B5207}"
-	SccProjectName=""
-	SccLocalPath="">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="2"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="mbfl,."
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBMBFL_EXPORTS;MBFL_DLL_EXPORT;HAVE_CONFIG_H=1"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Debug/mbfl.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/mbfl.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				ModuleDefinitionFile=""
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\Debug/mbfl.pdb"
-				ImportLibrary=".\Debug/mbfl.lib"/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Debug/mbfl.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1041"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="2"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="mbfl,."
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBMBFL_EXPORTS;HAVE_CONFIG_H"
-				StringPooling="TRUE"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Release/mbfl.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="odbc32.lib odbccp32.lib"
-				OutputFile=".\Release/mbfl.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				ModuleDefinitionFile=""
-				ProgramDatabaseFile=".\Release/mbfl.pdb"
-				ImportLibrary=".\Release/mbfl.lib"/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Release/mbfl.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-	</Configurations>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="vc6">
-			<File
-				RelativePath=".\filters\html_entities.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfilter.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_7bit.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfilter_8bit.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_ascii.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_base64.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_big5.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_byte2.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_byte4.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp1251.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp1252.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp866.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp932.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp936.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_cn.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_jp.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_jp_win.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_kr.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_tw.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_htmlent.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_hz.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso2022_kr.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_1.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_10.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_13.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_14.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_15.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_16.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_2.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_3.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_4.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_5.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_6.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_7.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_8.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_9.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_jis.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_koi8r.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfilter_pass.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_qprint.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_sjis.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_ucs2.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_ucs4.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_uhc.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf16.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf32.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf7.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf7imap.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf8.c">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_uuencode.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfilter_wchar.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_allocators.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_convert.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_encoding.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_filter_output.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_ident.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_language.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_memory_device.c">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_string.c">
-			</File>
-			<File
-				RelativePath=".\nls\nls_de.c">
-			</File>
-			<File
-				RelativePath=".\nls\nls_en.c">
-			</File>
-			<File
-				RelativePath=".\nls\nls_ja.c">
-			</File>
-			<File
-				RelativePath=".\nls\nls_kr.c">
-			</File>
-			<File
-				RelativePath=".\nls\nls_neutral.c">
-			</File>
-			<File
-				RelativePath=".\nls\nls_ru.c">
-			</File>
-			<File
-				RelativePath=".\nls\nls_uni.c">
-			</File>
-			<File
-				RelativePath=".\nls\nls_zh.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl">
-			<File
-				RelativePath=".\config.h.vc6">
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCustomBuildTool"
-						CommandLine="copy $(InputDir)\config.h.vc6 &quot;$(InputDir)\config.h&quot;
-"
-						Outputs="$(InputDir)\config.h"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCustomBuildTool"
-						CommandLine="copy $(InputDir)\config.h.vc6 &quot;$(InputDir)\config.h&quot;
-"
-						Outputs="$(InputDir)\config.h"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\filters\cp932_table.h">
-			</File>
-			<File
-				RelativePath=".\filters\html_entities.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfilter.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_7bit.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfilter_8bit.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_ascii.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_base64.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_big5.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_byte2.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_byte4.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp1251.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp1252.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp866.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp932.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_cp936.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_cn.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_jp.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_jp_win.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_kr.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_euc_tw.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_htmlent.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_hz.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso2022_kr.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_1.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_10.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_13.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_14.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_15.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_16.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_2.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_3.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_4.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_5.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_6.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_7.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_8.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_iso8859_9.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_jis.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_koi8r.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfilter_pass.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_qprint.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_sjis.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_ucs2.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_ucs4.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_uhc.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf16.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf32.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf7.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf7imap.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_utf8.h">
-			</File>
-			<File
-				RelativePath=".\filters\mbfilter_uuencode.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfilter_wchar.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_allocators.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_consts.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_convert.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_encoding.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_filter_output.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_ident.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_language.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_memory_device.h">
-			</File>
-			<File
-				RelativePath=".\mbfl\mbfl_string.h">
-			</File>
-			<File
-				RelativePath=".\nls\nls_de.h">
-			</File>
-			<File
-				RelativePath=".\nls\nls_en.h">
-			</File>
-			<File
-				RelativePath=".\nls\nls_ja.h">
-			</File>
-			<File
-				RelativePath=".\nls\nls_kr.h">
-			</File>
-			<File
-				RelativePath=".\nls\nls_neutral.h">
-			</File>
-			<File
-				RelativePath=".\nls\nls_ru.h">
-			</File>
-			<File
-				RelativePath=".\nls\nls_uni.h">
-			</File>
-			<File
-				RelativePath=".\nls\nls_zh.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_prop.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_big5.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_cns11643.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_cp1251.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_cp1252.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_cp866.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_cp932_ext.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_cp936.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_10.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_13.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_14.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_15.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_16.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_2.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_3.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_4.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_5.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_6.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_7.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_8.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_iso8859_9.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_jis.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_koi8r.h">
-			</File>
-			<File
-				RelativePath=".\filters\unicode_table_uhc.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-			<File
-				RelativePath=".\mbfl.rc">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding = "shift_jis"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="7.00"
+	Name="libmbfl"
+	ProjectGUID="{B3636594-A785-4270-A765-8EAE922B5207}"
+	SccProjectName=""
+	SccLocalPath="">
+	<Platforms>
+		<Platform
+			Name="Win32"/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory=".\Debug"
+			IntermediateDirectory=".\Debug"
+			ConfigurationType="2"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="FALSE"
+			CharacterSet="2">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="mbfl,."
+				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBMBFL_EXPORTS;MBFL_DLL_EXPORT;HAVE_CONFIG_H=1"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="1"
+				UsePrecompiledHeader="2"
+				PrecompiledHeaderFile=".\Debug/mbfl.pch"
+				AssemblerListingLocation=".\Debug/"
+				ObjectFile=".\Debug/"
+				ProgramDataBaseFileName=".\Debug/"
+				WarningLevel="3"
+				SuppressStartupBanner="TRUE"
+				DebugInformationFormat="4"
+				CompileAs="0"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalOptions="/MACHINE:I386"
+				AdditionalDependencies="odbc32.lib odbccp32.lib"
+				OutputFile=".\Debug/mbfl.dll"
+				LinkIncremental="2"
+				SuppressStartupBanner="TRUE"
+				ModuleDefinitionFile=""
+				GenerateDebugInformation="TRUE"
+				ProgramDatabaseFile=".\Debug/mbfl.pdb"
+				ImportLibrary=".\Debug/mbfl.lib"/>
+			<Tool
+				Name="VCMIDLTool"
+				PreprocessorDefinitions="_DEBUG"
+				MkTypLibCompatible="TRUE"
+				SuppressStartupBanner="TRUE"
+				TargetEnvironment="1"
+				TypeLibraryName=".\Debug/mbfl.tlb"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1041"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory=".\Release"
+			IntermediateDirectory=".\Release"
+			ConfigurationType="2"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="FALSE"
+			CharacterSet="2">
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="1"
+				AdditionalIncludeDirectories="mbfl,."
+				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBMBFL_EXPORTS;HAVE_CONFIG_H"
+				StringPooling="TRUE"
+				RuntimeLibrary="0"
+				EnableFunctionLevelLinking="TRUE"
+				UsePrecompiledHeader="2"
+				PrecompiledHeaderFile=".\Release/mbfl.pch"
+				AssemblerListingLocation=".\Release/"
+				ObjectFile=".\Release/"
+				ProgramDataBaseFileName=".\Release/"
+				WarningLevel="3"
+				SuppressStartupBanner="TRUE"
+				CompileAs="0"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalOptions="/MACHINE:I386"
+				AdditionalDependencies="odbc32.lib odbccp32.lib"
+				OutputFile=".\Release/mbfl.dll"
+				LinkIncremental="1"
+				SuppressStartupBanner="TRUE"
+				ModuleDefinitionFile=""
+				ProgramDatabaseFile=".\Release/mbfl.pdb"
+				ImportLibrary=".\Release/mbfl.lib"/>
+			<Tool
+				Name="VCMIDLTool"
+				PreprocessorDefinitions="NDEBUG"
+				MkTypLibCompatible="TRUE"
+				SuppressStartupBanner="TRUE"
+				TargetEnvironment="1"
+				TypeLibraryName=".\Release/mbfl.tlb"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="NDEBUG"
+				Culture="1033"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+		</Configuration>
+	</Configurations>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="vc6">
+			<File
+				RelativePath=".\filters\html_entities.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfilter.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_7bit.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfilter_8bit.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_ascii.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_base64.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_big5.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_byte2.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_byte4.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp1251.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp1252.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp866.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp932.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp936.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_cn.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_jp.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_jp_win.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_kr.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_tw.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_htmlent.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_hz.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso2022_kr.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_1.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_10.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_13.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_14.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_15.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_16.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_2.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_3.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_4.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_5.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_6.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_7.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_8.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_9.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_jis.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_koi8r.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfilter_pass.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_qprint.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_sjis.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_ucs2.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_ucs4.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_uhc.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf16.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf32.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf7.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf7imap.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf8.c">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_uuencode.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfilter_wchar.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_allocators.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_convert.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_encoding.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_filter_output.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_ident.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_language.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_memory_device.c">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_string.c">
+			</File>
+			<File
+				RelativePath=".\nls\nls_de.c">
+			</File>
+			<File
+				RelativePath=".\nls\nls_en.c">
+			</File>
+			<File
+				RelativePath=".\nls\nls_ja.c">
+			</File>
+			<File
+				RelativePath=".\nls\nls_kr.c">
+			</File>
+			<File
+				RelativePath=".\nls\nls_neutral.c">
+			</File>
+			<File
+				RelativePath=".\nls\nls_ru.c">
+			</File>
+			<File
+				RelativePath=".\nls\nls_uni.c">
+			</File>
+			<File
+				RelativePath=".\nls\nls_zh.c">
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl">
+			<File
+				RelativePath=".\config.h.vc6">
+				<FileConfiguration
+					Name="Debug|Win32">
+					<Tool
+						Name="VCCustomBuildTool"
+						CommandLine="copy $(InputDir)\config.h.vc6 &quot;$(InputDir)\config.h&quot;
+"
+						Outputs="$(InputDir)\config.h"/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32">
+					<Tool
+						Name="VCCustomBuildTool"
+						CommandLine="copy $(InputDir)\config.h.vc6 &quot;$(InputDir)\config.h&quot;
+"
+						Outputs="$(InputDir)\config.h"/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\filters\cp932_table.h">
+			</File>
+			<File
+				RelativePath=".\filters\html_entities.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfilter.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_7bit.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfilter_8bit.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_ascii.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_base64.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_big5.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_byte2.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_byte4.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp1251.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp1252.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp866.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp932.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_cp936.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_cn.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_jp.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_jp_win.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_kr.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_euc_tw.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_htmlent.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_hz.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso2022_kr.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_1.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_10.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_13.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_14.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_15.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_16.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_2.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_3.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_4.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_5.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_6.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_7.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_8.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_iso8859_9.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_jis.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_koi8r.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfilter_pass.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_qprint.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_sjis.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_ucs2.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_ucs4.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_uhc.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf16.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf32.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf7.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf7imap.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_utf8.h">
+			</File>
+			<File
+				RelativePath=".\filters\mbfilter_uuencode.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfilter_wchar.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_allocators.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_consts.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_convert.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_encoding.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_filter_output.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_ident.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_language.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_memory_device.h">
+			</File>
+			<File
+				RelativePath=".\mbfl\mbfl_string.h">
+			</File>
+			<File
+				RelativePath=".\nls\nls_de.h">
+			</File>
+			<File
+				RelativePath=".\nls\nls_en.h">
+			</File>
+			<File
+				RelativePath=".\nls\nls_ja.h">
+			</File>
+			<File
+				RelativePath=".\nls\nls_kr.h">
+			</File>
+			<File
+				RelativePath=".\nls\nls_neutral.h">
+			</File>
+			<File
+				RelativePath=".\nls\nls_ru.h">
+			</File>
+			<File
+				RelativePath=".\nls\nls_uni.h">
+			</File>
+			<File
+				RelativePath=".\nls\nls_zh.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_prop.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_big5.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_cns11643.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_cp1251.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_cp1252.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_cp866.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_cp932_ext.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_cp936.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_10.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_13.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_14.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_15.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_16.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_2.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_3.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_4.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_5.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_6.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_7.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_8.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_iso8859_9.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_jis.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_koi8r.h">
+			</File>
+			<File
+				RelativePath=".\filters\unicode_table_uhc.h">
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+			<File
+				RelativePath=".\mbfl.rc">
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/ext/mbstring/libmbfl/mbfl.rc b/ext/mbstring/libmbfl/mbfl.rc
index 184d849..91c312c 100644
--- a/ext/mbstring/libmbfl/mbfl.rc
+++ b/ext/mbstring/libmbfl/mbfl.rc
@@ -1,4 +1,4 @@
-/* $Id: mbfl.rc,v 1.5 2005/02/20 22:18:07 moriyoshi Exp $ */
+/* $Id: mbfl.rc 180252 2005-02-20 22:18:09Z moriyoshi $ */
 1 VERSIONINFO
 FILEVERSION 1,1,0,0 
 PRODUCTVERSION 1,1,0,0 
diff --git a/ext/mbstring/libmbfl/mbfl/mk_eaw_tbl.awk b/ext/mbstring/libmbfl/mbfl/mk_eaw_tbl.awk
index c9fdf7c..de2b7e0 100644
--- a/ext/mbstring/libmbfl/mbfl/mk_eaw_tbl.awk
+++ b/ext/mbstring/libmbfl/mbfl/mk_eaw_tbl.awk
@@ -1,6 +1,6 @@
 #!/usr/bin/awk -f
 #
-# $Id: mk_eaw_tbl.awk,v 1.2 2005/02/20 22:18:08 moriyoshi Exp $
+# $Id: mk_eaw_tbl.awk 180252 2005-02-20 22:18:09Z moriyoshi $
 #
 # Description: a script to generate east asian width table.
 #
diff --git a/ext/mbstring/mb_gpc.c b/ext/mbstring/mb_gpc.c
index fc59fba..2e39843 100644
--- a/ext/mbstring/mb_gpc.c
+++ b/ext/mbstring/mb_gpc.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mb_gpc.c,v 1.17.2.2.2.6 2009/03/15 20:44:17 moriyoshi Exp $ */
+/* $Id: mb_gpc.c 284728 2009-07-24 23:50:12Z moriyoshi $ */
 
 /* {{{ includes */
 #ifdef HAVE_CONFIG_H
@@ -59,7 +59,7 @@ MBSTRING_API SAPI_TREAT_DATA_FUNC(mbstr_treat_data)
 	enum mbfl_no_encoding detected;
 	php_mb_encoding_handler_info_t info;
 
-	{
+	if (arg != PARSE_STRING) {
 		char *value = zend_ini_string("mbstring.internal_encoding", sizeof("mbstring.internal_encoding"), 0);
 		_php_mb_ini_mbstring_internal_encoding_set(value, value ? strlen(value): 0 TSRMLS_CC);
 	}
diff --git a/ext/mbstring/mb_gpc.h b/ext/mbstring/mb_gpc.h
index fdeb595..eee59ef 100644
--- a/ext/mbstring/mb_gpc.h
+++ b/ext/mbstring/mb_gpc.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mb_gpc.h,v 1.5.2.1 2006/01/01 12:50:08 sniper Exp $ */
+/* $Id: mb_gpc.h 204189 2006-01-01 12:51:34Z sniper $ */
 
 /* {{{ includes */
 #ifdef HAVE_CONFIG_H
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index fad85a3..e4271d9 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mbstring.c,v 1.224.2.22.2.47 2009/03/15 20:44:17 moriyoshi Exp $ */
+/* $Id: mbstring.c 277212 2009-03-15 20:44:17Z moriyoshi $ */
 
 /*
  * PHP 4 Multibyte String module "mbstring"
diff --git a/ext/mbstring/mbstring.h b/ext/mbstring/mbstring.h
index 461faeb..826efd0 100644
--- a/ext/mbstring/mbstring.h
+++ b/ext/mbstring/mbstring.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mbstring.h,v 1.66.2.4.2.10 2009/03/15 20:44:17 moriyoshi Exp $ */
+/* $Id: mbstring.h 277212 2009-03-15 20:44:17Z moriyoshi $ */
 
 /*
  * PHP 4 Multibyte String module "mbstring" (currently only for Japanese)
diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c
index 4c61f13..5ea9d2e 100644
--- a/ext/mbstring/php_mbregex.c
+++ b/ext/mbstring/php_mbregex.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_mbregex.c,v 1.53.2.1.2.9 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: php_mbregex.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/mbstring/php_mbregex.h b/ext/mbstring/php_mbregex.h
index 11d4d8b..d7a12ea 100644
--- a/ext/mbstring/php_mbregex.h
+++ b/ext/mbstring/php_mbregex.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_mbregex.h,v 1.12.2.1.2.3 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: php_mbregex.h 272374 2008-12-31 11:17:49Z sebastian $ */
  
 #ifndef _PHP_MBREGEX_H
 #define _PHP_MBREGEX_H
diff --git a/ext/mbstring/tests/bug46806.phpt b/ext/mbstring/tests/bug46806.phpt
new file mode 100644
index 0000000..eec44b5
--- /dev/null
+++ b/ext/mbstring/tests/bug46806.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Bug #46806 (mb_wtrimwidth cutting to early)
+--CREDITS--
+Sebastian Schürmann
+sebs at php.net
+Testfest 2009 
+--SKIPIF--
+<?php if (!extension_loaded("mbstring")) die("skip mbstring is not available"); ?>
+--FILE--
+<?php
+echo mb_strimwidth('helloworld', 0, 5, '...', 'UTF-8') . "\n";
+echo mb_strimwidth('hello', 0, 5, '...', 'UTF-8');
+?>
+--EXPECT--
+he...
+hello
diff --git a/ext/mbstring/tests/bug48645.phpt b/ext/mbstring/tests/bug48645.phpt
new file mode 100644
index 0000000..6185442
--- /dev/null
+++ b/ext/mbstring/tests/bug48645.phpt
@@ -0,0 +1,162 @@
+--TEST--
+Bug #48645 (mb_convert_encoding() doesn't understand hexadecimal html-entities)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--FILE--
+<?php
+var_dump(bin2hex(mb_convert_encoding("&#x0;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x1;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x2;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x3;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x4;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x5;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x6;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x7;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x8;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x9;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xA;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xB;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xC;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xD;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xE;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xF;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xa;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xb;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xc;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xd;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xe;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xf;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x/;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x:;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x@;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x`;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xG;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#xg;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X0;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X1;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X2;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X3;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X4;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X5;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X6;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X7;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X8;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X9;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#XA;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#XB;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#XC;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#XD;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#XE;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#XF;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#Xa;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#Xb;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#Xc;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#Xd;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#Xe;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#Xf;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X/;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X:;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X@;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X`;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#XG;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#Xg;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#0;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#1;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#2;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#3;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#4;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#5;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#6;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#7;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#8;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#9;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#/;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#:;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x10ffff;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#x110000;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X10ffff;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#X110000;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#1114111;", "UTF-8", "HTML-ENTITIES")));
+var_dump(bin2hex(mb_convert_encoding("&#1114112;", "UTF-8", "HTML-ENTITIES")));
+?>
+--EXPECT--
+string(2) "00"
+string(2) "01"
+string(2) "02"
+string(2) "03"
+string(2) "04"
+string(2) "05"
+string(2) "06"
+string(2) "07"
+string(2) "08"
+string(2) "09"
+string(2) "0a"
+string(2) "0b"
+string(2) "0c"
+string(2) "0d"
+string(2) "0e"
+string(2) "0f"
+string(2) "0a"
+string(2) "0b"
+string(2) "0c"
+string(2) "0d"
+string(2) "0e"
+string(2) "0f"
+string(10) "2623782f3b"
+string(10) "2623783a3b"
+string(10) "262378403b"
+string(10) "262378603b"
+string(10) "262378473b"
+string(10) "262378673b"
+string(8) "2623783b"
+string(2) "00"
+string(2) "01"
+string(2) "02"
+string(2) "03"
+string(2) "04"
+string(2) "05"
+string(2) "06"
+string(2) "07"
+string(2) "08"
+string(2) "09"
+string(2) "0a"
+string(2) "0b"
+string(2) "0c"
+string(2) "0d"
+string(2) "0e"
+string(2) "0f"
+string(2) "0a"
+string(2) "0b"
+string(2) "0c"
+string(2) "0d"
+string(2) "0e"
+string(2) "0f"
+string(10) "2623582f3b"
+string(10) "2623583a3b"
+string(10) "262358403b"
+string(10) "262358603b"
+string(10) "262358473b"
+string(10) "262358673b"
+string(8) "2623583b"
+string(2) "00"
+string(2) "01"
+string(2) "02"
+string(2) "03"
+string(2) "04"
+string(2) "05"
+string(2) "06"
+string(2) "07"
+string(2) "08"
+string(2) "09"
+string(8) "26232f3b"
+string(8) "26233a3b"
+string(6) "26233b"
+string(8) "f48fbfbf"
+string(20) "2623783131303030303b"
+string(8) "f48fbfbf"
+string(20) "2623583131303030303b"
+string(8) "f48fbfbf"
+string(20) "2623313131343131323b"
diff --git a/ext/mbstring/tests/bug48697.phpt b/ext/mbstring/tests/bug48697.phpt
new file mode 100644
index 0000000..b79fb77
--- /dev/null
+++ b/ext/mbstring/tests/bug48697.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #48697 (mb_internal_encoding() value gets reset by parse_str()
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--FILE--
+<?php
+ini_set('mbstring.internal_encoding', 'ISO-8859-15');
+ini_set('mbstring.encoding_translation', true);
+var_dump(mb_internal_encoding());
+mb_internal_encoding('UTF-8');
+var_dump(mb_internal_encoding());
+parse_str('a=b');
+var_dump(mb_internal_encoding());
+mb_internal_encoding('UTF-8');
+var_dump(mb_internal_encoding());
+parse_str('a=b');
+var_dump(mb_internal_encoding());
+?>
+--EXPECT--
+string(11) "ISO-8859-15"
+string(5) "UTF-8"
+string(5) "UTF-8"
+string(5) "UTF-8"
+string(5) "UTF-8"
diff --git a/ext/mcrypt/TODO b/ext/mcrypt/TODO
index e11f28b..8f0ffbe 100644
--- a/ext/mcrypt/TODO
+++ b/ext/mcrypt/TODO
@@ -1,4 +1,4 @@
-/* $Id: TODO,v 1.3 2003/12/19 15:29:34 derick Exp $ */
+/* $Id: TODO 146898 2003-12-19 15:29:34Z derick $ */
 
 ToDo:
 - Convert to zend_parse_parameters
diff --git a/ext/mcrypt/config.m4 b/ext/mcrypt/config.m4
index c6e9792..c45cf1b 100644
--- a/ext/mcrypt/config.m4
+++ b/ext/mcrypt/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.31.4.1 2006/12/23 17:58:47 derick Exp $
+dnl $Id: config.m4 225644 2006-12-23 17:58:47Z derick $
 dnl 
 
 AC_DEFUN([PHP_MCRYPT_CHECK_VERSION],[
diff --git a/ext/mcrypt/config.w32 b/ext/mcrypt/config.w32
index 4c64310..97afe20 100644
--- a/ext/mcrypt/config.w32
+++ b/ext/mcrypt/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2 2004/01/18 19:21:23 derick Exp $
+// $Id: config.w32 149140 2004-01-18 19:21:23Z derick $
 // vim:ft=javascript
 
 ARG_WITH("mcrypt", "mcrypt support", "no");
diff --git a/ext/mcrypt/mcrypt.c b/ext/mcrypt/mcrypt.c
index 17a997a..be9e638 100644
--- a/ext/mcrypt/mcrypt.c
+++ b/ext/mcrypt/mcrypt.c
@@ -16,7 +16,7 @@
    |          Derick Rethans <derick at derickrethans.nl>                    |
    +----------------------------------------------------------------------+
  */
-/* $Id: mcrypt.c,v 1.91.2.3.2.14 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: mcrypt.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/mcrypt/php_mcrypt.h b/ext/mcrypt/php_mcrypt.h
index a3ced71..b1b438f 100644
--- a/ext/mcrypt/php_mcrypt.h
+++ b/ext/mcrypt/php_mcrypt.h
@@ -16,7 +16,7 @@
    |          Derick Rethans <derick at derickrethans.nl>                    |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_mcrypt.h,v 1.26.2.1.2.4 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: php_mcrypt.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_MCRYPT_H
 #define PHP_MCRYPT_H
diff --git a/ext/mhash/config.m4 b/ext/mhash/config.m4
index 4b91b71..44c4a73 100644
--- a/ext/mhash/config.m4
+++ b/ext/mhash/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.15.4.1 2006/12/23 17:58:47 derick Exp $
+dnl $Id: config.m4 225644 2006-12-23 17:58:47Z derick $
 dnl
 
 PHP_ARG_WITH(mhash, for mhash support,
diff --git a/ext/mhash/config.w32 b/ext/mhash/config.w32
index 774deca..964d72c 100644
--- a/ext/mhash/config.w32
+++ b/ext/mhash/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2004/01/09 13:42:14 wez Exp $
+// $Id: config.w32 148305 2004-01-09 13:42:14Z wez $
 // vim:ft=javascript
 
 ARG_WITH("mhash", "mhash support", "no");
diff --git a/ext/mhash/mhash.c b/ext/mhash/mhash.c
index c699fa7..41d18bc 100644
--- a/ext/mhash/mhash.c
+++ b/ext/mhash/mhash.c
@@ -16,7 +16,7 @@
    |          Nikos Mavroyanopoulos <nmav at hellug.gr> (HMAC, KEYGEN)       |
    +----------------------------------------------------------------------+
  */
-/* $Id: mhash.c,v 1.48.2.3.2.7 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: mhash.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/mhash/php_mhash.h b/ext/mhash/php_mhash.h
index 67435e0..e9207b8 100644
--- a/ext/mhash/php_mhash.h
+++ b/ext/mhash/php_mhash.h
@@ -16,7 +16,7 @@
    |          Nikos Mavroyanopoulos <nmav at hellug.gr> (HMAC, KEYGEN)       |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_mhash.h,v 1.12.2.1.2.3 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: php_mhash.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_MHASH_H
 #define PHP_MHASH_H
diff --git a/ext/mhash/tests/001.phpt b/ext/mhash/tests/001.phpt
index 107de5c..13c16a2 100644
--- a/ext/mhash/tests/001.phpt
+++ b/ext/mhash/tests/001.phpt
@@ -18,7 +18,8 @@ $supported_hash_al = array(
 "MHASH_HAVAL160"  => "Ƴo‡uWi¼´ò\"q”{ùË",
 "MHASH_RIPEMD160" => "lGCZ¡ÓYķƯF4Ÿ\x0C>XX=",
 "MHASH_GOST"      => "\x0A%Rνõ|­ñQGòU¶C)5»œ,Ç⍋-ž",
-"MHASH_TIGER"     => "ý¹šyÃ:•g~ —«®‘ë
à0T»\9",
+"MHASH_TIGER"     => "ý¹šyÃ:•g~ —«®‘ë
+à0T»\9",
 "MHASH_CRC32"     => "ƒ¸",
 "MHASH_CRC32B"    => "¤·Zß"
 );
diff --git a/ext/mhash/tests/003.phpt b/ext/mhash/tests/003.phpt
index 354509d..e5995f2 100644
--- a/ext/mhash/tests/003.phpt
+++ b/ext/mhash/tests/003.phpt
@@ -11,13 +11,15 @@ $supported_hash_al = array(
 "MHASH_MD5"       => "†\x15N¯”2Íé4z¡P”¹ÀFë\x06æ ”\x0CTyªzcg®hµààt^W\x09þÞ-Ÿésš­A7Yú§:Ìí‚\x10w´Ý²x€dãqëS³©Õ^Òƒš«&UÈ,þÛè: „aÇ™Ù×zä\x06\x1CS›\x01",
 "MHASH_SHA1"      => "Ý1\\p\x06\x1D\x07E]SÂû\x0B\x08ß\x0Caªf\\\x1A±§\x01ú\x10•T#\$‹¨2¥­ä\x06³›xc\x0Aº=\x16ˆæ\"IJ\x0E®'NΚԽ÷n‡Ë\x08J3É\x15<+H\x13\x1D0§[\x00§À[‘ñÿê¿Y»\x12qÄØ¡\x19¸K¯mI",
 "MHASH_HAVAL256"  => "ÞG\x00Ÿ‡Õé¢NÏPwÖ\x0CH6W¥Ù„«+·€õ‡,Êö\x1C\x0DgdZ„ŽUþá\x07)oAiÉ[Nað®îú²d…TÁ\x17\x1F°¢ü2ªZîÓÕÁUÓ46}IYb,ÚÞþC®\x17½\x1AuùÔþ÷{ñ’¾[x",
-"MHASH_HAVAL224"  => "\\Jÿ=‚ZÖ\x08ö\x08Èêçyî8haÆ\x0A˜ó×p³¦g|yÂÚÜ«qÝàÀ\x19\x1E\x06ƒ—«)
å˼l¼ÐÇŒ¨G\x0CB@kw躍Q“ù‚v52O¸P¬-0·5\x00L	m`G-2ÃI",
+"MHASH_HAVAL224"  => "\\Jÿ=‚ZÖ\x08ö\x08Èêçyî8haÆ\x0A˜ó×p³¦g|yÂÚÜ«qÝàÀ\x19\x1E\x06ƒ—«)
+å˼l¼ÐÇŒ¨G\x0CB@kw躍Q“ù‚v52O¸P¬-0·5\x00L	m`G-2ÃI",
 "MHASH_HAVAL192"  => "\"àÂq&\x02<….ùA\x07»/\x1Eá2°d\x17‹Ëû\x1C2æXv\x0Bp½Å±Å%™\x03\x16(ÂC;î+\x08p«z8®²\x12\x15\x13NÁ\x08‰u¹©d‡d)qïž³Ù‡ºùv_ÙæÖMINª„¯çà xLt—žº±Ç‡",
 "MHASH_HAVAL160"  => "Öåðï\x07óúÌídní¶6GXìÞmÆû\x06\x1E\x00¤–õη#÷Ž¡5ˆM–‚\"míiÁ\x1D„1\$\x0Eù|­X<O)Y;¿=ÓÊ°¸y.³Ø`\"Ê`\x02ëÐÙ´B™	Ô¯…¾Òµ©k>G¹¸ÊÉ\x19Á\x17~Ä\x0D~",
 "MHASH_RIPEMD160" => "äÕÛFšòŸxâ¹\x0DÇ5ÉÏ\x02\x0a\x1D[\x19¦gDXgw”ÔÜ¡DÔ&Åb¯ùŽ†jŠ’B™ëö°êš7ù‡¡û]é¶GíÃ[\x14G`^\x1B«Ã\x08Kç “\x11\x17ë3C-ABâ%ß\x04K\x03??öK´¡†‚¤ù",
 "MHASH_GOST"      => "ÀDöi½~†C•=wÆ‚ý\x17’BÙß\x15}­øs¾M–\x01äd|\x01‚4h“Yç\"\x0A°I*b@Ñ„Äxc at sÞ¨y¾†ýN%d÷×\x09¶ŠFD\x0a\x12\x12Pà\x0FÇÕ}E©À~â:pOôŒ\x0D­pwìR{\x19M‡",
 "MHASH_TIGER"     => "gêÉ{Ê\nG±ö&/3däÎ#7`þ2UöBQ/Óy)ºÌñçX#k'h¤ÂÀÀn‹ä/¥÷E‚¸©›ÛÀ˜p*M1 VÄÉKÚyºO`Õ	×ø•M¨¢——6Ô|\"ª",
-"MHASH_CRC32"     => "H@Œ&_šYïèoQÅÒÐ1[Fq\"®\x08ÁÌÝfŸéVÈ8\x08ã¥EöîE<¤™M¼:Ⱥ…¥r„ðk*±HœÚu±è/}›ßÛh3iW»ñžJ?vu
i…¥=ÕW\"üó",
+"MHASH_CRC32"     => "H@Œ&_šYïèoQÅÒÐ1[Fq\"®\x08ÁÌÝfŸéVÈ8\x08ã¥EöîE<¤™M¼:Ⱥ…¥r„ðk*±HœÚu±è/}›ßÛh3iW»ñžJ?vu
+i…¥=ÕW\"üó",
 "MHASH_CRC32B"    => "µl«e¦>}û*©]¶F×›6\x13ŠbCÍˏ.	I¯\x0F–jœÎ¥0ÐÛ\x0D\x1F<˜Æ.Qyç–¾¶tiý°xbØ\$}ƒ\x0Bõ˜È´“	×ϬȌDÅDK…\x13é1uLðÝ6§¡`÷æɏ|Ecñ\x04°",
 );
 
diff --git a/ext/mime_magic/config.m4 b/ext/mime_magic/config.m4
index b799501..0c83bb2 100644
--- a/ext/mime_magic/config.m4
+++ b/ext/mime_magic/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.12.6.1 2007/07/03 17:25:34 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl
 
 PHP_ARG_WITH(mime-magic, whether to include mime_magic support,
diff --git a/ext/mime_magic/config.w32 b/ext/mime_magic/config.w32
index f460c85..f4e259b 100644
--- a/ext/mime_magic/config.w32
+++ b/ext/mime_magic/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/19 15:04:23 wez Exp $
+// $Id: config.w32 146884 2003-12-19 15:04:31Z wez $
 // vim:ft=javascript
 
 ARG_WITH("mime-magic", "Mime Magic support", "no");
diff --git a/ext/mime_magic/mime_magic.c b/ext/mime_magic/mime_magic.c
index 6a4fa6b..a7c4dea 100644
--- a/ext/mime_magic/mime_magic.c
+++ b/ext/mime_magic/mime_magic.c
@@ -15,7 +15,7 @@
   | Author: Hartmut Holzgraefe  <hholzgra at php.net>                       |
   +----------------------------------------------------------------------+
 
-  $Id: mime_magic.c,v 1.42.2.5.2.9 2008/12/31 11:17:39 sebastian Exp $ 
+  $Id: mime_magic.c 272374 2008-12-31 11:17:49Z sebastian $ 
 
   This module contains a lot of stuff taken from Apache mod_mime_magic,
   so the license section is a little bit longer than usual:
diff --git a/ext/mime_magic/php_mime_magic.h b/ext/mime_magic/php_mime_magic.h
index 5a346f8..006125e 100644
--- a/ext/mime_magic/php_mime_magic.h
+++ b/ext/mime_magic/php_mime_magic.h
@@ -15,7 +15,7 @@
   | Author:                                                              |
   +----------------------------------------------------------------------+
 
-  $Id: php_mime_magic.h,v 1.11.2.1.2.3 2008/12/31 11:17:39 sebastian Exp $ 
+  $Id: php_mime_magic.h 272374 2008-12-31 11:17:49Z sebastian $ 
 */
 
 #ifndef PHP_MIME_MAGIC_H
diff --git a/ext/mime_magic/phpmimemagic.h b/ext/mime_magic/phpmimemagic.h
index 2b95b5a..ed9d243 100644
--- a/ext/mime_magic/phpmimemagic.h
+++ b/ext/mime_magic/phpmimemagic.h
@@ -15,7 +15,7 @@
   | Author:                                                              |
   +----------------------------------------------------------------------+
 
-  $Id: phpmimemagic.h,v 1.3.2.2.2.3 2008/12/31 11:17:39 sebastian Exp $ 
+  $Id: phpmimemagic.h 272374 2008-12-31 11:17:49Z sebastian $ 
 */
 
 #ifndef PHPMIMEMAGIC_H
diff --git a/ext/ming/config.m4 b/ext/ming/config.m4
index 90b5563..299f894 100644
--- a/ext/ming/config.m4
+++ b/ext/ming/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.22.2.6.2.4 2007/03/06 10:13:40 tony2001 Exp $
+dnl $Id: config.m4 231313 2007-03-06 10:13:54Z tony2001 $
 dnl
 
 PHP_ARG_WITH(ming, for MING support,
diff --git a/ext/ming/config.w32 b/ext/ming/config.w32
index 4010b22..4665c85 100644
--- a/ext/ming/config.w32
+++ b/ext/ming/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.4 2005/07/18 00:42:47 fmk Exp $
+// $Id: config.w32 190852 2005-07-18 00:42:48Z fmk $
 // vim:ft=javascript
 
 ARG_WITH("ming", "MING support", "no");
diff --git a/ext/ming/ming.c b/ext/ming/ming.c
index 891a438..3bf3ed0 100644
--- a/ext/ming/ming.c
+++ b/ext/ming/ming.c
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: ming.c,v 1.79.2.4.2.10 2008/12/31 11:17:39 sebastian Exp $ */
+/* $Id: ming.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/ming/php_ming.h b/ext/ming/php_ming.h
index 68b04c8..3e0f075 100644
--- a/ext/ming/php_ming.h
+++ b/ext/ming/php_ming.h
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_ming.h,v 1.17.2.1.2.5 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_ming.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef _PHP_MING_H
 #define _PHP_MING_H
diff --git a/ext/ming/tests/swfaction-new.phpt b/ext/ming/tests/swfaction-new.phpt
index ba4845a..c1862e4 100755
--- a/ext/ming/tests/swfaction-new.phpt
+++ b/ext/ming/tests/swfaction-new.phpt
@@ -6,7 +6,7 @@ if (!extension_loaded("ming")) die("skip");
 if (!MING_NEW && !MING_ZLIB) die("skip old ming");
 ?>
 --FILE--
-<?php /* $Id: swfaction-new.phpt,v 1.1 2005/07/18 00:14:53 helly Exp $ */
+<?php /* $Id: swfaction-new.phpt 190849 2005-07-18 00:14:54Z helly $ */
 
   $s = new SWFShape();
   $f = $s->addFill(0xff, 0, 0);
diff --git a/ext/ming/tests/swfaction.phpt b/ext/ming/tests/swfaction.phpt
index 5e787d1..0f0c175 100644
--- a/ext/ming/tests/swfaction.phpt
+++ b/ext/ming/tests/swfaction.phpt
@@ -6,7 +6,7 @@ if (!extension_loaded("ming")) die("skip");
 if (MING_NEW || MING_ZLIB) die("skip new ming");
 ?>
 --FILE--
-<?php /* $Id: swfaction.phpt,v 1.3 2005/07/18 00:14:53 helly Exp $ */
+<?php /* $Id: swfaction.phpt 190849 2005-07-18 00:14:54Z helly $ */
 
   $s = new SWFShape();
   $f = $s->addFill(0xff, 0, 0);
diff --git a/ext/msql/config.m4 b/ext/msql/config.m4
index 3ac9565..32ac7f4 100644
--- a/ext/msql/config.m4
+++ b/ext/msql/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.14.4.1 2007/07/03 17:25:34 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl
 
 dnl
diff --git a/ext/msql/config.w32 b/ext/msql/config.w32
index aaa78b4..4f0fdef 100644
--- a/ext/msql/config.w32
+++ b/ext/msql/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/19 15:04:24 wez Exp $
+// $Id: config.w32 146884 2003-12-19 15:04:31Z wez $
 // vim:ft=javascript
 
 ARG_WITH("msql", "MSQL support", "no");
diff --git a/ext/msql/php_msql.c b/ext/msql/php_msql.c
index 3911726..d258c6e 100644
--- a/ext/msql/php_msql.c
+++ b/ext/msql/php_msql.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_msql.c,v 1.60.2.4.2.4 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_msql.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/msql/php_msql.h b/ext/msql/php_msql.h
index b09efa0..5008473 100644
--- a/ext/msql/php_msql.h
+++ b/ext/msql/php_msql.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_msql.h,v 1.13.2.1.2.3 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_msql.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_MSQL_H
 #define PHP_MSQL_H
diff --git a/ext/mssql/config.m4 b/ext/mssql/config.m4
index 482f4e3..9770353 100644
--- a/ext/mssql/config.m4
+++ b/ext/mssql/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.9.2.2.2.2 2008/10/04 13:19:22 felipe Exp $
+dnl $Id: config.m4 266963 2008-10-04 13:19:22Z felipe $
 dnl
 
 PHP_ARG_WITH(mssql,for MSSQL support via FreeTDS,
diff --git a/ext/mssql/config.w32 b/ext/mssql/config.w32
index 0955f9c..9c43816 100644
--- a/ext/mssql/config.w32
+++ b/ext/mssql/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.7 2005/01/18 22:38:24 fmk Exp $
+// $Id: config.w32 177602 2005-01-18 22:38:24Z fmk $
 // vim:ft=javascript
 
 ARG_WITH("mssql", "mssql support", "no");
diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c
index ed75d40..52b503c 100644
--- a/ext/mssql/php_mssql.c
+++ b/ext/mssql/php_mssql.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_mssql.c,v 1.152.2.13.2.12 2009/02/23 21:21:23 kalle Exp $ */
+/* $Id: php_mssql.c 284146 2009-07-15 19:16:58Z rasmus $ */
 
 #ifdef COMPILE_DL_MSSQL
 #define HAVE_MSSQL 1
@@ -406,8 +406,11 @@ static void php_mssql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 				}
 				convert_to_string_ex(yyhost);
 				host = Z_STRVAL_PP(yyhost);
+				if(strlen(host)>255) {
+					host[255] = '\0';
+				}
 				user=passwd=NULL;
-				hashed_details_length = spprintf(&hashed_details, 0, "mssql_%s__", Z_STRVAL_PP(yyhost));
+				hashed_details_length = spprintf(&hashed_details, 0, "mssql_%s__", host);
 			}
 			break;
 		case 2: {
@@ -420,8 +423,14 @@ static void php_mssql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 				convert_to_string_ex(yyuser);
 				host = Z_STRVAL_PP(yyhost);
 				user = Z_STRVAL_PP(yyuser);
+				if(strlen(host)>255) {
+					host[255] = '\0';
+				}
+				if(strlen(user)>255) {
+					user[255] = '\0';
+				}
 				passwd=NULL;
-				hashed_details_length = spprintf(&hashed_details, 0, "mssql_%s_%s_",Z_STRVAL_PP(yyhost),Z_STRVAL_PP(yyuser));
+				hashed_details_length = spprintf(&hashed_details, 0, "mssql_%s_%s_", host, user);
 			}
 			break;
 		case 3: {
@@ -436,7 +445,16 @@ static void php_mssql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 				host = Z_STRVAL_PP(yyhost);
 				user = Z_STRVAL_PP(yyuser);
 				passwd = Z_STRVAL_PP(yypasswd);
-				hashed_details_length = spprintf(&hashed_details,0,"mssql_%s_%s_%s",Z_STRVAL_PP(yyhost),Z_STRVAL_PP(yyuser),Z_STRVAL_PP(yypasswd));
+				if(strlen(host)>255) {
+					host[255] = '\0';
+				}
+				if(strlen(user)>255) {
+					user[255] = '\0';
+				}
+				if(strlen(passwd)>255) {
+					passwd[255] = '\0';
+				}
+				hashed_details_length = spprintf(&hashed_details,0,"mssql_%s_%s_%s", host, user, passwd);
 			}
 			break;
 		case 4: {
@@ -453,7 +471,16 @@ static void php_mssql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 				user = Z_STRVAL_PP(yyuser);
 				passwd = Z_STRVAL_PP(yypasswd);
 				new_link = Z_LVAL_PP(yynew_link);
-				hashed_details_length = spprintf(&hashed_details,0,"mssql_%s_%s_%s",Z_STRVAL_PP(yyhost),Z_STRVAL_PP(yyuser),Z_STRVAL_PP(yypasswd));
+				if(strlen(host)>255) {
+					host[255] = '\0';
+				}
+				if(strlen(user)>255) {
+					user[255] = '\0';
+				}
+				if(strlen(passwd)>255) {
+					passwd[255] = '\0';
+				}
+				hashed_details_length = spprintf(&hashed_details,0,"mssql_%s_%s_%s", host, user, passwd);
 			}
 			break;
 		default:
diff --git a/ext/mssql/php_mssql.h b/ext/mssql/php_mssql.h
index e161201..bcad026 100644
--- a/ext/mssql/php_mssql.h
+++ b/ext/mssql/php_mssql.h
@@ -17,7 +17,7 @@
  */
 
 
-/* $Id: php_mssql.h,v 1.42.2.3.2.4 2009/05/26 12:37:52 felipe Exp $ */
+/* $Id: php_mssql.h 281165 2009-05-26 12:37:52Z felipe $ */
 
 #ifndef PHP_MSSQL_H
 #define PHP_MSSQL_H
diff --git a/ext/mysql/config.m4 b/ext/mysql/config.m4
index 5593ed5..cfa5737 100644
--- a/ext/mysql/config.m4
+++ b/ext/mysql/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.67.2.1.2.1 2006/06/01 19:14:48 mike Exp $
+dnl $Id: config.m4 214114 2006-06-01 19:14:48Z mike $
 dnl
 
 AC_DEFUN([MYSQL_LIB_CHK], [
diff --git a/ext/mysql/config.w32 b/ext/mysql/config.w32
index 267f2c3..76e98d5 100644
--- a/ext/mysql/config.w32
+++ b/ext/mysql/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2 2005/06/05 19:25:00 wez Exp $
+// $Id: config.w32 187690 2005-06-05 19:25:01Z wez $
 // vim:ft=javascript
 
 ARG_WITH("mysql", "MySQL support", "no");
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index d5c494a..e2f65bb 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
  
-/* $Id: php_mysql.c,v 1.213.2.6.2.26 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_mysql.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* TODO:
  *
diff --git a/ext/mysql/php_mysql.h b/ext/mysql/php_mysql.h
index 0fe1abe..7960580 100644
--- a/ext/mysql/php_mysql.h
+++ b/ext/mysql/php_mysql.h
@@ -17,7 +17,7 @@
 */
 
 
-/* $Id: php_mysql.h,v 1.37.2.1.2.5 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_mysql.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_MYSQL_H
 #define PHP_MYSQL_H
diff --git a/ext/mysql/php_mysql_structs.h b/ext/mysql/php_mysql_structs.h
index 73f6be0..7a842d1 100644
--- a/ext/mysql/php_mysql_structs.h
+++ b/ext/mysql/php_mysql_structs.h
@@ -17,7 +17,7 @@
 */
 
 
-/* $Id: php_mysql_structs.h,v 1.1.4.4 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_mysql_structs.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_MYSQL_STRUCTS_H
 #define PHP_MYSQL_STRUCTS_H
diff --git a/ext/mysqli/config.m4 b/ext/mysqli/config.m4
index 69f35df..ebff295 100644
--- a/ext/mysqli/config.m4
+++ b/ext/mysqli/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.22.2.1.2.2 2007/07/03 17:25:34 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl config.m4 for extension mysqli
 
 PHP_ARG_WITH(mysqli, for MySQLi support,
diff --git a/ext/mysqli/config.w32 b/ext/mysqli/config.w32
index 9b52b41..f9bfdad 100644
--- a/ext/mysqli/config.w32
+++ b/ext/mysqli/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.7 2005/06/05 19:25:01 wez Exp $
+// $Id: config.w32 187690 2005-06-05 19:25:01Z wez $
 // vim:ft=javascript
 
 ARG_WITH("mysqli", "MySQLi support", "no");
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c
index 9252cd6..f161e1f 100644
--- a/ext/mysqli/mysqli.c
+++ b/ext/mysqli/mysqli.c
@@ -15,7 +15,7 @@
   | Author: Georg Richter <georg at php.net>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli.c,v 1.72.2.16.2.28 2009/02/17 10:40:18 johannes Exp $ 
+  $Id: mysqli.c 275985 2009-02-17 10:40:18Z johannes $ 
 */
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 917268e..d9a0f4b 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -15,7 +15,7 @@
   | Author: Georg Richter <georg at php.net>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_api.c,v 1.118.2.22.2.23 2009/06/09 01:00:47 scottmac Exp $ 
+  $Id: mysqli_api.c 288336 2009-09-14 16:51:11Z uw $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -364,7 +364,7 @@ PHP_FUNCTION(mysqli_stmt_bind_result)
 				bind[ofs].buffer = stmt->result.buf[ofs].val;
 				bind[ofs].is_null = &stmt->result.is_null[ofs];
 				bind[ofs].buffer_length = stmt->result.buf[ofs].buflen;
-				bind[ofs].length = &stmt->result.buf[ofs].buflen;
+				bind[ofs].length = &stmt->result.buf[ofs].output_len;
 				break;
 			}
 			default:
@@ -735,7 +735,7 @@ PHP_FUNCTION(mysqli_stmt_fetch)
 #else
 							{
 #endif
-								ZVAL_STRINGL(stmt->result.vars[i], stmt->result.buf[i].val, stmt->result.buf[i].buflen, 1);
+								ZVAL_STRINGL(stmt->result.vars[i], stmt->result.buf[i].val, stmt->result.buf[i].output_len, 1);
 							}
 						}
 						break;
diff --git a/ext/mysqli/mysqli_fe.c b/ext/mysqli/mysqli_fe.c
index dcff7b2..0c530f4 100644
--- a/ext/mysqli/mysqli_fe.c
+++ b/ext/mysqli/mysqli_fe.c
@@ -15,7 +15,7 @@
   | Author: Georg Richter <georg at php.net>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_fe.c,v 1.49.2.5.2.4 2008/12/31 11:17:40 sebastian Exp $ 
+  $Id: mysqli_fe.c 272374 2008-12-31 11:17:49Z sebastian $ 
 */
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/mysqli/mysqli_nonapi.c b/ext/mysqli/mysqli_nonapi.c
index ae8b9e6..de278db 100644
--- a/ext/mysqli/mysqli_nonapi.c
+++ b/ext/mysqli/mysqli_nonapi.c
@@ -15,7 +15,7 @@
   | Author: Georg Richter <georg at php.net>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_nonapi.c,v 1.54.2.7.2.8 2008/12/31 11:17:40 sebastian Exp $ 
+  $Id: mysqli_nonapi.c 272374 2008-12-31 11:17:49Z sebastian $ 
 */
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/mysqli/mysqli_prop.c b/ext/mysqli/mysqli_prop.c
index 59753f8..01dab6c 100644
--- a/ext/mysqli/mysqli_prop.c
+++ b/ext/mysqli/mysqli_prop.c
@@ -15,7 +15,7 @@
   | Author: Georg Richter <georg at php.net>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_prop.c,v 1.23.2.5.2.6 2009/02/17 10:40:18 johannes Exp $ 
+  $Id: mysqli_prop.c 275985 2009-02-17 10:40:18Z johannes $ 
 */
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/mysqli/mysqli_repl.c b/ext/mysqli/mysqli_repl.c
index 9777045..512bd4f 100644
--- a/ext/mysqli/mysqli_repl.c
+++ b/ext/mysqli/mysqli_repl.c
@@ -15,7 +15,7 @@
   | Author: Georg Richter <georg at php.net>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_repl.c,v 1.3.2.2.2.4 2008/12/31 11:17:40 sebastian Exp $
+  $Id: mysqli_repl.c 272374 2008-12-31 11:17:49Z sebastian $
 */
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/mysqli/mysqli_report.c b/ext/mysqli/mysqli_report.c
index 9af0860..e6cc8d3 100644
--- a/ext/mysqli/mysqli_report.c
+++ b/ext/mysqli/mysqli_report.c
@@ -15,7 +15,7 @@
   | Author: Georg Richter <georg at php.net>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_report.c,v 1.11.2.2.2.4 2008/12/31 11:17:40 sebastian Exp $ 
+  $Id: mysqli_report.c 272374 2008-12-31 11:17:49Z sebastian $ 
 */
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/mysqli/mysqli_report.h b/ext/mysqli/mysqli_report.h
index 89f9125..963c1db 100644
--- a/ext/mysqli/mysqli_report.h
+++ b/ext/mysqli/mysqli_report.h
@@ -15,7 +15,7 @@
   | Author: Georg Richter <georg at php.net>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_report.h,v 1.5.2.1.2.3 2008/12/31 11:17:40 sebastian Exp $
+  $Id: mysqli_report.h 272374 2008-12-31 11:17:49Z sebastian $
 */
 
 #ifndef __HAVE_MYSQLI_PROFILER_H__
diff --git a/ext/mysqli/php_mysqli.h b/ext/mysqli/php_mysqli.h
index 4177bf6..c81fc14 100644
--- a/ext/mysqli/php_mysqli.h
+++ b/ext/mysqli/php_mysqli.h
@@ -15,7 +15,7 @@
   | Author: Georg Richter <georg at php.net>                                |
   +----------------------------------------------------------------------+
 
-  $Id: php_mysqli.h,v 1.54.2.7.2.9 2008/12/31 11:17:40 sebastian Exp $ 
+  $Id: php_mysqli.h 288336 2009-09-14 16:51:11Z uw $ 
 */
 
 /* A little hack to prevent build break, when mysql is used together with
@@ -52,8 +52,9 @@ enum mysqli_status {
 };
 
 typedef struct {
+        char            *val;
 	ulong		buflen;
-	char		*val;
+        ulong           output_len;
 	ulong		type;
 } VAR_BUFFER;
 
diff --git a/ext/ncurses/config.m4 b/ext/ncurses/config.m4
index b4f214c..8d17279 100644
--- a/ext/ncurses/config.m4
+++ b/ext/ncurses/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.19 2005/05/29 23:16:42 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl
 
 PHP_ARG_WITH(ncurses, for ncurses support,
diff --git a/ext/oci8/config.m4 b/ext/oci8/config.m4
index 3f343f3..2eb5a01 100644
--- a/ext/oci8/config.m4
+++ b/ext/oci8/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.55.2.3.2.13 2008/05/13 16:06:55 sixd Exp $
+dnl $Id: config.m4 259694 2008-05-13 16:06:55Z sixd $
 dnl
 
 if test -z "$SED"; then
diff --git a/ext/oci8/config.w32 b/ext/oci8/config.w32
index cce2dc0..e266415 100644
--- a/ext/oci8/config.w32
+++ b/ext/oci8/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.3.4.2.2.2 2006/05/22 04:17:42 tony2001 Exp $
+// $Id: config.w32 213504 2006-05-22 04:17:42Z tony2001 $
 // vim:ft=javascript
 
 ARG_WITH("oci8", "OCI8 support", "no");
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c
index 6a13b16..2eb8ae7 100644
--- a/ext/oci8/oci8.c
+++ b/ext/oci8/oci8.c
@@ -26,7 +26,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: oci8.c,v 1.269.2.16.2.44 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: oci8.c 272374 2008-12-31 11:17:49Z sebastian $ */
 /* TODO
  *
  * file://localhost/www/docs/oci10/ociaahan.htm#423823 - implement lob_empty() with OCI_ATTR_LOBEMPTY
@@ -674,7 +674,7 @@ PHP_MINFO_FUNCTION(oci)
 	php_info_print_table_start();
 	php_info_print_table_row(2, "OCI8 Support", "enabled");
 	php_info_print_table_row(2, "Version", "1.2.5");
-	php_info_print_table_row(2, "Revision", "$Revision: 1.269.2.16.2.44 $");
+	php_info_print_table_row(2, "Revision", "$Revision: 272374 $");
 
 	snprintf(buf, sizeof(buf), "%ld", OCI_G(num_persistent));
 	php_info_print_table_row(2, "Active Persistent Connections", buf);
diff --git a/ext/oci8/oci8_collection.c b/ext/oci8/oci8_collection.c
index 5040eba..643fda0 100644
--- a/ext/oci8/oci8_collection.c
+++ b/ext/oci8/oci8_collection.c
@@ -25,7 +25,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: oci8_collection.c,v 1.5.2.3.2.10 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: oci8_collection.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 
diff --git a/ext/oci8/oci8_interface.c b/ext/oci8/oci8_interface.c
index 5fa92cd..2b7ff78 100644
--- a/ext/oci8/oci8_interface.c
+++ b/ext/oci8/oci8_interface.c
@@ -25,7 +25,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: oci8_interface.c,v 1.8.2.7.2.17 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: oci8_interface.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/oci8/oci8_lob.c b/ext/oci8/oci8_lob.c
index 0a6aa8c..e442f1b 100644
--- a/ext/oci8/oci8_lob.c
+++ b/ext/oci8/oci8_lob.c
@@ -25,7 +25,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: oci8_lob.c,v 1.7.2.6.2.20 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: oci8_lob.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 
diff --git a/ext/oci8/oci8_statement.c b/ext/oci8/oci8_statement.c
index 2c565cf..d8dbd6b 100644
--- a/ext/oci8/oci8_statement.c
+++ b/ext/oci8/oci8_statement.c
@@ -25,7 +25,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: oci8_statement.c,v 1.7.2.14.2.34 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: oci8_statement.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/oci8/php_oci8.h b/ext/oci8/php_oci8.h
index 25a7447..8c5a760 100644
--- a/ext/oci8/php_oci8.h
+++ b/ext/oci8/php_oci8.h
@@ -25,7 +25,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_oci8.h,v 1.36.2.2.2.3 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_oci8.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #if HAVE_OCI8
 # ifndef PHP_OCI8_H
diff --git a/ext/oci8/php_oci8_int.h b/ext/oci8/php_oci8_int.h
index a0a7629..b65176f 100644
--- a/ext/oci8/php_oci8_int.h
+++ b/ext/oci8/php_oci8_int.h
@@ -25,7 +25,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_oci8_int.h,v 1.11.2.6.2.25 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_oci8_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #if HAVE_OCI8
 # ifndef PHP_OCI8_INT_H
diff --git a/ext/oci8/tests/connect.inc b/ext/oci8/tests/connect.inc
index 452976e..b5e5c75 100644
--- a/ext/oci8/tests/connect.inc
+++ b/ext/oci8/tests/connect.inc
@@ -1,6 +1,10 @@
 <?php
 
-include "details.inc";
+if (file_exists("details_local.inc")) {
+	include("details_local.inc"); // this file is not part of the source distribution; make it your own local variant of details.inc
+} else {
+	include "details.inc";
+}
 
 /* 
  * You should have privileges to create tables in this schema 
diff --git a/ext/odbc/birdstep.c b/ext/odbc/birdstep.c
index c359fab..6eddaf1 100644
--- a/ext/odbc/birdstep.c
+++ b/ext/odbc/birdstep.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: birdstep.c,v 1.13.2.2.2.4 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: birdstep.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /*
  * TODO:
diff --git a/ext/odbc/config.m4 b/ext/odbc/config.m4
index 9919913..361d9de 100644
--- a/ext/odbc/config.m4
+++ b/ext/odbc/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.78.2.2.2.4 2007/07/31 13:02:00 jani Exp $
+dnl $Id: config.m4 240511 2007-07-31 13:02:00Z jani $
 dnl
 
 AC_DEFUN([PHP_ODBC_CHECK_HEADER],[
diff --git a/ext/odbc/config.w32 b/ext/odbc/config.w32
index 1c8edaa..1e759ed 100644
--- a/ext/odbc/config.w32
+++ b/ext/odbc/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/02 23:16:54 wez Exp $
+// $Id: config.w32 145409 2003-12-02 23:17:04Z wez $
 // vim:ft=javascript
 
 ARG_ENABLE("odbc", "ODBC support", "yes");
diff --git a/ext/odbc/php_birdstep.h b/ext/odbc/php_birdstep.h
index 69fc46d..6b751a4 100644
--- a/ext/odbc/php_birdstep.h
+++ b/ext/odbc/php_birdstep.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_birdstep.h,v 1.5.2.1.2.3 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_birdstep.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_BIRDSTEP_H
 #define PHP_BIRDSTEP_H
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c
index 0fb53d7..35b1467 100644
--- a/ext/odbc/php_odbc.c
+++ b/ext/odbc/php_odbc.c
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_odbc.c,v 1.189.2.4.2.14 2009/05/14 17:25:51 felipe Exp $ */
+/* $Id: php_odbc.c 280532 2009-05-14 17:25:51Z felipe $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/odbc/php_odbc.h b/ext/odbc/php_odbc.h
index d9e617c..bc5ff67 100644
--- a/ext/odbc/php_odbc.h
+++ b/ext/odbc/php_odbc.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_odbc.h,v 1.60.2.1.2.4 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_odbc.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_ODBC_H
 #define PHP_ODBC_H
diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h
index a5f8244..8451fee 100644
--- a/ext/odbc/php_odbc_includes.h
+++ b/ext/odbc/php_odbc_includes.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_odbc_includes.h,v 1.12.2.1.2.8 2008/12/31 11:17:40 sebastian Exp $ */
+/* $Id: php_odbc_includes.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_ODBC_INCLUDES_H
 #define PHP_ODBC_INCLUDES_H
diff --git a/ext/openssl/README b/ext/openssl/README
index cd6dad5..62c0b2d 100644
--- a/ext/openssl/README
+++ b/ext/openssl/README
@@ -1,6 +1,6 @@
 OpenSSL extension for PHP
 
-$Id: README,v 1.4 2004/01/17 12:59:41 sniper Exp $
+$Id: README 149024 2004-01-17 13:00:38Z sniper $
 
 The functions implemented so far make it possible to seal and open data, and
 also create and verify signatures.
diff --git a/ext/openssl/config.w32 b/ext/openssl/config.w32
index 08b8a0c..a691cd8 100644
--- a/ext/openssl/config.w32
+++ b/ext/openssl/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1.6.1 2007/01/07 18:38:22 iliaa Exp $
+// $Id: config.w32 226663 2007-01-07 18:38:22Z iliaa $
 // vim:ft=javascript
 
 ARG_WITH("openssl", "OpenSSL support", "no");
diff --git a/ext/openssl/config0.m4 b/ext/openssl/config0.m4
index 91efd66..ee5e85c 100644
--- a/ext/openssl/config0.m4
+++ b/ext/openssl/config0.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config0.m4,v 1.4.4.1 2007/01/07 18:38:22 iliaa Exp $
+dnl $Id: config0.m4 226663 2007-01-07 18:38:22Z iliaa $
 dnl
 
 PHP_ARG_WITH(openssl, for OpenSSL support,
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 3c237d7..7bcf50a 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: openssl.c,v 1.98.2.5.2.53 2009/04/20 10:00:41 mkoppanen Exp $ */
+/* $Id: openssl.c 288329 2009-09-14 12:50:30Z iliaa $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -227,8 +227,13 @@ inline static int php_openssl_safe_mode_chk(char *filename TSRMLS_DC)
 static char default_ssl_conf_filename[MAXPATHLEN];
 
 struct php_x509_request { /* {{{ */
-	LHASH * global_config;	/* Global SSL config */
-	LHASH * req_config;		/* SSL config for this request */
+#if OPENSSL_VERSION_NUMBER >= 0x10000002L
+	LHASH_OF(CONF_VALUE) * global_config;	/* Global SSL config */
+	LHASH_OF(CONF_VALUE) * req_config;		/* SSL config for this request */
+#else
+	LHASH * global_config;  /* Global SSL config */
+	LHASH * req_config;             /* SSL config for this request */
+#endif
 	const EVP_MD * md_alg;
 	const EVP_MD * digest;
 	char	* section_name,
@@ -406,12 +411,11 @@ static time_t asn1_time_to_time_t(ASN1_UTCTIME * timestr TSRMLS_DC) /* {{{ */
 }
 /* }}} */
 
-static inline int php_openssl_config_check_syntax(
-		const char * section_label,
-		const char * config_filename,
-		const char * section,
-		LHASH * config TSRMLS_DC
-		) /* {{{ */
+#if OPENSSL_VERSION_NUMBER >= 0x10000002L
+static inline int php_openssl_config_check_syntax(const char * section_label, const char * config_filename, const char * section, LHASH_OF(CONF_VALUE) * config TSRMLS_DC) /* {{{ */
+#else
+static inline int php_openssl_config_check_syntax(const char * section_label, const char * config_filename, const char * section, LHASH * config TSRMLS_DC) /* {{{ */
+#endif
 {
 	X509V3_CTX ctx;
 	
@@ -866,7 +870,11 @@ static X509 * php_openssl_x509_from_zval(zval ** val, int makeresource, long * r
 		if (in == NULL) {
 			return NULL;
 		}
+#ifdef TYPEDEF_D2I_OF
+		cert = (X509 *) PEM_ASN1_read_bio((d2i_of_void *)d2i_X509, PEM_STRING_X509, in, NULL, NULL, NULL);
+#else
 		cert = (X509 *) PEM_ASN1_read_bio((char *(*)())d2i_X509, PEM_STRING_X509, in, NULL, NULL, NULL);
+#endif
 		BIO_free(in);
 	}
 
@@ -2479,8 +2487,7 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
 		case EVP_PKEY_RSA:
 		case EVP_PKEY_RSA2:
 			assert(pkey->pkey.rsa != NULL);
-
-			if (NULL == pkey->pkey.rsa->p || NULL == pkey->pkey.rsa->q) {
+			if (pkey->pkey.rsa != NULL && (NULL == pkey->pkey.rsa->p || NULL == pkey->pkey.rsa->q)) {
 				return 0;
 			}
 			break;
@@ -3838,8 +3845,15 @@ int php_openssl_apply_verification_policy(SSL *ssl, X509 *peer, php_stream *stre
 	GET_VER_OPT_STRING("CN_match", cnmatch);
 	if (cnmatch) {
 		int match = 0;
+		int name_len = X509_NAME_get_text_by_NID(name, NID_commonName, buf, sizeof(buf));
 
-		X509_NAME_get_text_by_NID(name, NID_commonName, buf, sizeof(buf));
+		if (name_len == -1) {
+			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to locate peer certificate CN");
+			return FAILURE;
+		} else if (name_len != strlen(buf)) {
+			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Peer certificate CN=`%.*s' is malformed", name_len, buf);
+			return FAILURE;
+		}
 
 		match = strcmp(cnmatch, buf) == 0;
 		if (!match && strlen(buf) > 3 && buf[0] == '*' && buf[1] == '.') {
@@ -3854,10 +3868,7 @@ int php_openssl_apply_verification_policy(SSL *ssl, X509 *peer, php_stream *stre
 
 		if (!match) {
 			/* didn't match */
-			php_error_docref(NULL TSRMLS_CC, E_WARNING,
-					"Peer certificate CN=`%s' did not match expected CN=`%s'",
-					buf, cnmatch);
-
+			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Peer certificate CN=`%.*s' did not match expected CN=`%s'", name_len, buf, cnmatch);
 			return FAILURE;
 		}
 	}
diff --git a/ext/openssl/openssl.mak b/ext/openssl/openssl.mak
index 4c907b8..a0c6fa4 100644
--- a/ext/openssl/openssl.mak
+++ b/ext/openssl/openssl.mak
@@ -1,185 +1,185 @@
-# Temporarily here -- later may go into some batch file
-# which will set this as an environment variable
-PROJECT_ROOT = ..\..
-
-# Module details
-MODULE_NAME = php_ossl
-MODULE_DESC = "PHP 5 - OpenSSL Extension"
-VMAJ = 1
-VMIN = 0
-VREV = 0
-
-#include the common settings
-include $(PROJECT_ROOT)/netware/common.mif
-
-# OpenSSL directory
-OSSL_DIR = P:/APPS/script/sw/OpenSSL
-
-# Build type defaults to 'release'
-ifndef BUILD
-BUILD = release
-endif
-
-# Extensions of all input and output files
-.SUFFIXES:
-.SUFFIXES: .nlm .lib .obj .cpp .c .msg .mlc .mdb .xdc .d
-
-# Source files
-C_SRC = openssl.c \
-        xp_ssl.c \
-        start.c \
-
-CPP_SRC_NODIR = $(notdir $(CPP_SRC))
-C_SRC_NODIR = $(notdir $(C_SRC))
-SRC_DIR = $(dir $(CPP_SRC) $(C_SRC))
-
-# Library files
-LIBRARY = $(OSSL_DIR)/lib/RSAglue.lib	\
-          $(OSSL_DIR)/lib/crypto.lib	\
-          $(OSSL_DIR)/lib/ssl.lib	
-   	       
-# Destination directories and files
-OBJ_DIR = $(BUILD)
-FINAL_DIR = $(BUILD)
-MAP_FILE = $(FINAL_DIR)\$(MODULE_NAME).map
-OBJECTS  = $(addprefix $(OBJ_DIR)/,$(CPP_SRC_NODIR:.c=.obj) $(C_SRC_NODIR:.c=.obj))
-DEPDS  = $(addprefix $(OBJ_DIR)/,$(CPP_SRC_NODIR:.c=.d) $(C_SRC_NODIR:.c=.d))
-
-# Binary file
-ifndef BINARY
-	BINARY=$(FINAL_DIR)\$(MODULE_NAME).nlm
-endif
-
-# Compile flags
-C_FLAGS += -c -maxerrors 25 -msgstyle gcc
-C_FLAGS += -wchar_t on -bool on -processor Pentium
-C_FLAGS += -nostdinc -nosyspath  
-C_FLAGS += -relax_pointers		# To remove type-casting errors
-C_FLAGS += -DNETWARE -DZTS
-C_FLAGS += -DUSE_OLD_FUNCTIONS -DCOMPILE_DL_OPENSSL=1
-
-C_FLAGS += -I. -I$(PROJECT_ROOT) -I$(PROJECT_ROOT)/main
-C_FLAGS += -I$(PROJECT_ROOT)/ext/standard -I$(PROJECT_ROOT)/netware
-C_FLAGS += -I$(PROJECT_ROOT)/zend -I$(PROJECT_ROOT)/tsrm
-C_FLAGS += -I- -I$(SDK_DIR)/include -I$(MWCIncludes)
-C_FLAGS += -I$(OSSL_DIR)/include
-
-ifndef STACK_SIZE
-STACK_SIZE=8192
-endif
-
-# Extra stuff based on debug / release builds
-ifeq '$(BUILD)' 'debug'
-	SYM_FILE = $(FINAL_DIR)\$(MODULE_NAME).sym
-	C_FLAGS  += -inline smart -sym on -sym codeview4 -opt off -opt intrinsics -sym internal -DDEBUGGING -DDKFBPON
-	C_FLAGS += -exc cw -DZEND_DEBUG=1
-	LD_FLAGS += -sym on -sym codeview4 -osym $(SYM_FILE)
-	export MWLibraryFiles=$(SDK_DIR)/imports/libcpre.o;mwcrtld.lib
-else
-	C_FLAGS  += -opt all -inline on -inline smart -inline auto -sym off 
-	C_FLAGS += -opt intrinsics -opt level=4 -DZEND_DEBUG=0
-	LD_FLAGS += -sym off
-	export MWLibraryFiles=$(SDK_DIR)/imports/libcpre.o;mwcrtl.lib
-endif
-
-
-# Dependencies
-MODULE = LibC   \
-         phplib
-IMPORT = @$(SDK_DIR)/imports/libc.imp        \
-         @$(SDK_DIR)/imports/ws2nlm.imp      \
-         @$(SDK_DIR)/imports/netware.imp     \
-         @$(MPK_DIR)/import/mpkOrg.imp       \
-         @$(PROJECT_ROOT)/netware/phplib.imp
-EXPORT = ($(MODULE_NAME)) get_module
-API = OutputToScreen
-
-# Virtual paths
-vpath %.cpp .
-vpath %.c . ..\..\netware
-vpath %.obj $(OBJ_DIR)
-
-
-all: prebuild project
-
-.PHONY: all
-
-prebuild:
-	@if not exist $(OBJ_DIR) md $(OBJ_DIR)
-
-project: $(BINARY)
-	@echo Build complete.
-
-$(OBJ_DIR)/%.d: %.cpp
-	@echo Building Dependencies for $(<F)
-	@$(CC) -M $< $(C_FLAGS) -o $@
-
-$(OBJ_DIR)/%.d: %.c
-	@echo Building Dependencies for $(<F)
-	@$(CC) -M $< $(C_FLAGS) -o $@
-
-$(OBJ_DIR)/%.obj: %.cpp
-	@echo Compiling $?...
-	@$(CC) $< $(C_FLAGS) -o $@
-	
-$(OBJ_DIR)/%.obj: %.c
-	@echo Compiling $?...
-	@$(CC) $< $(C_FLAGS) -o $@
-
-
-$(BINARY): $(OBJECTS)
-	@echo Import $(IMPORT) > $(basename $@).def
-ifdef API
-	@echo Import $(API) >> $(basename $@).def
-endif
-	@echo Module $(MODULE) >> $(basename $@).def
-ifdef EXPORT
-	@echo Export $(EXPORT) >> $(basename $@).def
-endif
-	@echo AutoUnload >> $(basename $@).def
-ifeq '$(BUILD)' 'debug'
-	@echo Debug >> $(basename $@).def
-endif
-	@echo Flag_On 0x00000008 >> $(basename $@).def
-	@echo Start _LibCPrelude >> $(basename $@).def
-	@echo Exit _LibCPostlude >> $(basename $@).def
-
-# Two functions imported to build the openssl extension
-	@echo Import GetProcessSwitchCount   >> $(basename $@).def
-	@echo Import RunningProcess   >> $(basename $@).def
-
-	$(MPKTOOL) $(XDCFLAGS) $(basename $@).xdc
-	@echo xdcdata $(basename $@).xdc >> $(basename $@).def
-
-	@echo Linking $@...
-	@echo $(LD_FLAGS) -commandfile $(basename $@).def > $(basename $@).link
-
-	@echo $(LIBRARY) $(OBJECTS) >> $(basename $@).link
-
-	@$(LINK) @$(basename $@).link
-
-
-.PHONY: clean
-clean: cleanobj cleanbin
-
-.PHONY: cleand
-cleand:
-	@echo Deleting all dependency files...
-	- at del "$(OBJ_DIR)\*.d"
-
-.PHONY: cleanobj
-cleanobj:
-	@echo Deleting all object files...
-	- at del "$(OBJ_DIR)\*.obj"
-
-.PHONY: cleanbin
-cleanbin:
-	@echo Deleting binary files...
-	- at del "$(FINAL_DIR)\$(MODULE_NAME).nlm"
-	@echo Deleting MAP, DEF files, etc....
-	- at del "$(FINAL_DIR)\$(MODULE_NAME).map"
-	- at del "$(FINAL_DIR)\$(MODULE_NAME).def"
-	- at del "$(FINAL_DIR)\$(MODULE_NAME).link"
-ifeq '$(BUILD)' 'debug'
-	- at del $(FINAL_DIR)\$(MODULE_NAME).sym
-endif
+# Temporarily here -- later may go into some batch file
+# which will set this as an environment variable
+PROJECT_ROOT = ..\..
+
+# Module details
+MODULE_NAME = php_ossl
+MODULE_DESC = "PHP 5 - OpenSSL Extension"
+VMAJ = 1
+VMIN = 0
+VREV = 0
+
+#include the common settings
+include $(PROJECT_ROOT)/netware/common.mif
+
+# OpenSSL directory
+OSSL_DIR = P:/APPS/script/sw/OpenSSL
+
+# Build type defaults to 'release'
+ifndef BUILD
+BUILD = release
+endif
+
+# Extensions of all input and output files
+.SUFFIXES:
+.SUFFIXES: .nlm .lib .obj .cpp .c .msg .mlc .mdb .xdc .d
+
+# Source files
+C_SRC = openssl.c \
+        xp_ssl.c \
+        start.c \
+
+CPP_SRC_NODIR = $(notdir $(CPP_SRC))
+C_SRC_NODIR = $(notdir $(C_SRC))
+SRC_DIR = $(dir $(CPP_SRC) $(C_SRC))
+
+# Library files
+LIBRARY = $(OSSL_DIR)/lib/RSAglue.lib	\
+          $(OSSL_DIR)/lib/crypto.lib	\
+          $(OSSL_DIR)/lib/ssl.lib	
+   	       
+# Destination directories and files
+OBJ_DIR = $(BUILD)
+FINAL_DIR = $(BUILD)
+MAP_FILE = $(FINAL_DIR)\$(MODULE_NAME).map
+OBJECTS  = $(addprefix $(OBJ_DIR)/,$(CPP_SRC_NODIR:.c=.obj) $(C_SRC_NODIR:.c=.obj))
+DEPDS  = $(addprefix $(OBJ_DIR)/,$(CPP_SRC_NODIR:.c=.d) $(C_SRC_NODIR:.c=.d))
+
+# Binary file
+ifndef BINARY
+	BINARY=$(FINAL_DIR)\$(MODULE_NAME).nlm
+endif
+
+# Compile flags
+C_FLAGS += -c -maxerrors 25 -msgstyle gcc
+C_FLAGS += -wchar_t on -bool on -processor Pentium
+C_FLAGS += -nostdinc -nosyspath  
+C_FLAGS += -relax_pointers		# To remove type-casting errors
+C_FLAGS += -DNETWARE -DZTS
+C_FLAGS += -DUSE_OLD_FUNCTIONS -DCOMPILE_DL_OPENSSL=1
+
+C_FLAGS += -I. -I$(PROJECT_ROOT) -I$(PROJECT_ROOT)/main
+C_FLAGS += -I$(PROJECT_ROOT)/ext/standard -I$(PROJECT_ROOT)/netware
+C_FLAGS += -I$(PROJECT_ROOT)/zend -I$(PROJECT_ROOT)/tsrm
+C_FLAGS += -I- -I$(SDK_DIR)/include -I$(MWCIncludes)
+C_FLAGS += -I$(OSSL_DIR)/include
+
+ifndef STACK_SIZE
+STACK_SIZE=8192
+endif
+
+# Extra stuff based on debug / release builds
+ifeq '$(BUILD)' 'debug'
+	SYM_FILE = $(FINAL_DIR)\$(MODULE_NAME).sym
+	C_FLAGS  += -inline smart -sym on -sym codeview4 -opt off -opt intrinsics -sym internal -DDEBUGGING -DDKFBPON
+	C_FLAGS += -exc cw -DZEND_DEBUG=1
+	LD_FLAGS += -sym on -sym codeview4 -osym $(SYM_FILE)
+	export MWLibraryFiles=$(SDK_DIR)/imports/libcpre.o;mwcrtld.lib
+else
+	C_FLAGS  += -opt all -inline on -inline smart -inline auto -sym off 
+	C_FLAGS += -opt intrinsics -opt level=4 -DZEND_DEBUG=0
+	LD_FLAGS += -sym off
+	export MWLibraryFiles=$(SDK_DIR)/imports/libcpre.o;mwcrtl.lib
+endif
+
+
+# Dependencies
+MODULE = LibC   \
+         phplib
+IMPORT = @$(SDK_DIR)/imports/libc.imp        \
+         @$(SDK_DIR)/imports/ws2nlm.imp      \
+         @$(SDK_DIR)/imports/netware.imp     \
+         @$(MPK_DIR)/import/mpkOrg.imp       \
+         @$(PROJECT_ROOT)/netware/phplib.imp
+EXPORT = ($(MODULE_NAME)) get_module
+API = OutputToScreen
+
+# Virtual paths
+vpath %.cpp .
+vpath %.c . ..\..\netware
+vpath %.obj $(OBJ_DIR)
+
+
+all: prebuild project
+
+.PHONY: all
+
+prebuild:
+	@if not exist $(OBJ_DIR) md $(OBJ_DIR)
+
+project: $(BINARY)
+	@echo Build complete.
+
+$(OBJ_DIR)/%.d: %.cpp
+	@echo Building Dependencies for $(<F)
+	@$(CC) -M $< $(C_FLAGS) -o $@
+
+$(OBJ_DIR)/%.d: %.c
+	@echo Building Dependencies for $(<F)
+	@$(CC) -M $< $(C_FLAGS) -o $@
+
+$(OBJ_DIR)/%.obj: %.cpp
+	@echo Compiling $?...
+	@$(CC) $< $(C_FLAGS) -o $@
+	
+$(OBJ_DIR)/%.obj: %.c
+	@echo Compiling $?...
+	@$(CC) $< $(C_FLAGS) -o $@
+
+
+$(BINARY): $(OBJECTS)
+	@echo Import $(IMPORT) > $(basename $@).def
+ifdef API
+	@echo Import $(API) >> $(basename $@).def
+endif
+	@echo Module $(MODULE) >> $(basename $@).def
+ifdef EXPORT
+	@echo Export $(EXPORT) >> $(basename $@).def
+endif
+	@echo AutoUnload >> $(basename $@).def
+ifeq '$(BUILD)' 'debug'
+	@echo Debug >> $(basename $@).def
+endif
+	@echo Flag_On 0x00000008 >> $(basename $@).def
+	@echo Start _LibCPrelude >> $(basename $@).def
+	@echo Exit _LibCPostlude >> $(basename $@).def
+
+# Two functions imported to build the openssl extension
+	@echo Import GetProcessSwitchCount   >> $(basename $@).def
+	@echo Import RunningProcess   >> $(basename $@).def
+
+	$(MPKTOOL) $(XDCFLAGS) $(basename $@).xdc
+	@echo xdcdata $(basename $@).xdc >> $(basename $@).def
+
+	@echo Linking $@...
+	@echo $(LD_FLAGS) -commandfile $(basename $@).def > $(basename $@).link
+
+	@echo $(LIBRARY) $(OBJECTS) >> $(basename $@).link
+
+	@$(LINK) @$(basename $@).link
+
+
+.PHONY: clean
+clean: cleanobj cleanbin
+
+.PHONY: cleand
+cleand:
+	@echo Deleting all dependency files...
+	- at del "$(OBJ_DIR)\*.d"
+
+.PHONY: cleanobj
+cleanobj:
+	@echo Deleting all object files...
+	- at del "$(OBJ_DIR)\*.obj"
+
+.PHONY: cleanbin
+cleanbin:
+	@echo Deleting binary files...
+	- at del "$(FINAL_DIR)\$(MODULE_NAME).nlm"
+	@echo Deleting MAP, DEF files, etc....
+	- at del "$(FINAL_DIR)\$(MODULE_NAME).map"
+	- at del "$(FINAL_DIR)\$(MODULE_NAME).def"
+	- at del "$(FINAL_DIR)\$(MODULE_NAME).link"
+ifeq '$(BUILD)' 'debug'
+	- at del $(FINAL_DIR)\$(MODULE_NAME).sym
+endif
diff --git a/ext/openssl/php_openssl.h b/ext/openssl/php_openssl.h
index e7448f7..5c51a9c 100644
--- a/ext/openssl/php_openssl.h
+++ b/ext/openssl/php_openssl.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_openssl.h,v 1.16.2.1.2.6 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: php_openssl.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_OPENSSL_H
 #define PHP_OPENSSL_H
diff --git a/ext/openssl/tests/bug48182.phpt b/ext/openssl/tests/bug48182.phpt
new file mode 100644
index 0000000..0af04e1
--- /dev/null
+++ b/ext/openssl/tests/bug48182.phpt
@@ -0,0 +1,92 @@
+--TEST--
+#48182,ssl handshake fails during asynchronous socket connection
+--SKIPIF--
+<?php 
+if (!extension_loaded("openssl")) die("skip, openssl required");
+if (!extension_loaded("pcntl")) die("skip, pcntl required");
+if (OPENSSL_VERSION_NUMBER < 0x009070af) die("skip");
+?>
+--FILE--
+<?php
+
+function ssl_server($port) {
+	$host = 'ssl://127.0.0.1'.':'.$port;
+	$flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN;
+	$data = "Sending bug48182\n";
+
+	$pem = dirname(__FILE__) . '/bug46127.pem';
+	$ssl_params = array( 'verify_peer' => false, 'allow_self_signed' => true, 'local_cert' => $pem);
+	$ssl = array('ssl' => $ssl_params);
+
+	$context = stream_context_create($ssl);
+	$sock = stream_socket_server($host, $errno, $errstr, $flags, $context);
+	if (!$sock) return false;
+
+	$link = stream_socket_accept($sock);
+	if (!$link) return false; // bad link?
+
+	$r = array($link);
+	$w = array();
+	$e = array();
+	if (stream_select($r, $w, $e, 0, 1000) != 0)
+		$data .= fread($link, 8192);
+
+	$r = array();
+	$w = array($link);
+	if (stream_select($r, $w, $e, 0, 1000) != 0)
+		$wrote = fwrite($link, $data, strlen($data));
+
+	// close stuff
+	fclose($link);
+	fclose($sock);
+
+	exit;
+}
+
+function ssl_async_client($port) {
+	$host = 'ssl://127.0.0.1'.':'.$port;
+	$flags = STREAM_CLIENT_CONNECT | STREAM_CLIENT_ASYNC_CONNECT;
+	$data = "Sending data over to SSL server in async mode with contents like Hello World\n";
+
+	$socket = stream_socket_client($host, $errno, $errstr, 10, $flags);
+	stream_set_blocking($socket, 0);
+
+	while ($data) {
+		$wrote = fwrite($socket, $data, strlen($data));
+		$data = substr($data, $wrote);
+	}
+
+	$r = array($socket);
+	$w = array();
+	$e = array();
+	if (stream_select($r, $w, $e, 0, 10) != 0) 
+	{
+		$data .= fread($socket, 1024);
+	}
+
+	echo "$data";
+
+	fclose($socket);
+}
+
+echo "Running bug48182\n";
+
+$port = rand(15000, 32000);
+
+$pid = pcntl_fork();
+if ($pid == 0) { // child
+	ssl_server($port);
+	exit;
+}
+
+// client or failed
+sleep(1);
+ssl_async_client($port);
+
+pcntl_waitpid($pid, $status);
+
+?>
+--EXPECTF--
+Running bug48182
+Sending bug48182
+Sending data over to SSL server in async mode with contents like Hello World
diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c
index c31a505..ef91b1f 100644
--- a/ext/openssl/xp_ssl.c
+++ b/ext/openssl/xp_ssl.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: xp_ssl.c,v 1.22.2.3.2.16 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: xp_ssl.c 288034 2009-09-04 07:59:48Z srinatar $ */
 
 #include "php.h"
 #include "ext/standard/file.h"
@@ -47,6 +47,7 @@ int php_openssl_get_x509_list_id(void);
 typedef struct _php_openssl_netstream_data_t {
 	php_netstream_data_t s;
 	SSL *ssl_handle;
+	SSL_CTX *ctx;
 	struct timeval connect_timeout;
 	int enable_on_connect;
 	int is_client;
@@ -267,6 +268,14 @@ static int php_openssl_sockop_close(php_stream *stream, int close_handle TSRMLS_
 			SSL_free(sslsock->ssl_handle);
 			sslsock->ssl_handle = NULL;
 		}
+		if (sslsock->ctx) {
+			SSL_CTX_free(sslsock->ctx);
+			sslsock->ctx = NULL;
+		}
+#ifdef PHP_WIN32
+		if (sslsock->s.socket == -1)
+			sslsock->s.socket = SOCK_ERR;
+#endif
 		if (sslsock->s.socket != SOCK_ERR) {
 #ifdef PHP_WIN32
 			/* prevent more data from coming in */
@@ -308,7 +317,6 @@ static inline int php_openssl_setup_crypto(php_stream *stream,
 		php_stream_xport_crypto_param *cparam
 		TSRMLS_DC)
 {
-	SSL_CTX *ctx;
 	SSL_METHOD *method;
 	
 	if (sslsock->ssl_handle) {
@@ -357,18 +365,19 @@ static inline int php_openssl_setup_crypto(php_stream *stream,
 
 	}
 
-	ctx = SSL_CTX_new(method);
-	if (ctx == NULL) {
+	sslsock->ctx = SSL_CTX_new(method);
+	if (sslsock->ctx == NULL) {
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "failed to create an SSL context");
 		return -1;
 	}
 
-	SSL_CTX_set_options(ctx, SSL_OP_ALL);
+	SSL_CTX_set_options(sslsock->ctx, SSL_OP_ALL);
 
-	sslsock->ssl_handle = php_SSL_new_from_context(ctx, stream TSRMLS_CC);
+	sslsock->ssl_handle = php_SSL_new_from_context(sslsock->ctx, stream TSRMLS_CC);
 	if (sslsock->ssl_handle == NULL) {
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "failed to create an SSL handle");
-		SSL_CTX_free(ctx);
+		SSL_CTX_free(sslsock->ctx);
+		sslsock->ctx = NULL;
 		return -1;
 	}
 
@@ -685,7 +694,11 @@ static int php_openssl_sockop_set_option(php_stream *stream, int option, int val
 					 * we notice that the connect has actually been established */
 					php_stream_socket_ops.set_option(stream, option, value, ptrparam TSRMLS_CC);
 
-					if (xparam->outputs.returncode == 0 && sslsock->enable_on_connect) {
+					if ((sslsock->enable_on_connect) &&
+						((xparam->outputs.returncode == 0) ||
+						(xparam->op == STREAM_XPORT_OP_CONNECT_ASYNC && 
+						xparam->outputs.returncode == 1 && xparam->outputs.error_code == EINPROGRESS)))
+					{
 						if (php_stream_xport_crypto_setup(stream, sslsock->method, NULL TSRMLS_CC) < 0 ||
 								php_stream_xport_crypto_enable(stream, 1 TSRMLS_CC) < 0) {
 							php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to enable crypto");
@@ -785,6 +798,9 @@ php_stream *php_openssl_ssl_socket_factory(const char *proto, long protolen,
 	 * connecting */
 	sslsock->s.socket = -1;
 	
+	/* Initialize context as NULL */
+	sslsock->ctx = NULL;	
+	
 	stream = php_stream_alloc_rel(&php_openssl_socket_ops, sslsock, persistent_id, "r+");
 
 	if (stream == NULL)	{
diff --git a/ext/pcntl/config.m4 b/ext/pcntl/config.m4
index 8a0769f..9c66baa 100644
--- a/ext/pcntl/config.m4
+++ b/ext/pcntl/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.10.6.1 2008/08/07 13:11:28 tony2001 Exp $
+dnl $Id: config.m4 264391 2008-08-07 13:11:28Z tony2001 $
 dnl
 
 PHP_ARG_ENABLE(pcntl, whether to enable pcntl support,
diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c
index c133fa3..150faf8 100755
--- a/ext/pcntl/pcntl.c
+++ b/ext/pcntl/pcntl.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: pcntl.c,v 1.48.2.2.2.8 2009/05/26 14:02:34 lbarnaud Exp $ */
+/* $Id: pcntl.c 281178 2009-05-26 14:02:34Z lbarnaud $ */
 
 #define PCNTL_DEBUG 0
 
diff --git a/ext/pcntl/php_pcntl.h b/ext/pcntl/php_pcntl.h
index 0f15934..6c002d7 100644
--- a/ext/pcntl/php_pcntl.h
+++ b/ext/pcntl/php_pcntl.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_pcntl.h,v 1.20.2.1.2.3 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: php_pcntl.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PCNTL_H
 #define PHP_PCNTL_H
diff --git a/ext/pcntl/php_signal.c b/ext/pcntl/php_signal.c
index 893494b..def31f5 100644
--- a/ext/pcntl/php_signal.c
+++ b/ext/pcntl/php_signal.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_signal.c,v 1.9.2.1.2.3 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: php_signal.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_signal.h"
 
diff --git a/ext/pcntl/php_signal.h b/ext/pcntl/php_signal.h
index 97f714d..632dad9 100644
--- a/ext/pcntl/php_signal.h
+++ b/ext/pcntl/php_signal.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_signal.h,v 1.9.2.1.2.3 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: php_signal.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <signal.h>
 #ifndef PHP_SIGNAL_H
diff --git a/ext/pcntl/tests/pcntl_fork_basic.phpt b/ext/pcntl/tests/pcntl_fork_basic.phpt
new file mode 100644
index 0000000..82759ba
--- /dev/null
+++ b/ext/pcntl/tests/pcntl_fork_basic.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test function pcntl_fork() by calling it with its expected arguments
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php
+	if (!extension_loaded('pcntl')) die('skip pcntl extension not available');
+	elseif (!extension_loaded('posix')) die('skip posix extension not available');
+?>
+--FILE--
+<?php
+echo "*** Test by calling method or function with its expected arguments, first print the child PID and the the father ***\n";
+
+$pid = pcntl_fork();
+if ($pid > 0) {
+	pcntl_wait($status); 
+	var_dump($pid);
+} else {
+	var_dump($pid);
+}
+?>
+--EXPECTF--
+*** Test by calling method or function with its expected arguments, first print the child PID and the the father ***
+int(0)
+int(%d)
diff --git a/ext/pcntl/tests/pcntl_fork_variation.phpt b/ext/pcntl/tests/pcntl_fork_variation.phpt
new file mode 100644
index 0000000..4eea071
--- /dev/null
+++ b/ext/pcntl/tests/pcntl_fork_variation.phpt
@@ -0,0 +1,48 @@
+--TEST--
+Test function pcntl_fork() by testing the process isolation in the forking hierarchy father -> son -> grandson where father can not knows his grandson
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php
+	if (!extension_loaded('pcntl')) die('skip pcntl extension not available');
+	elseif (!extension_loaded('posix')) die('skip posix extension not available');
+?>
+--FILE--
+<?php
+echo "*** Testing the process isolations between a process and its forks ***\n";
+
+$pid = pcntl_fork();
+
+if ($pid > 0) {
+  pcntl_wait($status); 
+  echo "father is $pid\n";
+
+  if (!isset($pid2)) 
+  {
+    echo "father ($pid) doesn't know its grandsons\n";
+  }
+} 
+else 
+{
+  echo "son ($pid)\n";
+  $pid2 = pcntl_fork();
+  if ($pid2 > 0)
+  {	
+    pcntl_wait($status2); 
+    echo "son is father of $pid2\n";
+  } 
+  else 
+  {
+    echo "grandson ($pid2)\n";
+  }
+}
+?>
+--EXPECTF--
+*** Testing the process isolations between a process and its forks ***
+son (0)
+grandson (0)
+son is father of %d
+father is %d
+father (%d) doesn't know its grandsons
diff --git a/ext/pcre/config.w32 b/ext/pcre/config.w32
index 333417d..43ca2d5 100644
--- a/ext/pcre/config.w32
+++ b/ext/pcre/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.4.2.5.2.9 2009/01/02 05:00:35 andi Exp $
+// $Id: config.w32 272552 2009-01-02 05:00:35Z andi $
 // vim:ft=javascript
 
 EXTENSION("pcre", "php_pcre.c", false /* never shared */,
diff --git a/ext/pcre/config0.m4 b/ext/pcre/config0.m4
index 1d25b9c..b5365c8 100644
--- a/ext/pcre/config0.m4
+++ b/ext/pcre/config0.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config0.m4,v 1.38.2.3.2.12 2008/12/29 15:27:11 scottmac Exp $
+dnl $Id: config0.m4 287118 2009-08-11 21:40:15Z scottmac $
 dnl
 
 dnl By default we'll compile and link against the bundled PCRE library
@@ -16,7 +16,7 @@ if test "$PHP_PCRE_REGEX" != "no"; then
     PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h pcrelib/])
     AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
   else
-    for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre; do
+    for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include; do
       test -f $i/pcre.h && PCRE_INCDIR=$i
     done
 
diff --git a/ext/pcre/pcrelib/testdata/grepinput8 b/ext/pcre/pcrelib/testdata/grepinput8
index c4b8c44..e8ddc27 100644
--- a/ext/pcre/pcrelib/testdata/grepinput8
+++ b/ext/pcre/pcrelib/testdata/grepinput8
@@ -1,10 +1,11 @@
 X one
-X twoX threeX four
X five
+X twoX threeX four
+X five
 X six
 X seven…X eight
X nine
X ten
 
 Before 111
-Before 222
Before 333…Match
+Before 222
Before 333…Match
 After 111
 After 222
After 333
 And so on and so on
diff --git a/ext/pcre/pcrelib/testdata/grepoutput8 b/ext/pcre/pcrelib/testdata/grepoutput8
index 0a8b7ec..6317355 100644
--- a/ext/pcre/pcrelib/testdata/grepoutput8
+++ b/ext/pcre/pcrelib/testdata/grepoutput8
@@ -1,10 +1,11 @@
 ---------------------------- Test U1 ------------------------------
 1:X one
-2:X two3:X three4:X four
5:X five
+2:X two3:X three4:X four
+5:X five
 6:X six
 7:X seven…8:X eight
9:X nine
10:X ten
 ---------------------------- Test U2 ------------------------------
 12-Before 111
-13-Before 222
14-Before 333…15:Match
+13-Before 222
14-Before 333…15:Match
 16-After 111
 17-After 222
18-After 333
diff --git a/ext/pcre/pcrelib/testdata/grepoutputN b/ext/pcre/pcrelib/testdata/grepoutputN
index 1f9f880..170a432 100644
--- a/ext/pcre/pcrelib/testdata/grepoutputN
+++ b/ext/pcre/pcrelib/testdata/grepoutputN
@@ -1,16 +1,22 @@
----------------------------- Test N1 ------------------------------
-1:abc
2:def
---------------------------- Test N2 ------------------------------
-1:abc
def
+---------------------------- Test N1 ------------------------------
+1:abc
+2:def
+---------------------------- Test N2 ------------------------------
+1:abc
+def
 2:ghi
-jkl---------------------------- Test N3 ------------------------------
-2:def
3:
+jkl---------------------------- Test N3 ------------------------------
+2:def
+3:
 ghi
-jkl---------------------------- Test N4 ------------------------------
+jkl---------------------------- Test N4 ------------------------------
 2:ghi
-jkl---------------------------- Test N5 ------------------------------
-1:abc
2:def
+jkl---------------------------- Test N5 ------------------------------
+1:abc
+2:def
 3:ghi
-4:jkl---------------------------- Test N6 ------------------------------
-1:abc
2:def
+4:jkl---------------------------- Test N6 ------------------------------
+1:abc
+2:def
 3:ghi
 4:jkl
\ No newline at end of file
diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c
index e8da13e..c6163f2 100644
--- a/ext/pcre/php_pcre.c
+++ b/ext/pcre/php_pcre.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_pcre.c,v 1.168.2.9.2.32 2009/06/08 21:52:08 scottmac Exp $ */
+/* $Id: php_pcre.c 281840 2009-06-08 21:52:08Z scottmac $ */
 
 #include "php.h"
 #include "php_ini.h"
diff --git a/ext/pcre/php_pcre.h b/ext/pcre/php_pcre.h
index 5295927..78a7e1a 100644
--- a/ext/pcre/php_pcre.h
+++ b/ext/pcre/php_pcre.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_pcre.h,v 1.41.2.1.2.7 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: php_pcre.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PCRE_H
 #define PHP_PCRE_H
diff --git a/ext/pcre/tests/bug34790.phpt b/ext/pcre/tests/bug34790.phpt
index 5baec57..c375ae5 100755
--- a/ext/pcre/tests/bug34790.phpt
+++ b/ext/pcre/tests/bug34790.phpt
@@ -1,23 +1,23 @@
---TEST--
-Bug #34790 (preg_match_all(), named capturing groups, variable assignment/return => crash)
---FILE--
-<?php
-function func1(){
-        $string = 'what the word and the other word the';
-        preg_match_all('/(?P<word>the)/', $string, $matches);
-        return $matches['word'];
-}
-$words = func1();
-var_dump($words);
-?>
---EXPECT--
-array(4) {
-  [0]=>
-  string(3) "the"
-  [1]=>
-  string(3) "the"
-  [2]=>
-  string(3) "the"
-  [3]=>
-  string(3) "the"
-}
+--TEST--
+Bug #34790 (preg_match_all(), named capturing groups, variable assignment/return => crash)
+--FILE--
+<?php
+function func1(){
+        $string = 'what the word and the other word the';
+        preg_match_all('/(?P<word>the)/', $string, $matches);
+        return $matches['word'];
+}
+$words = func1();
+var_dump($words);
+?>
+--EXPECT--
+array(4) {
+  [0]=>
+  string(3) "the"
+  [1]=>
+  string(3) "the"
+  [2]=>
+  string(3) "the"
+  [3]=>
+  string(3) "the"
+}
diff --git a/ext/pcre/tests/preg_match_all_error3.phpt b/ext/pcre/tests/preg_match_all_error3.phpt
index b8b2ea2..547ff03 100644
--- a/ext/pcre/tests/preg_match_all_error3.phpt
+++ b/ext/pcre/tests/preg_match_all_error3.phpt
@@ -12,7 +12,7 @@ Test preg_match_all() function : error conditions
 echo "*** Testing preg_match_all() : error conditions ***\n";
 $regex = '/[a-z]/';
 $subject = 'string';
-var_dump(preg_match_all($regex, $subject, test));
+var_dump(preg_match_all($regex, $subject, 'test'));
 echo "Done";
 ?>
 --EXPECTF--
diff --git a/ext/pcre/tests/preg_split_basic.phpt b/ext/pcre/tests/preg_split_basic.phpt
index 324270a..e94a94f 100644
--- a/ext/pcre/tests/preg_split_basic.phpt
+++ b/ext/pcre/tests/preg_split_basic.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test preg_split() function : basic functionality 
---INI--
 --FILE--
 <?php
 /*
@@ -73,4 +72,4 @@ array(10) {
   string(1) "("
   [9]=>
   string(1) ")"
-}
\ No newline at end of file
+}
diff --git a/ext/pdo/README b/ext/pdo/README
index 9431b61..4ca503b 100755
--- a/ext/pdo/README
+++ b/ext/pdo/README
@@ -1,4 +1,4 @@
-$Id: README,v 1.3 2005/02/09 23:34:53 wez Exp $
+$Id: README 179422 2005-02-09 23:34:53Z wez $
 
 PHP Data Objects
 ================
diff --git a/ext/pdo/TODO b/ext/pdo/TODO
index 133b2c8..762d726 100755
--- a/ext/pdo/TODO
+++ b/ext/pdo/TODO
@@ -1,4 +1,4 @@
-$Id: TODO,v 1.6.2.2.2.1 2007/07/25 22:26:14 iliaa Exp $
+$Id: TODO 240335 2007-07-25 22:26:14Z iliaa $
 
 Roadmap for PDO
 
diff --git a/ext/pdo/config.m4 b/ext/pdo/config.m4
index 9497f12..6e814da 100755
--- a/ext/pdo/config.m4
+++ b/ext/pdo/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.15.2.3.2.1 2006/08/24 16:00:43 tony2001 Exp $
+dnl $Id: config.m4 218810 2006-08-24 16:00:43Z tony2001 $
 dnl config.m4 for extension pdo
 dnl vim:se ts=2 sw=2 et:
 
diff --git a/ext/pdo/config.w32 b/ext/pdo/config.w32
index c9ece30..17c8c25 100755
--- a/ext/pdo/config.w32
+++ b/ext/pdo/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.5.2.2 2005/10/04 07:47:11 helly Exp $
+// $Id: config.w32 197524 2005-10-04 07:47:11Z helly $
 // vim:ft=javascript
 
 ARG_ENABLE("pdo", "Enable PHP Data Objects support", "no");
diff --git a/ext/pdo/pdo.c b/ext/pdo/pdo.c
index 647ab04..d928e34 100755
--- a/ext/pdo/pdo.c
+++ b/ext/pdo/pdo.c
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo.c,v 1.57.2.17.2.13 2009/05/02 15:58:39 iliaa Exp $ */
+/* $Id: pdo.c 284394 2009-07-19 22:46:03Z felipe $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c
index ed94694..5f833cc 100755
--- a/ext/pdo/pdo_dbh.c
+++ b/ext/pdo/pdo_dbh.c
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_dbh.c,v 1.82.2.31.2.28 2009/05/02 15:58:39 iliaa Exp $ */
+/* $Id: pdo_dbh.c 279722 2009-05-02 15:58:39Z iliaa $ */
 
 /* The PDO Database Handle Class */
 
diff --git a/ext/pdo/pdo_sql_parser.c b/ext/pdo/pdo_sql_parser.c
index 3d9effd..9d40cee 100644
--- a/ext/pdo/pdo_sql_parser.c
+++ b/ext/pdo/pdo_sql_parser.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_sql_parser.c,v 1.35.2.6.2.21 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: pdo_sql_parser.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_pdo_driver.h"
diff --git a/ext/pdo/pdo_sql_parser.c.orig b/ext/pdo/pdo_sql_parser.c.orig
index 8ccf28c..1765f6b 100644
--- a/ext/pdo/pdo_sql_parser.c.orig
+++ b/ext/pdo/pdo_sql_parser.c.orig
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_sql_parser.c,v 1.35.2.6.2.21 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: pdo_sql_parser.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_pdo_driver.h"
diff --git a/ext/pdo/pdo_sql_parser.re b/ext/pdo/pdo_sql_parser.re
index 3199937..7c33d26 100644
--- a/ext/pdo/pdo_sql_parser.re
+++ b/ext/pdo/pdo_sql_parser.re
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_sql_parser.re,v 1.28.2.4.2.18 2008/12/31 11:16:23 sebastian Exp $ */
+/* $Id: pdo_sql_parser.re 272372 2008-12-31 11:16:23Z sebastian $ */
 
 #include "php.h"
 #include "php_pdo_driver.h"
diff --git a/ext/pdo/pdo_sqlstate.c b/ext/pdo/pdo_sqlstate.c
index fa998a9..fec6030 100644
--- a/ext/pdo/pdo_sqlstate.c
+++ b/ext/pdo/pdo_sqlstate.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_sqlstate.c,v 1.7.2.1.2.3 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: pdo_sqlstate.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c
index 406556f..e501d8f 100755
--- a/ext/pdo/pdo_stmt.c
+++ b/ext/pdo/pdo_stmt.c
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_stmt.c,v 1.118.2.38.2.47 2009/03/12 16:13:39 andrei Exp $ */
+/* $Id: pdo_stmt.c 288013 2009-09-03 22:53:25Z mbeccati $ */
 
 /* The PDO Statement Handle Class */
 
@@ -329,7 +329,7 @@ static int really_register_bound_param(struct pdo_bound_param_data *param, pdo_s
 	if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_STR && param->max_value_len <= 0 && ! ZVAL_IS_NULL(param->parameter)) {
 		if (Z_TYPE_P(param->parameter) == IS_DOUBLE) {
 			char *p;
-			int len = spprintf(&p, 0, "%F", Z_DVAL_P(param->parameter));
+			int len = spprintf(&p, 0, "%.*H", (int) EG(precision), Z_DVAL_P(param->parameter));
 			ZVAL_STRINGL(param->parameter, p, len, 0);
 		} else {
 			convert_to_string(param->parameter);
@@ -587,9 +587,8 @@ static inline void fetch_value(pdo_stmt_t *stmt, zval *dest, int colno, int *typ
 		case PDO_PARAM_LOB:
 			if (value == NULL) {
 				ZVAL_NULL(dest);
-			} else if (value[0] == '\0') {
-				ZVAL_EMPTY_STRING(dest);
 			} else if (value_len == 0) {
+				/* Warning, empty strings need to be passed as stream */
 				if (stmt->dbh->stringify || new_type == PDO_PARAM_STR) {
 					char *buf = NULL;
 					size_t len;
diff --git a/ext/pdo/php_pdo.h b/ext/pdo/php_pdo.h
index b749dd6..cf47658 100755
--- a/ext/pdo/php_pdo.h
+++ b/ext/pdo/php_pdo.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo.h,v 1.7.2.5.2.5 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: php_pdo.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_H
 #define PHP_PDO_H
diff --git a/ext/pdo/php_pdo_driver.h b/ext/pdo/php_pdo_driver.h
index 324c630..4d3a69a 100755
--- a/ext/pdo/php_pdo_driver.h
+++ b/ext/pdo/php_pdo_driver.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_driver.h,v 1.66.2.11.2.9 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: php_pdo_driver.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_DRIVER_H
 #define PHP_PDO_DRIVER_H
diff --git a/ext/pdo/php_pdo_int.h b/ext/pdo/php_pdo_int.h
index 8d3967a..c4dc801 100755
--- a/ext/pdo/php_pdo_int.h
+++ b/ext/pdo/php_pdo_int.h
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_int.h,v 1.17.2.6.2.4 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: php_pdo_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Stuff private to the PDO extension and not for consumption by PDO drivers
  * */
diff --git a/ext/pdo/tests/pdo.inc b/ext/pdo/tests/pdo.inc
index c9deeb0..6d8fa1e 100755
--- a/ext/pdo/tests/pdo.inc
+++ b/ext/pdo/tests/pdo.inc
@@ -1,11 +1,11 @@
-<?php
-
-function set_sql($name,  $query)
-{
-	if (empty($GLOBALS['SQL'][$name]))
-	{
-		$GLOBALS['SQL'][$name] = $query;
-	}
-}
-
-?>
+<?php
+
+function set_sql($name,  $query)
+{
+	if (empty($GLOBALS['SQL'][$name]))
+	{
+		$GLOBALS['SQL'][$name] = $query;
+	}
+}
+
+?>
diff --git a/ext/pdo_dblib/config.m4 b/ext/pdo_dblib/config.m4
index 431be82..617ed36 100644
--- a/ext/pdo_dblib/config.m4
+++ b/ext/pdo_dblib/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.2.2.2.2.2 2008/10/04 13:19:22 felipe Exp $
+dnl $Id: config.m4 266963 2008-10-04 13:19:22Z felipe $
 dnl
 
 if test "$PHP_PDO" != "no"; then
diff --git a/ext/pdo_dblib/config.w32 b/ext/pdo_dblib/config.w32
index 81931f4..a389e8b 100755
--- a/ext/pdo_dblib/config.w32
+++ b/ext/pdo_dblib/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.7.4.2 2009/05/19 10:22:31 kalle Exp $
+// $Id: config.w32 280766 2009-05-19 10:22:31Z kalle $
 // vim:ft=javascript
 
 ARG_WITH("pdo-dblib", "freetds dblib (Sybase, MS-SQL) support for PDO", "no");
diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c
index f93d7d4..d748ad7 100644
--- a/ext/pdo_dblib/dblib_driver.c
+++ b/ext/pdo_dblib/dblib_driver.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: dblib_driver.c,v 1.9.2.2.2.5 2009/03/20 22:14:17 sfox Exp $ */
+/* $Id: dblib_driver.c 288215 2009-09-10 01:20:42Z felipe $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -230,9 +230,11 @@ static int pdo_dblib_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
 		goto cleanup;
 	}
 
-	if (DBSETOPT(H->link, DBTEXTLIMIT, "2147483647") == FAIL) {
-		goto cleanup;
-	}
+	/* dblib do not return more than this length from text/image */
+	DBSETOPT(H->link, DBTEXTLIMIT, "2147483647");
+	
+	/* limit text/image from network */
+	DBSETOPT(H->link, DBTEXTSIZE, "2147483647");
 
 	if (vars[3].optval && FAIL == dbuse(H->link, vars[3].optval)) {
 		goto cleanup;
diff --git a/ext/pdo_dblib/dblib_stmt.c b/ext/pdo_dblib/dblib_stmt.c
index 5d58d06..91397cf 100644
--- a/ext/pdo_dblib/dblib_stmt.c
+++ b/ext/pdo_dblib/dblib_stmt.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: dblib_stmt.c,v 1.6.2.2.2.7 2009/03/20 22:14:17 sfox Exp $ */
+/* $Id: dblib_stmt.c 277533 2009-03-20 22:14:17Z sfox $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
diff --git a/ext/pdo_dblib/pdo_dblib.c b/ext/pdo_dblib/pdo_dblib.c
index 000ef89..d46bb15 100644
--- a/ext/pdo_dblib/pdo_dblib.c
+++ b/ext/pdo_dblib/pdo_dblib.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_dblib.c,v 1.9.2.6.2.7 2009/05/20 10:19:28 kalle Exp $ */
+/* $Id: pdo_dblib.c 280856 2009-05-20 10:19:28Z kalle $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
diff --git a/ext/pdo_dblib/php_pdo_dblib.h b/ext/pdo_dblib/php_pdo_dblib.h
index 7218f6f..0d9c886 100644
--- a/ext/pdo_dblib/php_pdo_dblib.h
+++ b/ext/pdo_dblib/php_pdo_dblib.h
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_dblib.h,v 1.2.2.1.2.4 2009/05/19 10:22:31 kalle Exp $ */
+/* $Id: php_pdo_dblib.h 280766 2009-05-19 10:22:31Z kalle $ */
 
 #ifndef PHP_PDO_DBLIB_H
 #define PHP_PDO_DBLIB_H
diff --git a/ext/pdo_dblib/php_pdo_dblib_int.h b/ext/pdo_dblib/php_pdo_dblib_int.h
index 364610c..84c4d92 100644
--- a/ext/pdo_dblib/php_pdo_dblib_int.h
+++ b/ext/pdo_dblib/php_pdo_dblib_int.h
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_dblib_int.h,v 1.4.2.1.2.3 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: php_pdo_dblib_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_DBLIB_INT_H
 #define PHP_PDO_DBLIB_INT_H
diff --git a/ext/pdo_firebird/config.m4 b/ext/pdo_firebird/config.m4
index 4182931..76b69fb 100644
--- a/ext/pdo_firebird/config.m4
+++ b/ext/pdo_firebird/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.8.4.2 2007/07/31 13:02:00 jani Exp $
+dnl $Id: config.m4 240511 2007-07-31 13:02:00Z jani $
 dnl
 
 if test "$PHP_PDO" != "no"; then
diff --git a/ext/pdo_firebird/config.w32 b/ext/pdo_firebird/config.w32
index 833b7b9..82ddf06 100644
--- a/ext/pdo_firebird/config.w32
+++ b/ext/pdo_firebird/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.6.4.1 2006/05/11 21:43:59 edink Exp $
+// $Id: config.w32 212867 2006-05-11 21:43:59Z edink $
 // vim:ft=javascript
 
 ARG_WITH("pdo-firebird", "Firebird support for PDO", "no");
diff --git a/ext/pdo_firebird/firebird_driver.c b/ext/pdo_firebird/firebird_driver.c
index 66b982e..d2253f3 100644
--- a/ext/pdo_firebird/firebird_driver.c
+++ b/ext/pdo_firebird/firebird_driver.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: firebird_driver.c,v 1.17.2.2.2.8 2009/04/18 18:56:58 felipe Exp $ */
+/* $Id: firebird_driver.c 278930 2009-04-18 18:56:58Z felipe $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_firebird/firebird_statement.c b/ext/pdo_firebird/firebird_statement.c
index 2bd2d9e..8f7de6e 100644
--- a/ext/pdo_firebird/firebird_statement.c
+++ b/ext/pdo_firebird/firebird_statement.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: firebird_statement.c,v 1.18.2.1.2.9 2009/04/03 22:14:05 felipe Exp $ */
+/* $Id: firebird_statement.c 284404 2009-07-20 00:17:24Z felipe $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -417,7 +417,8 @@ static int firebird_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr,  /* {{
 					}
 
 					/* convert the timestamp into a string */
-					*ptr = FETCH_BUF(S->fetch_buf[colno], char, *len = 80, NULL);
+					*len = 80;
+					*ptr = FETCH_BUF(S->fetch_buf[colno], char, *len, NULL);
 					*len = strftime(*ptr, *len, fmt, &t);
 					break;
 				case SQL_BLOB:
diff --git a/ext/pdo_firebird/pdo_firebird.c b/ext/pdo_firebird/pdo_firebird.c
index 5d20234..b8d9cb9 100644
--- a/ext/pdo_firebird/pdo_firebird.c
+++ b/ext/pdo_firebird/pdo_firebird.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_firebird.c,v 1.4.2.3.2.3 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: pdo_firebird.c 284399 2009-07-19 23:33:50Z felipe $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -35,8 +35,23 @@ zend_function_entry pdo_firebird_functions[] = { /* {{{ */
 };
 /* }}} */
 
+/* {{{ pdo_firebird_deps
+ */
+#if ZEND_MODULE_API_NO >= 20050922
+static const zend_module_dep pdo_firebird_deps[] = {
+	ZEND_MOD_REQUIRED("pdo")
+	{NULL, NULL, NULL}
+};
+#endif
+/* }}} */
+
 zend_module_entry pdo_firebird_module_entry = { /* {{{ */
+#if ZEND_MODULE_API_NO >= 20050922
+	STANDARD_MODULE_HEADER_EX, NULL,
+	pdo_firebird_deps,
+#else
 	STANDARD_MODULE_HEADER,
+#endif
 	"PDO_Firebird",
 	pdo_firebird_functions,
 	PHP_MINIT(pdo_firebird),
diff --git a/ext/pdo_firebird/php_pdo_firebird.h b/ext/pdo_firebird/php_pdo_firebird.h
index 0531e53..2b4286e 100644
--- a/ext/pdo_firebird/php_pdo_firebird.h
+++ b/ext/pdo_firebird/php_pdo_firebird.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_firebird.h,v 1.3.2.1.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_firebird.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_FIREBIRD_H
 #define PHP_PDO_FIREBIRD_H
diff --git a/ext/pdo_firebird/php_pdo_firebird_int.h b/ext/pdo_firebird/php_pdo_firebird_int.h
index d3755e8..6bce512 100644
--- a/ext/pdo_firebird/php_pdo_firebird_int.h
+++ b/ext/pdo_firebird/php_pdo_firebird_int.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_firebird_int.h,v 1.10.2.1.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_firebird_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_FIREBIRD_INT_H
 #define PHP_PDO_FIREBIRD_INT_H
diff --git a/ext/pdo_firebird/tests/connect.phpt b/ext/pdo_firebird/tests/connect.phpt
index c33cb1f..ef78a19 100644
--- a/ext/pdo_firebird/tests/connect.phpt
+++ b/ext/pdo_firebird/tests/connect.phpt
@@ -3,7 +3,7 @@ PDO_Firebird: connect/disconnect
 --SKIPIF--
 <?php include("skipif.inc"); ?>
 --FILE--
-<?php /* $Id: connect.phpt,v 1.1 2004/06/11 01:37:06 abies Exp $ */
+<?php /* $Id: connect.phpt 161049 2004-06-11 01:37:06Z abies $ */
 
 	require("testdb.inc");
     
diff --git a/ext/pdo_firebird/tests/ddl.phpt b/ext/pdo_firebird/tests/ddl.phpt
index 98a148e..afab0fa 100644
--- a/ext/pdo_firebird/tests/ddl.phpt
+++ b/ext/pdo_firebird/tests/ddl.phpt
@@ -3,7 +3,7 @@ PDO_Firebird: DDL/transactions
 --SKIPIF--
 <?php include("skipif.inc"); ?>
 --FILE--
-<?php /* $Id: ddl.phpt,v 1.1.4.1 2009/02/09 12:56:09 felipe Exp $ */
+<?php /* $Id: ddl.phpt 275415 2009-02-09 12:56:09Z felipe $ */
 
 	require("testdb.inc");
     
diff --git a/ext/pdo_firebird/tests/execute.phpt b/ext/pdo_firebird/tests/execute.phpt
index 4097f70..1134d43 100644
--- a/ext/pdo_firebird/tests/execute.phpt
+++ b/ext/pdo_firebird/tests/execute.phpt
@@ -5,7 +5,7 @@ PDO_Firebird: prepare/execute/binding
 --INI--
 ibase.timestampformat=%Y-%m-%d %H:%M:%S
 --FILE--
-<?php /* $Id: execute.phpt,v 1.4.4.1 2009/02/09 11:58:02 felipe Exp $ */
+<?php /* $Id: execute.phpt 275406 2009-02-09 11:58:02Z felipe $ */
 
 	require("testdb.inc");
     
diff --git a/ext/pdo_firebird/tests/skipif.inc b/ext/pdo_firebird/tests/skipif.inc
index 515a278..eaef6d3 100644
--- a/ext/pdo_firebird/tests/skipif.inc
+++ b/ext/pdo_firebird/tests/skipif.inc
@@ -1,4 +1,4 @@
-<?php /* $Id: skipif.inc,v 1.1 2004/06/11 01:37:06 abies Exp $ */
+<?php /* $Id: skipif.inc 161049 2004-06-11 01:37:06Z abies $ */
 
 if (!extension_loaded("interbase") || !extension_loaded("pdo_firebird")) print "skip"; 
 
diff --git a/ext/pdo_firebird/tests/testdb.inc b/ext/pdo_firebird/tests/testdb.inc
index 1b775f3..7d9bf15 100644
--- a/ext/pdo_firebird/tests/testdb.inc
+++ b/ext/pdo_firebird/tests/testdb.inc
@@ -1,4 +1,4 @@
-<?php /* $Id: testdb.inc,v 1.1 2004/06/11 01:37:06 abies Exp $ */
+<?php /* $Id: testdb.inc 161049 2004-06-11 01:37:06Z abies $ */
 
 $user = 'SYSDBA';
 $password = 'masterkey';
diff --git a/ext/pdo_mysql/config.m4 b/ext/pdo_mysql/config.m4
index ea81a62..3aeb141 100755
--- a/ext/pdo_mysql/config.m4
+++ b/ext/pdo_mysql/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.25.2.7.2.6 2007/07/31 13:02:00 jani Exp $
+dnl $Id: config.m4 240511 2007-07-31 13:02:00Z jani $
 dnl
 
 if test "$PHP_PDO" != "no"; then
diff --git a/ext/pdo_mysql/config.w32 b/ext/pdo_mysql/config.w32
index 49ba874..1eb5a94 100644
--- a/ext/pdo_mysql/config.w32
+++ b/ext/pdo_mysql/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.4.4.1 2006/05/11 21:43:59 edink Exp $
+// $Id: config.w32 212867 2006-05-11 21:43:59Z edink $
 // vim:ft=javascript
 
 ARG_WITH("pdo-mysql", "MySQL support for PDO", "no");
diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c
index c69bd86..bc5b821 100755
--- a/ext/pdo_mysql/mysql_driver.c
+++ b/ext/pdo_mysql/mysql_driver.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mysql_driver.c,v 1.59.2.13.2.8 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: mysql_driver.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c
index 9209521..5f5bb04 100755
--- a/ext/pdo_mysql/mysql_statement.c
+++ b/ext/pdo_mysql/mysql_statement.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mysql_statement.c,v 1.48.2.14.2.8 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: mysql_statement.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_mysql/pdo_mysql.c b/ext/pdo_mysql/pdo_mysql.c
index 8218de6..8eb1ecc 100755
--- a/ext/pdo_mysql/pdo_mysql.c
+++ b/ext/pdo_mysql/pdo_mysql.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_mysql.c,v 1.8.2.13.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: pdo_mysql.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_mysql/php_pdo_mysql.h b/ext/pdo_mysql/php_pdo_mysql.h
index cd0b297..97fb130 100755
--- a/ext/pdo_mysql/php_pdo_mysql.h
+++ b/ext/pdo_mysql/php_pdo_mysql.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_mysql.h,v 1.3.2.1.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_mysql.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_MYSQL_H
 #define PHP_PDO_MYSQL_H
diff --git a/ext/pdo_mysql/php_pdo_mysql_int.h b/ext/pdo_mysql/php_pdo_mysql_int.h
index 95f8993..88bd1a5 100755
--- a/ext/pdo_mysql/php_pdo_mysql_int.h
+++ b/ext/pdo_mysql/php_pdo_mysql_int.h
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_mysql_int.h,v 1.16.2.4.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_mysql_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_MYSQL_INT_H
 #define PHP_PDO_MYSQL_INT_H
diff --git a/ext/pdo_oci/config.m4 b/ext/pdo_oci/config.m4
index 804ec03..c85fd26 100755
--- a/ext/pdo_oci/config.m4
+++ b/ext/pdo_oci/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.14.2.5.2.6 2007/08/31 21:08:48 sixd Exp $
+dnl $Id: config.m4 242010 2007-08-31 21:08:48Z sixd $
 
 if test "$PHP_PDO" != "no"; then
 
diff --git a/ext/pdo_oci/config.w32 b/ext/pdo_oci/config.w32
index 3663c94..48dc3bc 100755
--- a/ext/pdo_oci/config.w32
+++ b/ext/pdo_oci/config.w32
@@ -1,84 +1,84 @@
-// $Id: config.w32,v 1.6.4.1 2006/05/11 21:43:59 edink Exp $
-// vim:ft=javascript
-
-ARG_WITH("pdo-oci", "Oracle OCI support for PDO", "no");
-
-if (PHP_PDO_OCI != "no") {
-
-	pdo_oci_dirs = new Array(
-		PHP_PDO_OCI,
-		PHP_PDO_OCI + "\\oci",
-		PHP_PHP_BUILD + "\\instantclient10_*\\sdk",
-		PHP_PHP_BUILD + "\\oci92"
-	);
-
-	pdo_oci_lib_paths = "";
-	pdo_oci_inc_paths = "";
-
-	// find the oracle install
-	for (i = 0; i < pdo_oci_dirs.length; i++) {
-		pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib;";
-		pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib\\msvc;";
-		pdo_oci_inc_paths += pdo_oci_dirs[i] + "\\include;";
-	}
-	
-	pdo_oci_inc_paths += PHP_PHP_BUILD + "\\include\\instantclient;"
-	pdo_oci_lib_paths += PHP_PHP_BUILD + "\\lib\\instantclient;";
-
-	pdo_oci_header = CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_PDO_OCI", pdo_oci_inc_paths, null, null, true);
-
-	if (pdo_oci_header && CHECK_LIB("oci.lib", "pdo_oci", pdo_oci_lib_paths)) {
-
-		pdo_oci_inc_dir = FSO.GetParentFolderName(pdo_oci_header);
-
-		EXTENSION('pdo_oci', 'pdo_oci.c oci_driver.c oci_statement.c');
-
-		/* probe for some functions not present in older versions */
-		pdo_oci_inc_dir = FSO.GetFolder(pdo_oci_header);
-		CHECK_FUNC_IN_HEADER('oci.h', 'OCIEnvCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI');
-		CHECK_FUNC_IN_HEADER('ociap.h', 'OCIStmtFetch2', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI');
-		CHECK_FUNC_IN_HEADER('ociap.h', 'OCIEnvNlsCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI');
-
-	} else {
-		WARNING("pdo-oci not enabled; libraries and headers not found");
-	}
-	ADD_EXTENSION_DEP('pdo_oci', 'pdo');
-}
-
-ARG_WITH("pdo-oci8", "Oracle OCI 8 (only) support for PDO", "no");
-
-if (PHP_PDO_OCI8 != "no") {
-	pdo_oci_dirs = new Array(
-		PHP_PDO_OCI,
-		PHP_PHP_BUILD + "\\oci805"
-	);
-
-	pdo_oci_lib_paths = "";
-	pdo_oci_inc_paths = "";
-
-	// find the oracle install
-	for (i = 0; i < pdo_oci_dirs.length; i++) {
-		pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib;";
-		pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib\\msvc;";
-		pdo_oci_inc_paths += pdo_oci_dirs[i] + "\\include;";
-	}
-
-	pdo_oci_header = CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_PDO_OCI8", pdo_oci_inc_paths, null, null, true);
-
-	if (pdo_oci_header && CHECK_LIB("oci.lib", "pdo_oci8", pdo_oci_lib_paths)) {
-		pdo_oci_inc_dir = FSO.GetParentFolderName(pdo_oci_header);
-
-		EXTENSION('pdo_oci8', 'pdo_oci.c oci_driver.c oci_statement.c', null, null, null, "ext\\pdo_oci8");
-
-		/* probe for some functions not present in older versions */
-		pdo_oci_inc_dir = FSO.GetFolder(pdo_oci_header);
-		CHECK_FUNC_IN_HEADER('oci.h', 'OCIEnvCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI8');
-		CHECK_FUNC_IN_HEADER('ociap.h', 'OCIStmtFetch2', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI8');
-		CHECK_FUNC_IN_HEADER('ociap.h', 'OCIEnvNlsCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI8');
-
-	} else {
-		WARNING("pdo-oci8 not enabled; libraries and headers not found");
-	}
-	ADD_EXTENSION_DEP('pdo_oci8', 'pdo');
-}
-
+// $Id: config.w32 212867 2006-05-11 21:43:59Z edink $
+// vim:ft=javascript
+
+ARG_WITH("pdo-oci", "Oracle OCI support for PDO", "no");
+
+if (PHP_PDO_OCI != "no") {
+
+	pdo_oci_dirs = new Array(
+		PHP_PDO_OCI,
+		PHP_PDO_OCI + "\\oci",
+		PHP_PHP_BUILD + "\\instantclient10_*\\sdk",
+		PHP_PHP_BUILD + "\\oci92"
+	);
+
+	pdo_oci_lib_paths = "";
+	pdo_oci_inc_paths = "";
+
+	// find the oracle install
+	for (i = 0; i < pdo_oci_dirs.length; i++) {
+		pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib;";
+		pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib\\msvc;";
+		pdo_oci_inc_paths += pdo_oci_dirs[i] + "\\include;";
+	}
+	
+	pdo_oci_inc_paths += PHP_PHP_BUILD + "\\include\\instantclient;"
+	pdo_oci_lib_paths += PHP_PHP_BUILD + "\\lib\\instantclient;";
+
+	pdo_oci_header = CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_PDO_OCI", pdo_oci_inc_paths, null, null, true);
+
+	if (pdo_oci_header && CHECK_LIB("oci.lib", "pdo_oci", pdo_oci_lib_paths)) {
+
+		pdo_oci_inc_dir = FSO.GetParentFolderName(pdo_oci_header);
+
+		EXTENSION('pdo_oci', 'pdo_oci.c oci_driver.c oci_statement.c');
+
+		/* probe for some functions not present in older versions */
+		pdo_oci_inc_dir = FSO.GetFolder(pdo_oci_header);
+		CHECK_FUNC_IN_HEADER('oci.h', 'OCIEnvCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI');
+		CHECK_FUNC_IN_HEADER('ociap.h', 'OCIStmtFetch2', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI');
+		CHECK_FUNC_IN_HEADER('ociap.h', 'OCIEnvNlsCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI');
+
+	} else {
+		WARNING("pdo-oci not enabled; libraries and headers not found");
+	}
+	ADD_EXTENSION_DEP('pdo_oci', 'pdo');
+}
+
+ARG_WITH("pdo-oci8", "Oracle OCI 8 (only) support for PDO", "no");
+
+if (PHP_PDO_OCI8 != "no") {
+	pdo_oci_dirs = new Array(
+		PHP_PDO_OCI,
+		PHP_PHP_BUILD + "\\oci805"
+	);
+
+	pdo_oci_lib_paths = "";
+	pdo_oci_inc_paths = "";
+
+	// find the oracle install
+	for (i = 0; i < pdo_oci_dirs.length; i++) {
+		pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib;";
+		pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib\\msvc;";
+		pdo_oci_inc_paths += pdo_oci_dirs[i] + "\\include;";
+	}
+
+	pdo_oci_header = CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_PDO_OCI8", pdo_oci_inc_paths, null, null, true);
+
+	if (pdo_oci_header && CHECK_LIB("oci.lib", "pdo_oci8", pdo_oci_lib_paths)) {
+		pdo_oci_inc_dir = FSO.GetParentFolderName(pdo_oci_header);
+
+		EXTENSION('pdo_oci8', 'pdo_oci.c oci_driver.c oci_statement.c', null, null, null, "ext\\pdo_oci8");
+
+		/* probe for some functions not present in older versions */
+		pdo_oci_inc_dir = FSO.GetFolder(pdo_oci_header);
+		CHECK_FUNC_IN_HEADER('oci.h', 'OCIEnvCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI8');
+		CHECK_FUNC_IN_HEADER('ociap.h', 'OCIStmtFetch2', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI8');
+		CHECK_FUNC_IN_HEADER('ociap.h', 'OCIEnvNlsCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI8');
+
+	} else {
+		WARNING("pdo-oci8 not enabled; libraries and headers not found");
+	}
+	ADD_EXTENSION_DEP('pdo_oci8', 'pdo');
+}
+
diff --git a/ext/pdo_oci/oci_driver.c b/ext/pdo_oci/oci_driver.c
index c19f266..d3781fb 100755
--- a/ext/pdo_oci/oci_driver.c
+++ b/ext/pdo_oci/oci_driver.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: oci_driver.c,v 1.24.2.4.2.12 2009/05/12 21:57:40 mbeccati Exp $ */
+/* $Id: oci_driver.c 280404 2009-05-12 21:57:42Z mbeccati $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_oci/oci_statement.c b/ext/pdo_oci/oci_statement.c
index a32b7f4..8604880 100755
--- a/ext/pdo_oci/oci_statement.c
+++ b/ext/pdo_oci/oci_statement.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: oci_statement.c,v 1.16.2.10.2.10 2009/05/12 21:57:41 mbeccati Exp $ */
+/* $Id: oci_statement.c 280404 2009-05-12 21:57:42Z mbeccati $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_oci/pdo_oci.c b/ext/pdo_oci/pdo_oci.c
index d33bd07..a706b93 100755
--- a/ext/pdo_oci/pdo_oci.c
+++ b/ext/pdo_oci/pdo_oci.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_oci.c,v 1.5.2.6.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: pdo_oci.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_oci/php_pdo_oci.h b/ext/pdo_oci/php_pdo_oci.h
index 51b15d4..52cc92d 100755
--- a/ext/pdo_oci/php_pdo_oci.h
+++ b/ext/pdo_oci/php_pdo_oci.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_oci.h,v 1.2.2.1.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_oci.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_OCI_H
 #define PHP_PDO_OCI_H
diff --git a/ext/pdo_oci/php_pdo_oci_int.h b/ext/pdo_oci/php_pdo_oci_int.h
index 40da800..ec9fb1e 100755
--- a/ext/pdo_oci/php_pdo_oci_int.h
+++ b/ext/pdo_oci/php_pdo_oci_int.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_oci_int.h,v 1.4.2.2.2.6 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_oci_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <oci.h>
 
diff --git a/ext/pdo_odbc/config.m4 b/ext/pdo_odbc/config.m4
index 06e9fac..e9db786 100755
--- a/ext/pdo_odbc/config.m4
+++ b/ext/pdo_odbc/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.22.2.1.2.3 2007/07/09 12:35:44 jani Exp $
+dnl $Id: config.m4 239334 2007-07-09 12:38:02Z jani $
 dnl config.m4 for extension pdo_odbc
 dnl vim:et:sw=2:ts=2:
 
diff --git a/ext/pdo_odbc/config.w32 b/ext/pdo_odbc/config.w32
index 42e36dc..8f52787 100755
--- a/ext/pdo_odbc/config.w32
+++ b/ext/pdo_odbc/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2004/05/17 15:43:01 wez Exp $
+// $Id: config.w32 158740 2004-05-17 15:43:01Z wez $
 // vim:ft=javascript
 
 ARG_WITH("pdo-odbc", "ODBC support for PDO", "no");
diff --git a/ext/pdo_odbc/odbc_driver.c b/ext/pdo_odbc/odbc_driver.c
index d7da4a5..a75438b 100755
--- a/ext/pdo_odbc/odbc_driver.c
+++ b/ext/pdo_odbc/odbc_driver.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: odbc_driver.c,v 1.27.2.4.2.6 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: odbc_driver.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_odbc/odbc_stmt.c b/ext/pdo_odbc/odbc_stmt.c
index b26ebd2..a62c29f 100755
--- a/ext/pdo_odbc/odbc_stmt.c
+++ b/ext/pdo_odbc/odbc_stmt.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: odbc_stmt.c,v 1.26.2.2.2.6 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: odbc_stmt.c 284098 2009-07-15 02:35:43Z felipe $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -568,7 +568,7 @@ static int odbc_stmt_set_param(pdo_stmt_t *stmt, long attr, zval *val TSRMLS_DC)
 		default:
 			strcpy(S->einfo.last_err_msg, "Unknown Attribute");
 			S->einfo.what = "setAttribute";
-			strcpy(S->einfo.last_state, "IM0001");
+			strcpy(S->einfo.last_state, "IM001");
 			return -1;
 	}
 }
@@ -596,7 +596,7 @@ static int odbc_stmt_get_attr(pdo_stmt_t *stmt, long attr, zval *val TSRMLS_DC)
 		default:
 			strcpy(S->einfo.last_err_msg, "Unknown Attribute");
 			S->einfo.what = "getAttribute";
-			strcpy(S->einfo.last_state, "IM0001");
+			strcpy(S->einfo.last_state, "IM001");
 			return -1;
 	}
 }
diff --git a/ext/pdo_odbc/pdo_odbc.c b/ext/pdo_odbc/pdo_odbc.c
index f62e4b9..6c94806 100755
--- a/ext/pdo_odbc/pdo_odbc.c
+++ b/ext/pdo_odbc/pdo_odbc.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_odbc.c,v 1.14.2.7.2.4 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: pdo_odbc.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_odbc/php_pdo_odbc.h b/ext/pdo_odbc/php_pdo_odbc.h
index a13122f..a4fc49c 100644
--- a/ext/pdo_odbc/php_pdo_odbc.h
+++ b/ext/pdo_odbc/php_pdo_odbc.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_odbc.h,v 1.2.4.5 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_odbc.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_ODBC_H
 #define PHP_PDO_ODBC_H
diff --git a/ext/pdo_odbc/php_pdo_odbc_int.h b/ext/pdo_odbc/php_pdo_odbc_int.h
index 9203430..6705504 100755
--- a/ext/pdo_odbc/php_pdo_odbc_int.h
+++ b/ext/pdo_odbc/php_pdo_odbc_int.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_odbc_int.h,v 1.9.2.1.2.5 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_odbc_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef PHP_WIN32
 # define PDO_ODBC_TYPE	"Win32"
diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
index 2d34558..5136fdd 100644
--- a/ext/pdo_pgsql/config.m4
+++ b/ext/pdo_pgsql/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.13.4.6 2007/07/31 13:02:00 jani Exp $
+dnl $Id: config.m4 240511 2007-07-31 13:02:00Z jani $
 dnl
 
 if test "$PHP_PDO" != "no"; then
diff --git a/ext/pdo_pgsql/config.w32 b/ext/pdo_pgsql/config.w32
index 765abed..3e7c6bc 100644
--- a/ext/pdo_pgsql/config.w32
+++ b/ext/pdo_pgsql/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.4.2.1.2.3 2006/10/11 11:00:03 edink Exp $
+// $Id: config.w32 221557 2006-10-11 11:00:03Z edink $
 // vim:ft=javascript
 
 ARG_WITH("pdo-pgsql", "PostgreSQL support for PDO", "no");
diff --git a/ext/pdo_pgsql/pdo_pgsql.c b/ext/pdo_pgsql/pdo_pgsql.c
index f0f823b..c9d13f4 100644
--- a/ext/pdo_pgsql/pdo_pgsql.c
+++ b/ext/pdo_pgsql/pdo_pgsql.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_pgsql.c,v 1.7.2.11.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: pdo_pgsql.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -123,7 +123,7 @@ PHP_MINFO_FUNCTION(pdo_pgsql)
 	php_info_print_table_row(2, "PostgreSQL(libpq) Version", PG_VERSION);
 #endif	
 	php_info_print_table_row(2, "Module version", pdo_pgsql_module_entry.version);
-	php_info_print_table_row(2, "Revision", " $Id: pdo_pgsql.c,v 1.7.2.11.2.3 2008/12/31 11:17:42 sebastian Exp $ ");
+	php_info_print_table_row(2, "Revision", " $Id: pdo_pgsql.c 272374 2008-12-31 11:17:49Z sebastian $ ");
 
 	php_info_print_table_end();
 }
diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c
index 3bd07f5..10966f2 100644
--- a/ext/pdo_pgsql/pgsql_driver.c
+++ b/ext/pdo_pgsql/pgsql_driver.c
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pgsql_driver.c,v 1.53.2.14.2.12 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: pgsql_driver.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c
index cc80ab9..c350cdd 100644
--- a/ext/pdo_pgsql/pgsql_statement.c
+++ b/ext/pdo_pgsql/pgsql_statement.c
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pgsql_statement.c,v 1.31.2.12.2.15 2009/05/25 19:41:41 kalle Exp $ */
+/* $Id: pgsql_statement.c 288013 2009-09-03 22:53:25Z mbeccati $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -599,8 +599,14 @@ static int pgsql_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, unsigned
 					return 0;
 				} else {
 					*ptr = php_pdo_pgsql_unescape_bytea(*ptr, &tmp_len);
-					*len = tmp_len;
-					*caller_frees = 1;
+					if (!tmp_len) {
+						/* Empty string, return as empty stream */
+						*ptr = (char *)php_stream_memory_open(TEMP_STREAM_READONLY, "", 0);
+						*len = 0;
+					} else {
+						*len = tmp_len;
+						*caller_frees = 1;
+					}
 				}
 				break;
 			case PDO_PARAM_NULL:
diff --git a/ext/pdo_pgsql/php_pdo_pgsql.h b/ext/pdo_pgsql/php_pdo_pgsql.h
index 964f44d..f90cff2 100644
--- a/ext/pdo_pgsql/php_pdo_pgsql.h
+++ b/ext/pdo_pgsql/php_pdo_pgsql.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_pgsql.h,v 1.3.2.1.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_pgsql.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_PGSQL_H
 #define PHP_PDO_PGSQL_H
diff --git a/ext/pdo_pgsql/php_pdo_pgsql_int.h b/ext/pdo_pgsql/php_pdo_pgsql_int.h
index e8cfe3f..d64034e 100644
--- a/ext/pdo_pgsql/php_pdo_pgsql_int.h
+++ b/ext/pdo_pgsql/php_pdo_pgsql_int.h
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_pgsql_int.h,v 1.13.2.4.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_pgsql_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_PGSQL_INT_H
 #define PHP_PDO_PGSQL_INT_H
diff --git a/ext/pdo_pgsql/tests/bug46274_2.phpt b/ext/pdo_pgsql/tests/bug46274_2.phpt
index 5e35556..eb675af 100644
--- a/ext/pdo_pgsql/tests/bug46274_2.phpt
+++ b/ext/pdo_pgsql/tests/bug46274_2.phpt
@@ -47,11 +47,13 @@ $res = $db->query("SELECT blob1 from test_one_blob");
 var_dump($x = $res->fetch());
 var_dump(fread($x['blob1'], 10));
 
-// Empty string
+// Resource
 var_dump($res->fetch());
+var_dump(fread($x['blob1'], 10));
 
-// Empty string
+// Resource
 var_dump($res->fetch());
+var_dump(fread($x['blob1'], 10));
 
 // NULL
 var_dump($res->fetch());
@@ -69,16 +71,18 @@ array(2) {
 string(3) "foo"
 array(2) {
   ["blob1"]=>
-  string(0) ""
+  resource(%d) of type (stream)
   [0]=>
-  string(0) ""
+  resource(%d) of type (stream)
 }
+string(0) ""
 array(2) {
   ["blob1"]=>
-  string(0) ""
+  resource(%d) of type (stream)
   [0]=>
-  string(0) ""
+  resource(%d) of type (stream)
 }
+string(0) ""
 array(2) {
   ["blob1"]=>
   NULL
diff --git a/ext/pdo_sqlite/config.m4 b/ext/pdo_sqlite/config.m4
index 90c6f63..d233de1 100644
--- a/ext/pdo_sqlite/config.m4
+++ b/ext/pdo_sqlite/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.26.2.9.2.7 2007/07/03 17:25:35 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl config.m4 for extension pdo_sqlite
 dnl vim:et:sw=2:ts=2:
 
diff --git a/ext/pdo_sqlite/config.w32 b/ext/pdo_sqlite/config.w32
index e777dce..981fb0e 100644
--- a/ext/pdo_sqlite/config.w32
+++ b/ext/pdo_sqlite/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.6.2.1.2.3 2007/03/22 01:00:23 wez Exp $
+// $Id: config.w32 232290 2007-03-22 01:00:23Z wez $
 // vim:ft=javascript
 
 ARG_WITH("pdo-sqlite", "for pdo_sqlite support", "no");
diff --git a/ext/pdo_sqlite/pdo_sqlite.c b/ext/pdo_sqlite/pdo_sqlite.c
index 2719bbc..4f8bb3e 100644
--- a/ext/pdo_sqlite/pdo_sqlite.c
+++ b/ext/pdo_sqlite/pdo_sqlite.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_sqlite.c,v 1.10.2.6.2.4 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: pdo_sqlite.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -100,7 +100,7 @@ PHP_MINFO_FUNCTION(pdo_sqlite)
 	"(bundled) "
 #endif
 		PHP_PDO_SQLITE_MODULE_VERSION 
-		" $Id: pdo_sqlite.c,v 1.10.2.6.2.4 2008/12/31 11:17:42 sebastian Exp $");
+		" $Id: pdo_sqlite.c 272374 2008-12-31 11:17:49Z sebastian $");
 	php_info_print_table_row(2, "SQLite Library", sqlite3_libversion());
 	php_info_print_table_end();
 }
diff --git a/ext/pdo_sqlite/php_pdo_sqlite.h b/ext/pdo_sqlite/php_pdo_sqlite.h
index 7ad6811..4d3f8c0 100644
--- a/ext/pdo_sqlite/php_pdo_sqlite.h
+++ b/ext/pdo_sqlite/php_pdo_sqlite.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_sqlite.h,v 1.2.2.1.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_sqlite.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #ifndef PHP_PDO_SQLITE_H
diff --git a/ext/pdo_sqlite/php_pdo_sqlite_int.h b/ext/pdo_sqlite/php_pdo_sqlite_int.h
index 9430cea..9c38d10 100644
--- a/ext/pdo_sqlite/php_pdo_sqlite_int.h
+++ b/ext/pdo_sqlite/php_pdo_sqlite_int.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_sqlite_int.h,v 1.3.2.1.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pdo_sqlite_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PDO_SQLITE_INT_H
 #define PHP_PDO_SQLITE_INT_H
diff --git a/ext/pdo_sqlite/sqlite/sqlite3.pc.in b/ext/pdo_sqlite/sqlite/sqlite3.pc.in
index c14b5ba..13d80a0 100644
--- a/ext/pdo_sqlite/sqlite/sqlite3.pc.in
+++ b/ext/pdo_sqlite/sqlite/sqlite3.pc.in
@@ -1,12 +1,12 @@
-# Package Information for pkg-config
-
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: SQLite
-Description: SQL database engine
-Version: @VERSION@
-Libs: -L${libdir} -lsqlite3
-Cflags: -I${includedir}
+# Package Information for pkg-config
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: SQLite
+Description: SQL database engine
+Version: @VERSION@
+Libs: -L${libdir} -lsqlite3
+Cflags: -I${includedir}
diff --git a/ext/pdo_sqlite/sqlite/src/alter.c b/ext/pdo_sqlite/sqlite/src/alter.c
index 7aebf20..bff4aca 100644
--- a/ext/pdo_sqlite/sqlite/src/alter.c
+++ b/ext/pdo_sqlite/sqlite/src/alter.c
@@ -12,7 +12,7 @@
 ** This file contains C code routines that used to generate VDBE code
 ** that implements the ALTER TABLE command.
 **
-** $Id: alter.c,v 1.2.2.2.2.2 2007/02/09 03:17:46 iliaa Exp $
+** $Id: alter.c 229394 2007-02-09 03:17:47Z iliaa $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
diff --git a/ext/pdo_sqlite/sqlite/src/analyze.c b/ext/pdo_sqlite/sqlite/src/analyze.c
index 91e8dda..b126ee0 100644
--- a/ext/pdo_sqlite/sqlite/src/analyze.c
+++ b/ext/pdo_sqlite/sqlite/src/analyze.c
@@ -11,7 +11,7 @@
 *************************************************************************
 ** This file contains code associated with the ANALYZE command.
 **
-** @(#) $Id: analyze.c,v 1.1.2.2.2.2 2007/04/09 16:35:11 iliaa Exp $
+** @(#) $Id: analyze.c 233497 2007-04-09 16:35:11Z iliaa $
 */
 #ifndef SQLITE_OMIT_ANALYZE
 #include "sqliteInt.h"
diff --git a/ext/pdo_sqlite/sqlite/src/callback.c b/ext/pdo_sqlite/sqlite/src/callback.c
index 587ac23..5403b2e 100644
--- a/ext/pdo_sqlite/sqlite/src/callback.c
+++ b/ext/pdo_sqlite/sqlite/src/callback.c
@@ -13,7 +13,7 @@
 ** This file contains functions used to access the internal hash tables
 ** of user defined functions and collation sequences.
 **
-** $Id: callback.c,v 1.1.2.2.2.3 2007/04/18 22:53:45 iliaa Exp $
+** $Id: callback.c 234062 2007-04-18 22:53:46Z iliaa $
 */
 
 #include "sqliteInt.h"
diff --git a/ext/pdo_sqlite/sqlite/src/complete.c b/ext/pdo_sqlite/sqlite/src/complete.c
index a7681be..adf57b0 100644
--- a/ext/pdo_sqlite/sqlite/src/complete.c
+++ b/ext/pdo_sqlite/sqlite/src/complete.c
@@ -16,7 +16,7 @@
 ** separating it out, the code will be automatically omitted from
 ** static links that do not use it.
 **
-** $Id: complete.c,v 1.1.2.1 2006/08/14 16:15:28 iliaa Exp $
+** $Id: complete.c 218146 2006-08-14 16:15:29Z iliaa $
 */
 #include "sqliteInt.h"
 #ifndef SQLITE_OMIT_COMPLETE
diff --git a/ext/pdo_sqlite/sqlite/src/keywordhash.h b/ext/pdo_sqlite/sqlite/src/keywordhash.h
index a8072a1..67b774b 100644
--- a/ext/pdo_sqlite/sqlite/src/keywordhash.h
+++ b/ext/pdo_sqlite/sqlite/src/keywordhash.h
@@ -2,7 +2,7 @@
 **
 ** The code in this file has been automatically generated by
 **
-**     $Header: /repository/php-src/ext/pdo_sqlite/sqlite/src/Attic/keywordhash.h,v 1.2.2.1.2.5 2009/04/27 19:54:34 felipe Exp $
+**     $Header$
 **
 ** The code in this file implements a function that determines whether
 ** or not a given identifier is really an SQL keyword.  The same thing
diff --git a/ext/pdo_sqlite/sqlite/src/prepare.c b/ext/pdo_sqlite/sqlite/src/prepare.c
index 8804ee0..aedd5dd 100644
--- a/ext/pdo_sqlite/sqlite/src/prepare.c
+++ b/ext/pdo_sqlite/sqlite/src/prepare.c
@@ -13,7 +13,7 @@
 ** interface, and routines that contribute to loading the database schema
 ** from disk.
 **
-** $Id: prepare.c,v 1.1.2.2.2.4 2007/05/16 21:04:46 iliaa Exp $
+** $Id: prepare.c 235759 2007-05-16 21:04:46Z iliaa $
 */
 #include "sqliteInt.h"
 #include "os.h"
diff --git a/ext/pdo_sqlite/sqlite/src/sqlite3ext.h b/ext/pdo_sqlite/sqlite/src/sqlite3ext.h
index 145b084..4ab3003 100644
--- a/ext/pdo_sqlite/sqlite/src/sqlite3ext.h
+++ b/ext/pdo_sqlite/sqlite/src/sqlite3ext.h
@@ -15,7 +15,7 @@
 ** as extensions by SQLite should #include this file instead of 
 ** sqlite3.h.
 **
-** @(#) $Id: sqlite3ext.h,v 1.1.2.3 2007/04/09 16:35:11 iliaa Exp $
+** @(#) $Id: sqlite3ext.h 233497 2007-04-09 16:35:11Z iliaa $
 */
 #ifndef _SQLITE3EXT_H_
 #define _SQLITE3EXT_H_
diff --git a/ext/pdo_sqlite/sqlite/src/vtab.c b/ext/pdo_sqlite/sqlite/src/vtab.c
index 2b3b2ac..32b73ae 100644
--- a/ext/pdo_sqlite/sqlite/src/vtab.c
+++ b/ext/pdo_sqlite/sqlite/src/vtab.c
@@ -11,7 +11,7 @@
 *************************************************************************
 ** This file contains code used to help implement virtual tables.
 **
-** $Id: vtab.c,v 1.1.2.4 2007/05/16 21:04:46 iliaa Exp $
+** $Id: vtab.c 235759 2007-05-16 21:04:46Z iliaa $
 */
 #ifndef SQLITE_OMIT_VIRTUALTABLE
 #include "sqliteInt.h"
diff --git a/ext/pdo_sqlite/sqlite_driver.c b/ext/pdo_sqlite/sqlite_driver.c
index 7f0ffcd..957fed9 100644
--- a/ext/pdo_sqlite/sqlite_driver.c
+++ b/ext/pdo_sqlite/sqlite_driver.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: sqlite_driver.c,v 1.20.2.5.2.5 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: sqlite_driver.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_sqlite/sqlite_statement.c b/ext/pdo_sqlite/sqlite_statement.c
index e4dd49b..03d2814 100644
--- a/ext/pdo_sqlite/sqlite_statement.c
+++ b/ext/pdo_sqlite/sqlite_statement.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: sqlite_statement.c,v 1.18.2.4.2.8 2009/05/20 15:03:16 iliaa Exp $ */
+/* $Id: sqlite_statement.c 280872 2009-05-20 15:03:16Z iliaa $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/pdo_sqlite/tests/bug48773.phpt b/ext/pdo_sqlite/tests/bug48773.phpt
new file mode 100644
index 0000000..b8bdea9
--- /dev/null
+++ b/ext/pdo_sqlite/tests/bug48773.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Bug #48773 (Incorrect error when setting PDO::ATTR_STATEMENT_CLASS with ctor_args)
+--SKIPIF--
+<?php
+if (!extension_loaded('pdo_sqlite')) print 'skip not loaded';
+?>
+--FILE--
+<?php
+
+class bar extends PDOStatement {
+	private function __construct() {
+	}
+}
+
+class foo extends PDO {
+	public $statementClass = 'bar';
+	function __construct($dsn, $username, $password, $driver_options = array()) {
+		$driver_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
+		parent::__construct($dsn, $username, $password, $driver_options);
+
+		$this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array($this->statementClass, array($this)));
+	}
+}
+
+$db = new foo('sqlite::memory:', '', '');
+$stmt = $db->query('SELECT 1');
+var_dump($stmt);
+
+?>
+--EXPECTF--
+object(bar)#%d (1) {
+  [%u|b%"queryString"]=>
+  %unicode|string%(8) "SELECT 1"
+}
diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
index 6fa2d0d..958d073 100644
--- a/ext/pgsql/config.m4
+++ b/ext/pgsql/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.46.2.1.2.5 2007/07/11 21:51:55 jani Exp $
+dnl $Id: config.m4 239529 2007-07-11 21:51:55Z jani $
 dnl
 
 PHP_ARG_WITH(pgsql,for PostgreSQL support,
diff --git a/ext/pgsql/config.w32 b/ext/pgsql/config.w32
index 9b17148..54feed7 100644
--- a/ext/pgsql/config.w32
+++ b/ext/pgsql/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.7.4.6 2009/05/11 10:44:25 pajoye Exp $
+// $Id: config.w32 280345 2009-05-11 10:44:25Z pajoye $
 // vim:ft=javascript
 
 ARG_WITH("pgsql", "PostgreSQL support", "no");
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index 51c7ade..82c9ab4 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: pgsql.c,v 1.331.2.13.2.37 2009/03/12 22:54:15 iliaa Exp $ */
+/* $Id: pgsql.c 277070 2009-03-12 22:54:15Z iliaa $ */
 
 #include <stdlib.h>
 
diff --git a/ext/pgsql/php_pgsql.h b/ext/pgsql/php_pgsql.h
index f6033e5..bf0e62f 100644
--- a/ext/pgsql/php_pgsql.h
+++ b/ext/pgsql/php_pgsql.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_pgsql.h,v 1.73.2.1.2.4 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pgsql.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PGSQL_H
 #define PHP_PGSQL_H
diff --git a/ext/posix/config.m4 b/ext/posix/config.m4
index deaa52a..ba7088f 100644
--- a/ext/posix/config.m4
+++ b/ext/posix/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.12.4.7 2009/01/21 19:23:03 jani Exp $
+dnl $Id: config.m4 274135 2009-01-21 19:23:03Z jani $
 dnl
 
 PHP_ARG_ENABLE(posix,whether to enable POSIX-like functions,
diff --git a/ext/posix/php_posix.h b/ext/posix/php_posix.h
index 431b837..dda6b86 100644
--- a/ext/posix/php_posix.h
+++ b/ext/posix/php_posix.h
@@ -17,7 +17,7 @@
  */
 
 
-/* $Id: php_posix.h,v 1.18.2.1.2.4 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_posix.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_POSIX_H
 #define PHP_POSIX_H
diff --git a/ext/posix/posix.c b/ext/posix/posix.c
index feb2c4b..9af8d56 100644
--- a/ext/posix/posix.c
+++ b/ext/posix/posix.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: posix.c,v 1.70.2.3.2.22 2009/01/04 15:08:34 tony2001 Exp $ */
+/* $Id: posix.c 286880 2009-08-06 11:11:15Z jani $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -152,7 +152,7 @@ zend_function_entry posix_functions[] = {
 static PHP_MINFO_FUNCTION(posix)
 {
 	php_info_print_table_start();
-	php_info_print_table_row(2, "Revision", "$Revision: 1.70.2.3.2.22 $");
+	php_info_print_table_row(2, "Revision", "$Revision: 286880 $");
 	php_info_print_table_end();
 }
 /* }}} */
@@ -491,7 +491,7 @@ PHP_FUNCTION(posix_times)
 
 	PHP_POSIX_NO_ARGS;
 
-	if((ticks = times(&t)) < 0) {
+	if ((ticks = times(&t)) == -1) {
 		POSIX_G(last_error) = errno;
 		RETURN_FALSE;
 	}
@@ -1196,6 +1196,10 @@ PHP_FUNCTION(posix_initgroups)
 		RETURN_FALSE;
 	}
 
+	if (name_len == 0) {
+		RETURN_FALSE;
+	}
+
 	RETURN_BOOL(!initgroups((const char *)name, basegid));
 }
 /* }}} */
diff --git a/ext/posix/tests/posix_ctermid_basic.phpt b/ext/posix/tests/posix_ctermid_basic.phpt
new file mode 100644
index 0000000..d1d4694
--- /dev/null
+++ b/ext/posix/tests/posix_ctermid_basic.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Test function posix_ctermid() by calling it with its expected arguments
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--FILE--
+<?php
+
+var_dump( posix_ctermid() );
+
+?>
+--EXPECTF--
+string(%d) %s
diff --git a/ext/posix/tests/posix_ctermid_error.phpt b/ext/posix/tests/posix_ctermid_error.phpt
new file mode 100644
index 0000000..30a69ae
--- /dev/null
+++ b/ext/posix/tests/posix_ctermid_error.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Test function posix_ctermid() by calling it more than or less than its expected arguments
+--SKIPIF--
+<?php
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded";
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+var_dump( posix_ctermid( 'foo' ) );
+
+?>
+--EXPECTF--
+Warning: Wrong parameter count for posix_ctermid() in %s.php on line %d
+NULL
diff --git a/ext/posix/tests/posix_errno_basic.phpt b/ext/posix/tests/posix_errno_basic.phpt
new file mode 100644
index 0000000..cd94a97
--- /dev/null
+++ b/ext/posix/tests/posix_errno_basic.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Test function posix_errno() by calling it with its expected arguments
+--CREDITS--
+Morten Amundsen mor10am at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--FILE--
+<?php
+
+echo "*** Test by calling method or function with its expected arguments ***\n";
+
+// test without any error
+var_dump(posix_errno());
+
+?>
+--EXPECTF--
+*** Test by calling method or function with its expected arguments ***
+int(0)
diff --git a/ext/posix/tests/posix_errno_error.phpt b/ext/posix/tests/posix_errno_error.phpt
new file mode 100644
index 0000000..99a2cb3
--- /dev/null
+++ b/ext/posix/tests/posix_errno_error.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Test function posix_errno() by calling it with its expected arguments
+--SKIPIF--
+<?php
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded";
+?>
+--CREDITS--
+Morten Amundsen mor10am at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+echo "*** Test by calling method or function with more than expected arguments ***\n";
+
+// test without any error
+var_dump(posix_errno('bar'));
+
+?>
+--EXPECTF--
+*** Test by calling method or function with more than expected arguments ***
+
+Warning: Wrong parameter count for posix_errno() in %s.php on line %d
+NULL
diff --git a/ext/posix/tests/posix_errno_variation1.phpt b/ext/posix/tests/posix_errno_variation1.phpt
new file mode 100644
index 0000000..aa9889f
--- /dev/null
+++ b/ext/posix/tests/posix_errno_variation1.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Test function posix_errno() by calling it with with permission error
+--CREDITS--
+Morten Amundsen mor10am at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--FILE--
+<?php
+
+echo "*** Test by calling function with permission error ***\n";
+
+posix_setuid(0);
+var_dump(posix_errno());
+
+?>
+--EXPECTF--
+*** Test by calling function with permission error ***
+int(1)
diff --git a/ext/posix/tests/posix_errno_variation2.phpt b/ext/posix/tests/posix_errno_variation2.phpt
new file mode 100644
index 0000000..f463d78
--- /dev/null
+++ b/ext/posix/tests/posix_errno_variation2.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Test function posix_errno() by calling it with its expected arguments
+--CREDITS--
+Morten Amundsen mor10am at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--FILE--
+<?php
+
+echo "*** Test by calling function with pid error ***\n";
+
+$pid = 10000;
+
+do {
+  $pid += 1;   	
+  $result = shell_exec("ps -p " . $pid);
+} while (strstr($pid, $result)); 
+
+posix_kill($pid, SIGKILL);
+var_dump(posix_errno());
+
+?>
+--EXPECTF--
+*** Test by calling function with pid error ***
+int(3)
diff --git a/ext/posix/tests/posix_getcwd.phpt b/ext/posix/tests/posix_getcwd.phpt
index 478aecc..984523f 100644
--- a/ext/posix/tests/posix_getcwd.phpt
+++ b/ext/posix/tests/posix_getcwd.phpt
@@ -1,6 +1,6 @@
 --TEST--
 posix_getcwd(): Basic tests
---SKIP--
+--SKIPIF--
 <?php
 if (!extension_loaded('posix')) die('skip - POSIX extension not loaded'); 
 if (!function_exists('posix_getcwd')) die('skip posix_getcwd() not found');
diff --git a/ext/posix/tests/posix_geteuid_basic.phpt b/ext/posix/tests/posix_geteuid_basic.phpt
new file mode 100644
index 0000000..76e9028
--- /dev/null
+++ b/ext/posix/tests/posix_geteuid_basic.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Test function posix_geteuid() by calling it with its expected arguments
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--FILE--
+<?php
+var_dump(posix_geteuid());
+?>
+--EXPECTF--
+int(%d)
diff --git a/ext/posix/tests/posix_geteuid_error1.phpt b/ext/posix/tests/posix_geteuid_error1.phpt
new file mode 100644
index 0000000..a7313c6
--- /dev/null
+++ b/ext/posix/tests/posix_geteuid_error1.phpt
@@ -0,0 +1,37 @@
+--TEST--
+Test function posix_geteuid() by calling it more than or less than its expected arguments
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+echo "*** Test by calling method or function with incorrect numbers of arguments ***\n";
+
+$extra_args = array( 12312, 2 => '1234', 'string' => 'string' );
+
+var_dump( posix_geteuid( $extra_args ));
+foreach ( $extra_args as $arg )
+{
+	var_dump(posix_geteuid( $arg ));
+}
+
+?>
+--EXPECTF--
+*** Test by calling method or function with incorrect numbers of arguments ***
+
+Warning: Wrong parameter count for posix_geteuid() in %s.php on line %d
+NULL
+
+Warning: Wrong parameter count for posix_geteuid() in %s.php on line %d
+NULL
+
+Warning: Wrong parameter count for posix_geteuid() in %s.php on line %d
+NULL
+
+Warning: Wrong parameter count for posix_geteuid() in %s.php on line %d
+NULL
diff --git a/ext/posix/tests/posix_getgrnam.phpt b/ext/posix/tests/posix_getgrnam.phpt
index 9d24f08..854db4a 100644
--- a/ext/posix/tests/posix_getgrnam.phpt
+++ b/ext/posix/tests/posix_getgrnam.phpt
@@ -1,6 +1,6 @@
 --TEST--
 posix_getgrnam(): Basic tests
---SKIP--
+--SKIPIF--
 <?php
 if (!extension_loaded('posix')) die('skip - POSIX extension not loaded'); 
 if (!function_exists('posix_getgrnam')) die('skip posix_getgrnam() not found');
diff --git a/ext/posix/tests/posix_getpwnam.phpt b/ext/posix/tests/posix_getpwnam.phpt
index 4b89622..b5de1e4 100644
--- a/ext/posix/tests/posix_getpwnam.phpt
+++ b/ext/posix/tests/posix_getpwnam.phpt
@@ -1,6 +1,6 @@
 --TEST--
 posix_getpwnam(): Basic tests
---SKIP--
+--SKIPIF--
 <?php
 if (!extension_loaded('posix')) die('skip - POSIX extension not loaded'); 
 if (!function_exists('posix_getpwnam')) die('skip posix_getpwnam() not found');
diff --git a/ext/posix/tests/posix_getrlimit.phpt b/ext/posix/tests/posix_getrlimit.phpt
index 55bd8af..61da64a 100644
--- a/ext/posix/tests/posix_getrlimit.phpt
+++ b/ext/posix/tests/posix_getrlimit.phpt
@@ -1,6 +1,6 @@
 --TEST--
 posix_getrlimit(): Basic tests
---SKIP--
+--SKIPIF--
 <?php
 if (!extension_loaded('posix')) die('skip - POSIX extension not loaded'); 
 if (!function_exists('posix_getrlimit')) die('skip posix_getrlimit() not found');
diff --git a/ext/posix/tests/posix_initgroups.phpt b/ext/posix/tests/posix_initgroups.phpt
index 6ffb202..60121e8 100644
--- a/ext/posix/tests/posix_initgroups.phpt
+++ b/ext/posix/tests/posix_initgroups.phpt
@@ -1,6 +1,6 @@
 --TEST--
 posix_initgroups(): Basic tests
---SKIP--
+--SKIPIF--
 <?php
 if (!extension_loaded('posix')) die('skip - POSIX extension not loaded'); 
 if (!function_exists('posix_initgroups')) die('skip posix_initgroups() not found');
diff --git a/ext/posix/tests/posix_isatty.phpt b/ext/posix/tests/posix_isatty.phpt
index 74309c2..0b40dd1 100644
--- a/ext/posix/tests/posix_isatty.phpt
+++ b/ext/posix/tests/posix_isatty.phpt
@@ -1,6 +1,6 @@
 --TEST--
 posix_isatty(): Basic tests
---SKIP--
+--SKIPIF--
 <?php
 if (!extension_loaded('posix')) die('skip - POSIX extension not loaded'); 
 if (!function_exists('posix_isatty')) die('skip posix_isatty() not found');
diff --git a/ext/posix/tests/posix_mknod.phpt b/ext/posix/tests/posix_mknod.phpt
index 1063abe..4044fb9 100644
--- a/ext/posix/tests/posix_mknod.phpt
+++ b/ext/posix/tests/posix_mknod.phpt
@@ -1,6 +1,6 @@
 --TEST--
 posix_mknod(): Basic tests
---SKIP--
+--SKIPIF--
 <?php
 if (!extension_loaded('posix')) die('skip - POSIX extension not loaded'); 
 if (!function_exists('posix_mknod')) die('skip posix_mknod() not found');
diff --git a/ext/posix/tests/posix_seteuid_basic.phpt b/ext/posix/tests/posix_seteuid_basic.phpt
new file mode 100644
index 0000000..204ebe8
--- /dev/null
+++ b/ext/posix/tests/posix_seteuid_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Test function posix_seteuid() by calling it with its expected arguments
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--FILE--
+<?php
+
+$myuid = posix_geteuid();
+$uid = var_dump(posix_seteuid( $myuid ) );
+
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/posix/tests/posix_seteuid_error.phpt b/ext/posix/tests/posix_seteuid_error.phpt
new file mode 100644
index 0000000..b10e410
--- /dev/null
+++ b/ext/posix/tests/posix_seteuid_error.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Test function posix_seteuid() by calling it more than or less than its expected arguments
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test by calling method or function with incorrect numbers of arguments ***\n";
+
+$uid = '123';
+$extra_arg = '12312';
+
+var_dump(posix_seteuid( $uid, $extra_arg ) );
+var_dump(posix_seteuid(  ) );
+
+
+?>
+--EXPECTF--
+*** Test by calling method or function with incorrect numbers of arguments ***
+
+Warning: posix_seteuid() expects exactly 1 parameter, 2 given in %s on line 9
+bool(false)
+
+Warning: posix_seteuid() expects exactly 1 parameter, 0 given in %s on line 10
+bool(false)
diff --git a/ext/posix/tests/posix_seteuid_error2.phpt b/ext/posix/tests/posix_seteuid_error2.phpt
new file mode 100644
index 0000000..808f2d3
--- /dev/null
+++ b/ext/posix/tests/posix_seteuid_error2.phpt
@@ -0,0 +1,55 @@
+--TEST--
+Test function posix_seteuid() by substituting argument 1 with object values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with object values ***\n";
+
+
+
+function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
+        if (error_reporting() != 0) {
+                // report non-silenced errors
+                echo "Error: $err_no - $err_msg, $filename($linenum)\n";
+        }
+}
+set_error_handler('test_error_handler');
+
+
+
+class classWithToString
+{
+        public function __toString() {
+                return "Class A object";
+        }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+  'instance of classWithToString' => new classWithToString(),
+  'instance of classWithoutToString' => new classWithoutToString(),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_seteuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with object values ***
+Error: 2 - posix_seteuid() expects parameter 1 to be long, object given, %s
+bool(false)
+Error: 2 - posix_seteuid() expects parameter 1 to be long, object given, %s
+bool(false)
diff --git a/ext/posix/tests/posix_seteuid_variation1.phpt b/ext/posix/tests/posix_seteuid_variation1.phpt
new file mode 100644
index 0000000..841bfe0
--- /dev/null
+++ b/ext/posix/tests/posix_seteuid_variation1.phpt
@@ -0,0 +1,41 @@
+--TEST--
+Test function posix_seteuid() by substituting argument 1 with array values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+$index_array = array(1, 2, 3);
+$assoc_array = array(1 => 'one', 2 => 'two');
+
+$variation_array = array(
+  'empty array' => array(),
+  'int indexed array' => $index_array,
+  'associative array' => $assoc_array,
+  'nested arrays' => array('foo', $index_array, $assoc_array),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_seteuid( $var  ) );
+}
+
+?>
+--EXPECTF--
+Warning: posix_seteuid() expects parameter 1 to be long, array given in %s on line 15
+bool(false)
+
+Warning: posix_seteuid() expects parameter 1 to be long, array given in %s on line 15
+bool(false)
+
+Warning: posix_seteuid() expects parameter 1 to be long, array given in %s on line 15
+bool(false)
+
+Warning: posix_seteuid() expects parameter 1 to be long, array given in %s on line 15
+bool(false)
diff --git a/ext/posix/tests/posix_seteuid_variation2.phpt b/ext/posix/tests/posix_seteuid_variation2.phpt
new file mode 100644
index 0000000..2ab7302
--- /dev/null
+++ b/ext/posix/tests/posix_seteuid_variation2.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Test function posix_seteuid() by substituting argument 1 with boolean values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with boolean values ***\n";
+
+
+
+$variation_array = array(
+  'lowercase true' => true,
+  'lowercase false' =>false,
+  'uppercase TRUE' =>TRUE,
+  'uppercase FALSE' =>FALSE,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_seteuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with boolean values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_seteuid_variation3.phpt b/ext/posix/tests/posix_seteuid_variation3.phpt
new file mode 100644
index 0000000..70c05c8
--- /dev/null
+++ b/ext/posix/tests/posix_seteuid_variation3.phpt
@@ -0,0 +1,47 @@
+--TEST--
+Test function posix_seteuid() by substituting argument 1 with emptyUnsetUndefNull values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with emptyUnsetUndefNull values ***\n";
+
+
+
+$unset_var = 10;
+unset($unset_var);
+
+$variation_array = array(
+  'unset var' => @$unset_var,
+  'undefined var' => @$undefined_var,
+  'empty string DQ' => "",
+  'empty string SQ' => '',
+  'uppercase NULL' => NULL,
+  'lowercase null' => null,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_seteuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with emptyUnsetUndefNull values ***
+bool(false)
+bool(false)
+
+Warning: posix_seteuid() expects parameter 1 to be long, string given in %s on line 22
+bool(false)
+
+Warning: posix_seteuid() expects parameter 1 to be long, string given in %s on line 22
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_seteuid_variation4.phpt b/ext/posix/tests/posix_seteuid_variation4.phpt
new file mode 100644
index 0000000..6529141
--- /dev/null
+++ b/ext/posix/tests/posix_seteuid_variation4.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Test function posix_seteuid() by substituting argument 1 with float values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with float values ***\n";
+
+$myUid = posix_getuid();
+
+$myUid = $myUid - 1.1;
+
+$variation_array = array(
+  'float '.$myUid => $myUid,
+  'float -'.$myUid => -$myUid,
+  'float 12.3456789000e10' => 12.3456789000e10,
+  'float -12.3456789000e10' => -12.3456789000e10,
+  'float .5' => .5,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_seteuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with float values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_seteuid_variation5.phpt b/ext/posix/tests/posix_seteuid_variation5.phpt
new file mode 100644
index 0000000..91d3a72
--- /dev/null
+++ b/ext/posix/tests/posix_seteuid_variation5.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Test function posix_seteuid() by substituting argument 1 with int values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with int values ***\n";
+
+
+
+$variation_array = array (
+    'int 0' => 0,
+    'int 1' => 1,
+    'int -12345' => -12345,
+    );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_seteuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with int values ***
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_seteuid_variation6.phpt b/ext/posix/tests/posix_seteuid_variation6.phpt
new file mode 100644
index 0000000..65ff56b
--- /dev/null
+++ b/ext/posix/tests/posix_seteuid_variation6.phpt
@@ -0,0 +1,48 @@
+--TEST--
+Test function posix_seteuid() by substituting argument 1 with string values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with string values ***\n";
+
+
+
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'string DQ' => "string",
+  'string SQ' => 'string',
+  'mixed case string' => "sTrInG",
+  'heredoc' => $heredoc,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_seteuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with string values ***
+
+Warning: posix_seteuid() expects parameter 1 to be long, string given in %s on line 21
+bool(false)
+
+Warning: posix_seteuid() expects parameter 1 to be long, string given in %s on line 21
+bool(false)
+
+Warning: posix_seteuid() expects parameter 1 to be long, string given in %s on line 21
+bool(false)
+
+Warning: posix_seteuid() expects parameter 1 to be long, string given in %s on line 21
+bool(false)
diff --git a/ext/posix/tests/posix_setgid_basic.phpt b/ext/posix/tests/posix_setgid_basic.phpt
new file mode 100644
index 0000000..da3751f
--- /dev/null
+++ b/ext/posix/tests/posix_setgid_basic.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test function posix_setgid() by calling it with its expected arguments
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test by calling method or function with its expected arguments ***\n";
+
+$gid = posix_getgid();
+var_dump(posix_setgid( $gid ) );
+
+
+?>
+===DONE===
+--EXPECTF--
+*** Test by calling method or function with its expected arguments ***
+bool(true)
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/posix/tests/posix_setgid_error.phpt b/ext/posix/tests/posix_setgid_error.phpt
new file mode 100644
index 0000000..247435d
--- /dev/null
+++ b/ext/posix/tests/posix_setgid_error.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Test function posix_setgid() by calling it more than or less than its expected arguments.
+--CREDITS--
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test by calling method or function with incorrect numbers of arguments ***\n";
+
+$gid = posix_getgid();
+$extra_arg = '123';
+
+var_dump(posix_setgid( $gid, $extra_arg ) );
+var_dump(posix_setgid(  ) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Test by calling method or function with incorrect numbers of arguments ***
+
+Warning: posix_setgid() expects exactly 1 parameter, 2 given in %s on line %d
+bool(false)
+
+Warning: posix_setgid() expects exactly 1 parameter, 0 given in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/posix/tests/posix_setgid_variation1.phpt b/ext/posix/tests/posix_setgid_variation1.phpt
new file mode 100644
index 0000000..3690a77
--- /dev/null
+++ b/ext/posix/tests/posix_setgid_variation1.phpt
@@ -0,0 +1,47 @@
+--TEST--
+Test function posix_setgid() by substituting argument 1 with array values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with array values ***\n";
+
+$index_array = array(1, 2, 3);
+$assoc_array = array(1 => 'one', 2 => 'two');
+
+$variation_array = array(
+  'empty array' => array(),
+  'int indexed array' => $index_array,
+  'associative array' => $assoc_array,
+  'nested arrays' => array('foo', $index_array, $assoc_array),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setgid( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+*** Test substituting argument 1 with array values ***
+
+Warning: posix_setgid() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: posix_setgid() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: posix_setgid() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: posix_setgid() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/posix/tests/posix_setgid_variation2.phpt b/ext/posix/tests/posix_setgid_variation2.phpt
new file mode 100644
index 0000000..6d53b08
--- /dev/null
+++ b/ext/posix/tests/posix_setgid_variation2.phpt
@@ -0,0 +1,39 @@
+--TEST--
+Test function posix_setgid() by substituting argument 1 with boolean values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with boolean values ***\n";
+
+
+
+$variation_array = array(
+  'lowercase true' => true,
+  'lowercase false' =>false,
+  'uppercase TRUE' =>TRUE,
+  'uppercase FALSE' =>FALSE,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setgid( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+*** Test substituting argument 1 with boolean values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/posix/tests/posix_setgid_variation3.phpt b/ext/posix/tests/posix_setgid_variation3.phpt
new file mode 100644
index 0000000..5855746
--- /dev/null
+++ b/ext/posix/tests/posix_setgid_variation3.phpt
@@ -0,0 +1,47 @@
+--TEST--
+Test function posix_setgid() by substituting argument 1 with emptyUnsetUndefNull values.
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded";
+?>
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with emptyUnsetUndefNull values ***\n";
+
+
+
+$unset_var = 10;
+unset($unset_var);
+
+$variation_array = array(
+  'unset var' => @$unset_var,
+  'undefined var' => @$undefined_var,
+  'empty string DQ' => "",
+  'empty string SQ' => '',
+  'uppercase NULL' => NULL,
+  'lowercase null' => null,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setgid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with emptyUnsetUndefNull values ***
+bool(false)
+bool(false)
+
+Warning: posix_setgid() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: posix_setgid() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_setgid_variation4.phpt b/ext/posix/tests/posix_setgid_variation4.phpt
new file mode 100644
index 0000000..2bd209b
--- /dev/null
+++ b/ext/posix/tests/posix_setgid_variation4.phpt
@@ -0,0 +1,41 @@
+--TEST--
+Test function posix_setgid() by substituting argument 1 with float values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with float values ***\n";
+
+
+
+$variation_array = array(
+  'float 10.5' => 10.5,
+  'float -10.5' => -10.5,
+  'float 12.3456789000e10' => 12.3456789000e10,
+  'float -12.3456789000e10' => -12.3456789000e10,
+  'float .5' => .5,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setgid( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+*** Test substituting argument 1 with float values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/posix/tests/posix_setgid_variation5.phpt b/ext/posix/tests/posix_setgid_variation5.phpt
new file mode 100644
index 0000000..91f2bb5
--- /dev/null
+++ b/ext/posix/tests/posix_setgid_variation5.phpt
@@ -0,0 +1,37 @@
+--TEST--
+Test function posix_setgid() by substituting argument 1 with int values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with int values ***\n";
+
+
+
+$variation_array = array (
+    'long 0' => 0,
+    'long 1' => 1,
+    'int -12345' => -2345,
+    );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setgid( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+*** Test substituting argument 1 with int values ***
+bool(false)
+bool(false)
+bool(false)
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/posix/tests/posix_setgid_variation6.phpt b/ext/posix/tests/posix_setgid_variation6.phpt
new file mode 100644
index 0000000..8557fd2
--- /dev/null
+++ b/ext/posix/tests/posix_setgid_variation6.phpt
@@ -0,0 +1,58 @@
+--TEST--
+Test function posix_setgid() by substituting argument 1 with object values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with object values ***\n";
+
+
+
+function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
+        if (error_reporting() != 0) {
+                // report non-silenced errors
+                echo "Error: $err_no - $err_msg, $filename($linenum)\n";
+        }
+}
+set_error_handler('test_error_handler');
+
+
+
+class classWithToString
+{
+        public function __toString() {
+                return "Class A object";
+        }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+  'instance of classWithToString' => new classWithToString(),
+  'instance of classWithoutToString' => new classWithoutToString(),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setgid( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+*** Test substituting argument 1 with object values ***
+Error: 2 - posix_setgid() expects parameter 1 to be long, object given, %s
+bool(false)
+Error: 2 - posix_setgid() expects parameter 1 to be long, object given, %s
+bool(false)
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/posix/tests/posix_setgid_variation7.phpt b/ext/posix/tests/posix_setgid_variation7.phpt
new file mode 100644
index 0000000..f8083c3
--- /dev/null
+++ b/ext/posix/tests/posix_setgid_variation7.phpt
@@ -0,0 +1,48 @@
+--TEST--
+Test function posix_setgid() by substituting argument 1 with string values.
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded";
+?>
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with string values ***\n";
+
+
+
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'string DQ' => "string",
+  'string SQ' => 'string',
+  'mixed case string' => "sTrInG",
+  'heredoc' => $heredoc,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setgid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with string values ***
+
+Warning: posix_setgid() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: posix_setgid() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: posix_setgid() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: posix_setgid() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
diff --git a/ext/posix/tests/posix_setuid_basic.phpt b/ext/posix/tests/posix_setuid_basic.phpt
new file mode 100644
index 0000000..986b0be
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_basic.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Test function posix_setuid() by calling it with its expected arguments
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--FILE--
+<?php
+
+$myuid = posix_getuid();
+$uid = var_dump(posix_setuid( $myuid ) );
+
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/posix/tests/posix_setuid_error.phpt b/ext/posix/tests/posix_setuid_error.phpt
new file mode 100644
index 0000000..8aa5158
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_error.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Test function posix_setuid() by calling it more than or less than its expected arguments
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test by calling method or function with incorrect numbers of arguments ***\n";
+
+$uid = '123';
+
+
+$extra_arg = '12312';
+
+var_dump(posix_setuid( $uid, $extra_arg ) );
+
+var_dump(posix_setuid(  ) );
+
+
+?>
+--EXPECTF--
+*** Test by calling method or function with incorrect numbers of arguments ***
+
+Warning: posix_setuid() expects exactly 1 parameter, 2 given in %s on line 11
+bool(false)
+
+Warning: posix_setuid() expects exactly 1 parameter, 0 given in %s on line 13
+bool(false)
diff --git a/ext/posix/tests/posix_setuid_error2.phpt b/ext/posix/tests/posix_setuid_error2.phpt
new file mode 100644
index 0000000..6ec0aa9
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_error2.phpt
@@ -0,0 +1,55 @@
+--TEST--
+Test function posix_setuid() by substituting argument 1 with object values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with object values ***\n";
+
+
+
+function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
+        if (error_reporting() != 0) {
+                // report non-silenced errors
+                echo "Error: $err_no - $err_msg, $filename($linenum)\n";
+        }
+}
+set_error_handler('test_error_handler');
+
+
+
+class classWithToString
+{
+        public function __toString() {
+                return "Class A object";
+        }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+  'instance of classWithToString' => new classWithToString(),
+  'instance of classWithoutToString' => new classWithoutToString(),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with object values ***
+Error: 2 - posix_setuid() expects parameter 1 to be long, object given, %s
+bool(false)
+Error: 2 - posix_setuid() expects parameter 1 to be long, object given, %s
+bool(false)
diff --git a/ext/posix/tests/posix_setuid_variation1.phpt b/ext/posix/tests/posix_setuid_variation1.phpt
new file mode 100644
index 0000000..bf6d437
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_variation1.phpt
@@ -0,0 +1,41 @@
+--TEST--
+Test function posix_setuid() by substituting argument 1 with array values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+$index_array = array(1, 2, 3);
+$assoc_array = array(1 => 'one', 2 => 'two');
+
+$variation_array = array(
+  'empty array' => array(),
+  'int indexed array' => $index_array,
+  'associative array' => $assoc_array,
+  'nested arrays' => array('foo', $index_array, $assoc_array),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setuid( $var  ) );
+}
+
+?>
+--EXPECTF--
+Warning: posix_setuid() expects parameter 1 to be long, array given in %s on line 15
+bool(false)
+
+Warning: posix_setuid() expects parameter 1 to be long, array given in %s on line 15
+bool(false)
+
+Warning: posix_setuid() expects parameter 1 to be long, array given in %s on line 15
+bool(false)
+
+Warning: posix_setuid() expects parameter 1 to be long, array given in %s on line 15
+bool(false)
diff --git a/ext/posix/tests/posix_setuid_variation2.phpt b/ext/posix/tests/posix_setuid_variation2.phpt
new file mode 100644
index 0000000..c8ef928
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_variation2.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Test function posix_setuid() by substituting argument 1 with boolean values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with boolean values ***\n";
+
+
+
+$variation_array = array(
+  'lowercase true' => true,
+  'lowercase false' =>false,
+  'uppercase TRUE' =>TRUE,
+  'uppercase FALSE' =>FALSE,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with boolean values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_setuid_variation3.phpt b/ext/posix/tests/posix_setuid_variation3.phpt
new file mode 100644
index 0000000..1630cd1
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_variation3.phpt
@@ -0,0 +1,47 @@
+--TEST--
+Test function posix_setuid() by substituting argument 1 with emptyUnsetUndefNull values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with emptyUnsetUndefNull values ***\n";
+
+
+
+$unset_var = 10;
+unset($unset_var);
+
+$variation_array = array(
+  'unset var' => @$unset_var,
+  'undefined var' => @$undefined_var,
+  'empty string DQ' => "",
+  'empty string SQ' => '',
+  'uppercase NULL' => NULL,
+  'lowercase null' => null,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with emptyUnsetUndefNull values ***
+bool(false)
+bool(false)
+
+Warning: posix_setuid() expects parameter 1 to be long, string given in %s on line 22
+bool(false)
+
+Warning: posix_setuid() expects parameter 1 to be long, string given in %s on line 22
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_setuid_variation4.phpt b/ext/posix/tests/posix_setuid_variation4.phpt
new file mode 100644
index 0000000..1675964
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_variation4.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Test function posix_setuid() by substituting argument 1 with float values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with float values ***\n";
+
+$myUid = posix_getuid();
+
+$myUid = $myUid - 1.1;
+
+$variation_array = array(
+  'float '.$myUid => $myUid,
+  'float -'.$myUid => -$myUid,
+  'float 12.3456789000e10' => 12.3456789000e10,
+  'float -12.3456789000e10' => -12.3456789000e10,
+  'float .5' => .5,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with float values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_setuid_variation5.phpt b/ext/posix/tests/posix_setuid_variation5.phpt
new file mode 100644
index 0000000..e1b7c05
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_variation5.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Test function posix_setuid() by substituting argument 1 with int values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with int values ***\n";
+
+
+
+$variation_array = array (
+    'int 0' => 0,
+    'int 1' => 1,
+    'int -12345' => -12345,
+    );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with int values ***
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_setuid_variation6.phpt b/ext/posix/tests/posix_setuid_variation6.phpt
new file mode 100644
index 0000000..79e614f
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_variation6.phpt
@@ -0,0 +1,48 @@
+--TEST--
+Test function posix_setuid() by substituting argument 1 with string values.
+--SKIPIF--
+<?php 
+        if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 
+?>
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with string values ***\n";
+
+
+
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'string DQ' => "string",
+  'string SQ' => 'string',
+  'mixed case string' => "sTrInG",
+  'heredoc' => $heredoc,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_setuid( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with string values ***
+
+Warning: posix_setuid() expects parameter 1 to be long, string given in %s on line 21
+bool(false)
+
+Warning: posix_setuid() expects parameter 1 to be long, string given in %s on line 21
+bool(false)
+
+Warning: posix_setuid() expects parameter 1 to be long, string given in %s on line 21
+bool(false)
+
+Warning: posix_setuid() expects parameter 1 to be long, string given in %s on line 21
+bool(false)
diff --git a/ext/posix/tests/posix_ttyname_error.phpt b/ext/posix/tests/posix_ttyname_error.phpt
new file mode 100644
index 0000000..e3ec695
--- /dev/null
+++ b/ext/posix/tests/posix_ttyname_error.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Test function posix_ttyname() by calling it more than or less than its expected arguments
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test by calling method or function with incorrect numbers of arguments ***\n";
+
+$fd = 'foo';
+$extra_arg = 'bar'; 
+
+var_dump(posix_ttyname( $fd, $extra_arg ) );
+
+var_dump(posix_ttyname(  ) );
+
+
+?>
+--EXPECTF--
+*** Test by calling method or function with incorrect numbers of arguments ***
+
+Warning: posix_ttyname() expects exactly 1 parameter, 2 given in %s on line %d
+bool(false)
+
+Warning: posix_ttyname() expects exactly 1 parameter, 0 given in %s on line %d
+bool(false)
diff --git a/ext/posix/tests/posix_ttyname_variation1.phpt b/ext/posix/tests/posix_ttyname_variation1.phpt
new file mode 100644
index 0000000..072b9fa
--- /dev/null
+++ b/ext/posix/tests/posix_ttyname_variation1.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Test function posix_ttyname() by substituting argument 1 with array values.
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with array values ***\n";
+
+
+
+$index_array = array(1, 2, 3);
+$assoc_array = array(1 => 'one', 2 => 'two');
+
+$variation_array = array(
+  'empty array' => array(),
+  'int indexed array' => $index_array,
+  'associative array' => $assoc_array,
+  'nested arrays' => array('foo', $index_array, $assoc_array),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_ttyname( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with array values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_ttyname_variation2.phpt b/ext/posix/tests/posix_ttyname_variation2.phpt
new file mode 100644
index 0000000..f46821b
--- /dev/null
+++ b/ext/posix/tests/posix_ttyname_variation2.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Test function posix_ttyname() by substituting argument 1 with boolean values.
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with boolean values ***\n";
+
+
+
+$variation_array = array(
+  'lowercase true' => true,
+  'lowercase false' =>false,
+  'uppercase TRUE' =>TRUE,
+  'uppercase FALSE' =>FALSE,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_ttyname( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with boolean values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_ttyname_variation3.phpt b/ext/posix/tests/posix_ttyname_variation3.phpt
new file mode 100644
index 0000000..3005426
--- /dev/null
+++ b/ext/posix/tests/posix_ttyname_variation3.phpt
@@ -0,0 +1,39 @@
+--TEST--
+Test function posix_ttyname() by substituting argument 1 with emptyUnsetUndefNull values.
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with emptyUnsetUndefNull values ***\n";
+
+
+
+$unset_var = 10;
+unset($unset_var);
+
+$variation_array = array(
+  'unset var' => @$unset_var,
+  'undefined var' => @$undefined_var,
+  'empty string DQ' => "",
+  'empty string SQ' => '',
+  'uppercase NULL' => NULL,
+  'lowercase null' => null,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_ttyname( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with emptyUnsetUndefNull values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_ttyname_variation4.phpt b/ext/posix/tests/posix_ttyname_variation4.phpt
new file mode 100644
index 0000000..3215492
--- /dev/null
+++ b/ext/posix/tests/posix_ttyname_variation4.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Test function posix_ttyname() by substituting argument 1 with float values.
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with float values ***\n";
+
+
+
+$variation_array = array(
+  'float 10.5' => 10.5,
+  'float -10.5' => -10.5,
+  'float 12.3456789000e10' => 12.3456789000e10,
+  'float -12.3456789000e10' => -12.3456789000e10,
+  'float .5' => .5,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_ttyname( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with float values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_ttyname_variation5.phpt b/ext/posix/tests/posix_ttyname_variation5.phpt
new file mode 100644
index 0000000..661dd60
--- /dev/null
+++ b/ext/posix/tests/posix_ttyname_variation5.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Test function posix_ttyname() by substituting argument 1 with int values.
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with int values ***\n";
+
+
+
+$variation_array = array (
+    'int 12345' => 12345,
+    'int -12345' => -2345,
+    );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_ttyname( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with int values ***
+bool(false)
+bool(false)
diff --git a/ext/posix/tests/posix_ttyname_variation6.phpt b/ext/posix/tests/posix_ttyname_variation6.phpt
new file mode 100644
index 0000000..020aef1
--- /dev/null
+++ b/ext/posix/tests/posix_ttyname_variation6.phpt
@@ -0,0 +1,51 @@
+--TEST--
+Test function posix_ttyname() by substituting argument 1 with object values.
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with object values ***\n";
+
+
+
+function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
+        if (error_reporting() != 0) {
+                // report non-silenced errors
+                echo "Error: $err_no - $err_msg, $filename($linenum)\n";
+        }
+}
+set_error_handler('test_error_handler');
+
+
+
+class classWithToString
+{
+        public function __toString() {
+                return "Class A object";
+        }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+  'instance of classWithToString' => new classWithToString(),
+  'instance of classWithoutToString' => new classWithoutToString(),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_ttyname( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with object values ***
+Error: 8 - Object of class classWithToString could not be converted to int, %s(%d)
+bool(false)
+Error: 8 - Object of class classWithoutToString could not be converted to int, %s(%d)
+bool(false)
diff --git a/ext/posix/tests/posix_ttyname_variation7.phpt b/ext/posix/tests/posix_ttyname_variation7.phpt
new file mode 100644
index 0000000..b39916c
--- /dev/null
+++ b/ext/posix/tests/posix_ttyname_variation7.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Test function posix_ttyname() by substituting argument 1 with string values.
+--CREDITS--
+Marco Fabbri mrfabbri at gmail.com
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with string values ***\n";
+
+
+
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'string DQ' => "string",
+  'string SQ' => 'string',
+  'mixed case string' => "sTrInG",
+  'heredoc' => $heredoc,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(posix_ttyname( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with string values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/pspell/config.m4 b/ext/pspell/config.m4
index 85d0d3b..2c36060 100644
--- a/ext/pspell/config.m4
+++ b/ext/pspell/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.12 2005/05/29 23:16:43 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl
 
 PHP_ARG_WITH(pspell,for PSPELL support,
diff --git a/ext/pspell/config.w32 b/ext/pspell/config.w32
index 2be33e7..59d27bb 100644
--- a/ext/pspell/config.w32
+++ b/ext/pspell/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2 2004/01/07 20:06:30 wez Exp $
+// $Id: config.w32 148090 2004-01-07 20:06:32Z wez $
 // vim:ft=javascript
 
 ARG_WITH("pspell", "pspell/aspell (whatever it's called this month) support", "no");
diff --git a/ext/pspell/php_pspell.h b/ext/pspell/php_pspell.h
index e8a5084..39bcd2f 100644
--- a/ext/pspell/php_pspell.h
+++ b/ext/pspell/php_pspell.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pspell.h,v 1.15.2.1.2.5 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_pspell.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef _PSPELL_H
 #define _PSPELL_H
diff --git a/ext/pspell/pspell.c b/ext/pspell/pspell.c
index 26bd468..d511c2b 100644
--- a/ext/pspell/pspell.c
+++ b/ext/pspell/pspell.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: pspell.c,v 1.45.2.4.2.10 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: pspell.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define IS_EXT_MODULE
 
diff --git a/ext/pspell/tests/001.phpt b/ext/pspell/tests/001.phpt
index 7c6b4d5..5d73a43 100644
--- a/ext/pspell/tests/001.phpt
+++ b/ext/pspell/tests/001.phpt
@@ -8,7 +8,7 @@ if (!@pspell_new ("en", "", "", "", (PSPELL_FAST|PSPELL_RUN_TOGETHER))) {
 }
 ?>
 --FILE--
-<?php // $Id: 001.phpt,v 1.1.2.1 2006/06/28 14:36:23 nlopess Exp $
+<?php // $Id: 001.phpt 215479 2006-06-28 14:36:23Z nlopess $
 
 error_reporting(E_ALL);
 $string = "";
diff --git a/ext/readline/config.m4 b/ext/readline/config.m4
index 224be20..00875c0 100644
--- a/ext/readline/config.m4
+++ b/ext/readline/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.25.2.3.2.1 2009/05/14 13:43:52 jani Exp $
+dnl $Id: config.m4 286797 2009-08-04 11:20:49Z jani $
 dnl
 
 PHP_ARG_WITH(libedit,for libedit readline replacement, 
@@ -8,6 +8,9 @@ PHP_ARG_WITH(libedit,for libedit readline replacement,
 if test "$PHP_LIBEDIT" = "no"; then
   PHP_ARG_WITH(readline,for readline support,
   [  --with-readline[=DIR]   Include readline support (CLI/CGI only)])
+else
+  dnl "register" the --with-readline option to preven invalid "unknown configure option" warning
+  php_with_readline=no
 fi
 
 if test "$PHP_READLINE" && test "$PHP_READLINE" != "no"; then
@@ -43,6 +46,13 @@ if test "$PHP_READLINE" && test "$PHP_READLINE" != "no"; then
     -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
   ])
 
+  PHP_CHECK_LIBRARY(readline, rl_pending_input,
+  [], [
+    AC_MSG_ERROR([invalid readline installation detected. Try --with-libedit instead.])
+  ], [
+    -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
+  ])
+
   PHP_CHECK_LIBRARY(readline, rl_callback_read_char,
   [
     AC_DEFINE(HAVE_RL_CALLBACK_READ_CHAR, 1, [ ])
diff --git a/ext/readline/php_readline.h b/ext/readline/php_readline.h
index 63ec5fb..7067cf8 100644
--- a/ext/readline/php_readline.h
+++ b/ext/readline/php_readline.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_readline.h,v 1.17.2.1.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_readline.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_READLINE_H
 #define PHP_READLINE_H
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index 3b67495..3e1e3de 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: readline.c,v 1.42.2.3.2.9 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: readline.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* {{{ includes & prototypes */
 
diff --git a/ext/recode/config.m4 b/ext/recode/config.m4
index f4ef315..d68ddca 100644
--- a/ext/recode/config.m4
+++ b/ext/recode/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.13 2005/05/29 23:16:44 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl
 
 PHP_ARG_WITH(recode,for recode support,
diff --git a/ext/recode/config9.m4 b/ext/recode/config9.m4
index 1595f4f..495ce6d 100644
--- a/ext/recode/config9.m4
+++ b/ext/recode/config9.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config9.m4,v 1.2 2004/11/09 16:11:13 jorton Exp $
+dnl $Id: config9.m4 172344 2004-11-09 16:11:13Z jorton $
 dnl
 
 dnl Check for extensions with which Recode can not work
diff --git a/ext/recode/php_recode.h b/ext/recode/php_recode.h
index bfc95c6..60bfd04 100644
--- a/ext/recode/php_recode.h
+++ b/ext/recode/php_recode.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_recode.h,v 1.17.2.1.2.3 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: php_recode.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_RECODE_H
 #define PHP_RECODE_H
diff --git a/ext/recode/recode.c b/ext/recode/recode.c
index 14d53f0..3ec9881 100644
--- a/ext/recode/recode.c
+++ b/ext/recode/recode.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: recode.c,v 1.37.2.1.2.5 2008/12/31 11:17:42 sebastian Exp $ */
+/* $Id: recode.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* {{{ includes & prototypes */
 
@@ -122,7 +122,7 @@ PHP_MINFO_FUNCTION(recode)
 {
 	php_info_print_table_start();
 	php_info_print_table_row(2, "Recode Support", "enabled");
-	php_info_print_table_row(2, "Revision", "$Revision: 1.37.2.1.2.5 $");
+	php_info_print_table_row(2, "Revision", "$Revision: 272374 $");
 	php_info_print_table_end();
 }
 
diff --git a/ext/reflection/config.m4 b/ext/reflection/config.m4
index 23a3048..bcd7fe6 100755
--- a/ext/reflection/config.m4
+++ b/ext/reflection/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.4.2.3.2.1 2006/08/23 09:47:21 tony2001 Exp $
+dnl $Id: config.m4 218722 2006-08-23 09:47:21Z tony2001 $
 dnl config.m4 for extension reflection
 
 PHP_ARG_ENABLE(reflection, whether to enable reflection support,
diff --git a/ext/reflection/config.w32 b/ext/reflection/config.w32
index 04f101f..0fa9951 100755
--- a/ext/reflection/config.w32
+++ b/ext/reflection/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2.2.2.2.1 2006/09/02 19:13:23 johannes Exp $
+// $Id: config.w32 219270 2006-09-02 19:13:23Z johannes $
 // vim:ft=javascript
 
 ARG_ENABLE("reflection", "disable reflection support", "yes");
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index 4fd185e..7299120 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_reflection.c,v 1.164.2.33.2.57 2009/05/21 16:05:11 lbarnaud Exp $ */
+/* $Id: php_reflection.c 287991 2009-09-03 14:02:51Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -481,23 +481,25 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in
 		string_init(&dyn);
 		count = 0;
 
-		zend_hash_internal_pointer_reset_ex(properties, &pos);
+		if (properties && zend_hash_num_elements(properties)) {
+			zend_hash_internal_pointer_reset_ex(properties, &pos);
 
-		while (zend_hash_get_current_data_ex(properties, (void **) &prop, &pos) == SUCCESS) {
-			char  *prop_name;
-			uint  prop_name_size;
-			ulong index;
+			while (zend_hash_get_current_data_ex(properties, (void **) &prop, &pos) == SUCCESS) {
+				char  *prop_name;
+				uint  prop_name_size;
+				ulong index;
 
-			if (zend_hash_get_current_key_ex(properties, &prop_name, &prop_name_size, &index, 1, &pos) == HASH_KEY_IS_STRING) {
-				if (prop_name_size && prop_name[0]) { /* skip all private and protected properties */
-					if (!zend_hash_quick_exists(&ce->properties_info, prop_name, prop_name_size, zend_get_hash_value(prop_name, prop_name_size))) {
+				if (zend_hash_get_current_key_ex(properties, &prop_name, &prop_name_size, &index, 1, &pos) == HASH_KEY_IS_STRING) {
+					if (prop_name_size && prop_name[0]) { /* skip all private and protected properties */
+						if (!zend_hash_quick_exists(&ce->properties_info, prop_name, prop_name_size, zend_get_hash_value(prop_name, prop_name_size))) {
 						count++;
-						_property_string(&dyn, NULL, prop_name, sub_indent.string TSRMLS_CC);	
+							_property_string(&dyn, NULL, prop_name, sub_indent.string TSRMLS_CC);	
+						}
 					}
+					efree(prop_name);
 				}
-				efree(prop_name);
+				zend_hash_move_forward_ex(properties, &pos);
 			}
-			zend_hash_move_forward_ex(properties, &pos);
 		}
 
 		string_printf(str, "\n%s  - Dynamic properties [%d] {\n", indent, count);
@@ -2420,11 +2422,11 @@ ZEND_METHOD(reflection_method, invokeArgs)
 		(mptr->common.fn_flags & ZEND_ACC_ABSTRACT)) {
 		if (mptr->common.fn_flags & ZEND_ACC_ABSTRACT) {
 			zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
-				"Trying to invoke abstract method %s::%s", 
+				"Trying to invoke abstract method %s::%s()", 
 				mptr->common.scope->name, mptr->common.function_name);
 		} else {
 			zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
-				"Trying to invoke %s method %s::%s from scope %s", 
+				"Trying to invoke %s method %s::%s() from scope %s", 
 				mptr->common.fn_flags & ZEND_ACC_PROTECTED ? "protected" : "private",
 				mptr->common.scope->name, mptr->common.function_name,
 				Z_OBJCE_P(getThis())->name);
@@ -2451,7 +2453,7 @@ ZEND_METHOD(reflection_method, invokeArgs)
 		if (!object) {
 			efree(params);
 			zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
-				"Trying to invoke non static method %s::%s without an object", 
+				"Trying to invoke non static method %s::%s() without an object", 
 				mptr->common.scope->name, mptr->common.function_name);
 			return;
 		}
@@ -2723,12 +2725,20 @@ ZEND_METHOD(reflection_class, getStaticProperties)
 
 		if (zend_hash_get_current_key_ex(CE_STATIC_MEMBERS(ce), &key, &key_len, &num_index, 0, &pos) != FAILURE && key) {
 			char *prop_name, *class_name;
+			zval *prop_copy;
 
 			zend_unmangle_property_name(key, key_len-1, &class_name, &prop_name);
 
-			zval_add_ref(value);
+			/* filter privates from base classes */
+			if (!(class_name && class_name[0] != '*' && strcmp(class_name, ce->name))) {
+				/* copy: enforce read only access */
+				ALLOC_ZVAL(prop_copy);
+				*prop_copy = **value;
+				zval_copy_ctor(prop_copy);
+				INIT_PZVAL(prop_copy);
 
-			zend_hash_update(Z_ARRVAL_P(return_value), prop_name, strlen(prop_name)+1, value, sizeof(zval *), NULL);
+				add_assoc_zval(return_value, prop_name, prop_copy);
+			}
 		}
 		zend_hash_move_forward_ex(CE_STATIC_MEMBERS(ce), &pos);
 	}
@@ -4952,7 +4962,7 @@ PHP_MINFO_FUNCTION(reflection) /* {{{ */
 	php_info_print_table_start();
 	php_info_print_table_header(2, "Reflection", "enabled");
 
-	php_info_print_table_row(2, "Version", "$Id: php_reflection.c,v 1.164.2.33.2.57 2009/05/21 16:05:11 lbarnaud Exp $");
+	php_info_print_table_row(2, "Version", "$Id: php_reflection.c 287991 2009-09-03 14:02:51Z sebastian $");
 
 	php_info_print_table_end();
 } /* }}} */
diff --git a/ext/reflection/php_reflection.h b/ext/reflection/php_reflection.h
index 147054b..8e08d43 100644
--- a/ext/reflection/php_reflection.h
+++ b/ext/reflection/php_reflection.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_reflection.h,v 1.4.2.3.2.4 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_reflection.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_REFLECTION_H
 #define PHP_REFLECTION_H
diff --git a/ext/reflection/tests/ReflectionClass_CannotClone_basic.phpt b/ext/reflection/tests/ReflectionClass_CannotClone_basic.phpt
new file mode 100644
index 0000000..6b440cf
--- /dev/null
+++ b/ext/reflection/tests/ReflectionClass_CannotClone_basic.phpt
@@ -0,0 +1,15 @@
+--TEST--
+Reflection class can not be cloned
+--CREDITS--
+Stefan Koopmanschap <stefan at phpgg.nl>
+TestFest PHP|Tek
+--SKIPIF--
+<?php
+if (!extension_loaded('reflection)) print 'skip';
+?>
+--FILE-- 
+<?php
+$rc = new ReflectionClass("stdClass");
+$rc2 = clone($rc);
+--EXPECTF--
+Fatal error: Trying to clone an uncloneable object of class ReflectionClass in %s on line %d
diff --git a/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt b/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt
index 3bf8f77..e19db81 100644
--- a/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt
+++ b/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt
@@ -109,13 +109,12 @@ Array
 (
     [statPubC] => stat pubC in B
     [statProtC] => stat protC in B
-    [statPrivC] => stat privC in A
+    [statPrivC] => stat privC in B
     [statPubB] => stat pubB in B
     [statProtB] => stat protB in B
     [statPrivB] => stat privB in B
     [statPubA] => stat pubA in A
     [statProtA] => stat protA in A
-    [statPrivA] => stat privA in A
 )
 
 
@@ -146,13 +145,11 @@ Array
 (
     [statPubC] => stat pubC in C
     [statProtC] => stat protC in C
-    [statPrivC] => stat privC in A
+    [statPrivC] => stat privC in C
     [statPubB] => stat pubB in B
     [statProtB] => stat protB in B
-    [statPrivB] => stat privB in B
     [statPubA] => stat pubA in A
     [statProtA] => stat protA in A
-    [statPrivA] => stat privA in A
 )
 
 
@@ -195,4 +192,3 @@ Array
     [protC] => protC in X
     [privC] => privC in X
 )
-
diff --git a/ext/reflection/tests/ReflectionClass_setStaticPropertyValue_001.phpt b/ext/reflection/tests/ReflectionClass_setStaticPropertyValue_001.phpt
index 70a3bab..082ef67 100644
--- a/ext/reflection/tests/ReflectionClass_setStaticPropertyValue_001.phpt
+++ b/ext/reflection/tests/ReflectionClass_setStaticPropertyValue_001.phpt
@@ -67,11 +67,11 @@ Array
 )
 Array
 (
-    [privateOverridden] => new value 4
+    [privateOverridden] => new value 5
     [protectedOverridden] => new value 6
     [publicOverridden] => new value 7
 )
 
 Set non-existent values from A with no default value:
 Class A does not have a property named protectedOverridden
-Class A does not have a property named privateOverridden
\ No newline at end of file
+Class A does not have a property named privateOverridden
diff --git a/ext/reflection/tests/ReflectionFunction_isDeprecated_basic.phpt b/ext/reflection/tests/ReflectionFunction_isDeprecated_basic.phpt
new file mode 100644
index 0000000..31d37a8
--- /dev/null
+++ b/ext/reflection/tests/ReflectionFunction_isDeprecated_basic.phpt
@@ -0,0 +1,15 @@
+--TEST--
+ReflectionFunction::isDeprecated
+--CREDITS--
+Stefan Koopmanschap <stefan at phpgg.nl>
+TestFest PHP|Tek
+--SKIPIF--
+<?php
+if (!extension_loaded('reflection') || !defined('PHP_VERSION_ID') || PHP_VERSION_ID < 50300) print 'skip';
+?>
+--FILE-- 
+<?php
+$rc = new ReflectionFunction('ereg');
+echo var_dump($rc->isDeprecated());
+--EXPECTF--
+bool(true)
diff --git a/ext/reflection/tests/ReflectionFunction_isDisabled_basic.phpt b/ext/reflection/tests/ReflectionFunction_isDisabled_basic.phpt
new file mode 100644
index 0000000..c71b96b
--- /dev/null
+++ b/ext/reflection/tests/ReflectionFunction_isDisabled_basic.phpt
@@ -0,0 +1,17 @@
+--TEST--
+ReflectionFunction::isDisabled
+--CREDITS--
+Stefan Koopmanschap <stefan at phpgg.nl>
+TestFest PHP|Tek
+--SKIPIF--
+<?php
+if (!extension_loaded('reflection')) print 'skip';
+?>
+--INI--
+disable_functions=is_file
+--FILE-- 
+<?php
+$rc = new ReflectionFunction('is_file');
+echo var_dump($rc->isDisabled());
+--EXPECTF--
+bool(true)
diff --git a/ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt b/ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt
index 834f35d..f39dd46 100644
--- a/ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt
+++ b/ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt
@@ -111,9 +111,9 @@ NULL
 NULL
 
 Private method:
-string(84) "Trying to invoke private method TestClass::privateMethod from scope ReflectionMethod"
+string(86) "Trying to invoke private method TestClass::privateMethod() from scope ReflectionMethod"
 
 Abstract method:
-string(51) "Trying to invoke abstract method AbstractClass::foo"
+string(53) "Trying to invoke abstract method AbstractClass::foo()"
 
 Warning: ReflectionMethod::invokeArgs() expects exactly 2 parameters, 1 given in %s on line %d
diff --git a/ext/reflection/tests/bug46064.phpt b/ext/reflection/tests/bug46064.phpt
index 58b732f..da248f8 100644
--- a/ext/reflection/tests/bug46064.phpt
+++ b/ext/reflection/tests/bug46064.phpt
@@ -45,8 +45,9 @@ class bar extends test {
 new bar;
 
 ?>
+===DONE===
 --EXPECTF--
-object(ReflectionProperty)#2 (2) {
+object(ReflectionProperty)#%d (2) {
   ["name"]=>
   string(1) "z"
   ["class"]=>
@@ -63,7 +64,7 @@ array(1) {
 int(1000)
 ---------------------------
 string(30) "Property x::$zz does not exist"
-object(ReflectionProperty)#3 (2) {
+object(ReflectionProperty)#%d (2) {
   ["name"]=>
   string(3) "zzz"
   ["class"]=>
@@ -72,3 +73,4 @@ object(ReflectionProperty)#3 (2) {
 int(2)
 bool(false)
 bool(true)
+===DONE===
\ No newline at end of file
diff --git a/ext/reflection/tests/bug46064_2.phpt b/ext/reflection/tests/bug46064_2.phpt
index 832d13c..da14148 100644
--- a/ext/reflection/tests/bug46064_2.phpt
+++ b/ext/reflection/tests/bug46064_2.phpt
@@ -36,14 +36,15 @@ class test extends bar {
 new test;
 
 ?>
---EXPECT--
-object(ReflectionProperty)#3 (2) {
+===DONE===
+--EXPECTF--
+object(ReflectionProperty)#%d (2) {
   ["name"]=>
   string(4) "test"
   ["class"]=>
   string(3) "foo"
 }
-object(ReflectionProperty)#5 (2) {
+object(ReflectionProperty)#%d (2) {
   ["name"]=>
   string(1) "a"
   ["class"]=>
@@ -56,17 +57,18 @@ bool(true)
 bool(false)
 array(2) {
   [0]=>
-  &object(ReflectionProperty)#6 (2) {
+  &object(ReflectionProperty)#%d (2) {
     ["name"]=>
     string(1) "b"
     ["class"]=>
     string(4) "test"
   }
   [1]=>
-  &object(ReflectionProperty)#7 (2) {
+  &object(ReflectionProperty)#%d (2) {
     ["name"]=>
     string(1) "a"
     ["class"]=>
     string(4) "test"
   }
 }
+===DONE===
\ No newline at end of file
diff --git a/ext/reflection/tests/bug47254.phpt b/ext/reflection/tests/bug47254.phpt
new file mode 100644
index 0000000..4bcce1b
--- /dev/null
+++ b/ext/reflection/tests/bug47254.phpt
@@ -0,0 +1,42 @@
+--TEST--
+Bug #47254
+--CREDITS--
+Sebastian Schürmann
+sebs at php.net
+Testfest 2009 Munich
+--FILE--
+<?php
+class A
+{
+	protected function a() {}
+	
+}
+
+class B extends A
+{
+	public function b() {}
+}
+
+$B = new B();
+$R = new ReflectionObject($B);
+$m = $R->getMethods();
+print_r($m);
+
+?>
+--CLEAN--
+--EXPECT--
+Array
+(
+    [0] => ReflectionMethod Object
+        (
+            [name] => b
+            [class] => B
+        )
+
+    [1] => ReflectionMethod Object
+        (
+            [name] => a
+            [class] => A
+        )
+
+)
diff --git a/ext/reflection/tests/bug49074.phpt b/ext/reflection/tests/bug49074.phpt
new file mode 100644
index 0000000..7ce23b4
--- /dev/null
+++ b/ext/reflection/tests/bug49074.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Bug #49074 (private class static fields can be modified by using reflection)
+--FILE--
+<?php
+class Test {
+	private static $data1 = 1;
+	private static $data4 = 4;
+}
+
+class Test2 extends Test {
+	private static $data2 = 2;
+	public static $data3 = 3;
+}
+
+$r = new ReflectionClass('Test2');
+$m = $r->getStaticProperties();
+
+$m['data1'] = 100;
+$m['data2'] = 200;
+$m['data3'] = 300;
+$m['data4'] = 400;
+
+var_dump($r->getStaticProperties());
+?>
+--EXPECT--
+array(2) {
+  ["data2"]=>
+  int(2)
+  ["data3"]=>
+  int(3)
+}
diff --git a/ext/session/config.m4 b/ext/session/config.m4
index 7286a6b..8a0d4c0 100644
--- a/ext/session/config.m4
+++ b/ext/session/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.28 2005/05/29 23:16:44 sniper Exp $
+dnl $Id: config.m4 286445 2009-07-28 08:59:08Z tony2001 $
 dnl
 
 PHP_ARG_ENABLE(session, whether to enable PHP sessions,
@@ -12,6 +12,7 @@ if test "$PHP_SESSION" != "no"; then
   PHP_PWRITE_TEST
   PHP_PREAD_TEST
   PHP_NEW_EXTENSION(session, session.c mod_files.c mod_mm.c mod_user.c, $ext_shared)
+  PHP_ADD_EXTENSION_DEP(session, hash, true)
   PHP_SUBST(SESSION_SHARED_LIBADD)
   PHP_INSTALL_HEADERS(ext/session, [php_session.h mod_files.h mod_user.h])
   AC_DEFINE(HAVE_PHP_SESSION,1,[ ])
diff --git a/ext/session/config.w32 b/ext/session/config.w32
index 4d5dcd3..353ff73 100644
--- a/ext/session/config.w32
+++ b/ext/session/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/02 23:16:56 wez Exp $
+// $Id: config.w32 145409 2003-12-02 23:17:04Z wez $
 // vim:ft=javascript
 
 ARG_ENABLE("session", "session support", "yes");
diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c
index 173fdcc..1480644 100644
--- a/ext/session/mod_files.c
+++ b/ext/session/mod_files.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mod_files.c,v 1.100.2.3.2.15 2009/05/26 10:15:08 jani Exp $ */
+/* $Id: mod_files.c 281158 2009-05-26 10:15:08Z jani $ */
 
 #include "php.h"
 
diff --git a/ext/session/mod_files.h b/ext/session/mod_files.h
index 5f3a7db..9557bfd 100644
--- a/ext/session/mod_files.h
+++ b/ext/session/mod_files.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mod_files.h,v 1.11.2.1.2.3 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: mod_files.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef MOD_FILES_H
 #define MOD_FILES_H
diff --git a/ext/session/mod_mm.c b/ext/session/mod_mm.c
index 36da40b..1e68700 100644
--- a/ext/session/mod_mm.c
+++ b/ext/session/mod_mm.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mod_mm.c,v 1.46.2.1.2.8 2009/05/18 17:23:42 jani Exp $ */
+/* $Id: mod_mm.c 280733 2009-05-18 17:23:42Z jani $ */
 
 #include "php.h"
 
diff --git a/ext/session/mod_mm.h b/ext/session/mod_mm.h
index 04e998b..22e102b 100644
--- a/ext/session/mod_mm.h
+++ b/ext/session/mod_mm.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mod_mm.h,v 1.12.2.1.2.3 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: mod_mm.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef MOD_MM_H
 #define MOD_MM_H
diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c
index 36bb70c..ab4d404 100644
--- a/ext/session/mod_user.c
+++ b/ext/session/mod_user.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mod_user.c,v 1.29.2.1.2.4 2009/05/18 17:23:42 jani Exp $ */
+/* $Id: mod_user.c 280733 2009-05-18 17:23:42Z jani $ */
 
 #include "php.h"
 #include "php_session.h"
diff --git a/ext/session/mod_user.h b/ext/session/mod_user.h
index e04d3f5..4371053 100644
--- a/ext/session/mod_user.h
+++ b/ext/session/mod_user.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mod_user.h,v 1.14.2.1.2.3 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: mod_user.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef MOD_USER_H
 #define MOD_USER_H
diff --git a/ext/session/php_session.h b/ext/session/php_session.h
index 5224f9e..ba06f91 100644
--- a/ext/session/php_session.h
+++ b/ext/session/php_session.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_session.h,v 1.101.2.2.2.9 2009/05/18 17:23:42 jani Exp $ */
+/* $Id: php_session.h 280733 2009-05-18 17:23:42Z jani $ */
 
 #ifndef PHP_SESSION_H
 #define PHP_SESSION_H
diff --git a/ext/session/session.c b/ext/session/session.c
index 1c9608b..d1279b0 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: session.c,v 1.417.2.8.2.48 2009/05/18 17:23:42 jani Exp $ */
+/* $Id: session.c 286443 2009-07-28 08:54:23Z tony2001 $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -2107,8 +2107,16 @@ static PHP_MINFO_FUNCTION(session) /* {{{ */
 }
 /* }}} */
 
+static const zend_module_dep session_deps[] = { /* {{{ */
+	ZEND_MOD_OPTIONAL("hash")
+	{NULL, NULL, NULL}
+};
+/* }}} */
+
 zend_module_entry session_module_entry = {
-	STANDARD_MODULE_HEADER,
+	STANDARD_MODULE_HEADER_EX,
+	NULL,
+	session_deps,
 	"session",
 	session_functions,
 	PHP_MINIT(session), PHP_MSHUTDOWN(session),
diff --git a/ext/session/tests/022.phpt b/ext/session/tests/022.phpt
new file mode 100644
index 0000000..5923bbe
--- /dev/null
+++ b/ext/session/tests/022.phpt
@@ -0,0 +1,32 @@
+--TEST--
+session object serialization
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--INI--
+session.use_cookies=0
+session.cache_limiter=
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+error_reporting(E_ALL);
+
+class foo {
+	public $bar = "ok";
+
+	function method() { $this->yes = "done"; }
+}
+
+$baz = new foo;
+$baz->method();
+
+$arr[3] = new foo;
+$arr[3]->method();
+session_start();
+$_SESSION["baz"] = $baz;
+$_SESSION["arr"] = $arr;
+var_dump(session_encode());
+session_destroy();
+?>
+--EXPECT--
+string(126) "baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";s:4:"done";}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";s:4:"done";}}"
diff --git a/ext/session/tests/bug36459.phpt b/ext/session/tests/bug36459.phpt
index 0a2f95e..1488fb4 100644
--- a/ext/session/tests/bug36459.phpt
+++ b/ext/session/tests/bug36459.phpt
@@ -14,18 +14,18 @@ session_start();
 
 # Do not remove \r from this tests, they are essential!
 ?>
-<html>
-  <head>
-    <title>Bug #36459 Incorrect adding PHPSESSID to links, which contains \r\n</title>
-  </head>
-  <body>
-    <p>See source html code</p>
-    <a href="/b2w/www/ru/adm/pages/?action=prev&rec_id=8&pid=2"
-       style="font: normal 11pt Times New Roman">incorrect link</a><br />
-    <br />
-    <a href="/b2w/www/ru/adm/pages/?action=prev&rec_id=8&pid=2" style="font: normal 11pt Times New Roman">correct link</a>
-  </body>
-</html>
+<html>
+  <head>
+    <title>Bug #36459 Incorrect adding PHPSESSID to links, which contains \r\n</title>
+  </head>
+  <body>
+    <p>See source html code</p>
+    <a href="/b2w/www/ru/adm/pages/?action=prev&rec_id=8&pid=2"
+       style="font: normal 11pt Times New Roman">incorrect link</a><br />
+    <br />
+    <a href="/b2w/www/ru/adm/pages/?action=prev&rec_id=8&pid=2" style="font: normal 11pt Times New Roman">correct link</a>
+  </body>
+</html>
 --EXPECTF--
 <html>
   <head>
diff --git a/ext/shmop/config.m4 b/ext/shmop/config.m4
index ae80c3d..ec3251e 100644
--- a/ext/shmop/config.m4
+++ b/ext/shmop/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.5 2002/03/12 16:35:09 sas Exp $
+dnl $Id: config.m4 72968 2002-03-12 16:44:00Z sas $
 PHP_ARG_ENABLE(shmop, whether to enable shmop support, 
 [  --enable-shmop          Enable shmop support])
 
diff --git a/ext/shmop/config.w32 b/ext/shmop/config.w32
index 589e9a6..91628cb 100644
--- a/ext/shmop/config.w32
+++ b/ext/shmop/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/03 00:32:19 iliaa Exp $
+// $Id: config.w32 145417 2003-12-03 00:32:19Z iliaa $
 // vim:ft=javascript
 
 ARG_ENABLE("shmop", "shmop support", "no");
diff --git a/ext/shmop/shmop.c b/ext/shmop/shmop.c
index a2c18a9..a11716d 100644
--- a/ext/shmop/shmop.c
+++ b/ext/shmop/shmop.c
@@ -16,7 +16,7 @@
    |          Ilia Alshanetsky <ilia at prohost.org>                         |
    +----------------------------------------------------------------------+
  */
-/* $Id: shmop.c,v 1.31.2.2.2.7 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: shmop.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/simplexml/config.m4 b/ext/simplexml/config.m4
index a8f35b9..d854b2d 100644
--- a/ext/simplexml/config.m4
+++ b/ext/simplexml/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.9.2.1 2005/10/01 15:41:37 helly Exp $
+dnl $Id: config.m4 197295 2005-10-01 15:41:37Z helly $
 dnl config.m4 for extension simplexml
 
 PHP_ARG_ENABLE(simplexml, whether to enable SimpleXML support,
diff --git a/ext/simplexml/config.w32 b/ext/simplexml/config.w32
index 6a16700..3fb62bd 100644
--- a/ext/simplexml/config.w32
+++ b/ext/simplexml/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.4 2004/01/08 21:53:48 wez Exp $
+// $Id: config.w32 148279 2004-01-08 21:53:48Z wez $
 // vim:ft=javascript
 
 ARG_WITH("simplexml", "Simple XML support", "yes");
diff --git a/ext/simplexml/php_simplexml.h b/ext/simplexml/php_simplexml.h
index a988b78..4ce26b6 100644
--- a/ext/simplexml/php_simplexml.h
+++ b/ext/simplexml/php_simplexml.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_simplexml.h,v 1.20.2.2.2.5 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_simplexml.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SIMPLEXML_H
 #define PHP_SIMPLEXML_H
diff --git a/ext/simplexml/php_simplexml_exports.h b/ext/simplexml/php_simplexml_exports.h
index 8743c3e..44056b4 100755
--- a/ext/simplexml/php_simplexml_exports.h
+++ b/ext/simplexml/php_simplexml_exports.h
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_simplexml_exports.h,v 1.3.2.3.2.3 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_simplexml_exports.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SIMPLEXML_EXPORTS_H
 #define PHP_SIMPLEXML_EXPORTS_H
diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c
index 489f37e..e7de5d1 100644
--- a/ext/simplexml/simplexml.c
+++ b/ext/simplexml/simplexml.c
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: simplexml.c,v 1.151.2.22.2.46 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: simplexml.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -2450,7 +2450,7 @@ PHP_MINFO_FUNCTION(simplexml)
 {
 	php_info_print_table_start();
 	php_info_print_table_header(2, "Simplexml support", "enabled");
-	php_info_print_table_row(2, "Revision", "$Revision: 1.151.2.22.2.46 $");
+	php_info_print_table_row(2, "Revision", "$Revision: 272374 $");
 	php_info_print_table_row(2, "Schema support",
 #ifdef LIBXML_SCHEMAS_ENABLED
 		"enabled");
diff --git a/ext/simplexml/tests/020.phpt b/ext/simplexml/tests/020.phpt
index b43d034..9e91b5a 100755
--- a/ext/simplexml/tests/020.phpt
+++ b/ext/simplexml/tests/020.phpt
@@ -1,21 +1,21 @@
---TEST--
-SimpleXML: Attribute compared to string
+--TEST--
+SimpleXML: Attribute compared to string
 --SKIPIF--
-<?php if (!extension_loaded("simplexml")) print "skip"; ?> 
---FILE--
-<?php
-
-$doc = simplexml_load_string('<root><name attr="foo">bar</name></root>');
-print $doc->name["attr"];
-print "\n";
-if ($doc->name["attr"] == "foo") {
-         print "Works\n";
-} else {
-         print "Error\n";
-}
-?>
-===DONE===
---EXPECT--
-foo
-Works
-===DONE===
+<?php if (!extension_loaded("simplexml")) print "skip"; ?> 
+--FILE--
+<?php
+
+$doc = simplexml_load_string('<root><name attr="foo">bar</name></root>');
+print $doc->name["attr"];
+print "\n";
+if ($doc->name["attr"] == "foo") {
+         print "Works\n";
+} else {
+         print "Error\n";
+}
+?>
+===DONE===
+--EXPECT--
+foo
+Works
+===DONE===
diff --git a/ext/simplexml/tests/SimpleXMLElement_addAttribute_required_attribute_name.phpt b/ext/simplexml/tests/SimpleXMLElement_addAttribute_required_attribute_name.phpt
new file mode 100644
index 0000000..22ea448
--- /dev/null
+++ b/ext/simplexml/tests/SimpleXMLElement_addAttribute_required_attribute_name.phpt
@@ -0,0 +1,18 @@
+--TEST--
+SimpleXMLElement: Test to ensure that the required attribute name correctly is giving a warning
+--CREDITS--
+Havard Eide <nucleuz at gmail.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) { echo "skip extension not available"; } ?>
+--FILE--
+<?php
+$a = new SimpleXMLElement("<php>testfest</php>");
+$a->addAttribute( "", "" );
+echo $a->asXML();
+?>
+--EXPECTF--
+Warning: SimpleXMLElement::addAttribute(): Attribute name is required in %s on line %d
+<?xml version="1.0"?>
+<php>testfest</php>
+
diff --git a/ext/simplexml/tests/bug36611.phpt b/ext/simplexml/tests/bug36611.phpt
index 835e926..c34c613 100644
--- a/ext/simplexml/tests/bug36611.phpt
+++ b/ext/simplexml/tests/bug36611.phpt
@@ -19,12 +19,12 @@ $xml = simplexml_load_string ($xml_str) ;
 $val = 1;
 
 var_dump($val);
-$obj->pos["act_idx"] = $val;
+$xml->pos["act_idx"] = $val;
 var_dump($val) ;
 
-echo "Done\n";
 ?>
+===DONE===
 --EXPECT--	
 int(1)
 int(1)
-Done
+===DONE===
diff --git a/ext/simplexml/tests/bug40451.phpt b/ext/simplexml/tests/bug40451.phpt
index 1a499a7..097481f 100644
--- a/ext/simplexml/tests/bug40451.phpt
+++ b/ext/simplexml/tests/bug40451.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #40451 (addAttribute() may crash when used with non-existent child node)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 
@@ -14,9 +16,8 @@ $xml = simplexml_load_string($string);
 
 $add = $xml->addChild('Host');
 $add->Host->addAttribute('enable', 'true');
-
-echo "Done\n";
 ?>
+===DONE===
 --EXPECTF--	
 Warning: SimpleXMLElement::addAttribute(): Unable to locate parent Element in %s on line %d
-Done
+===DONE===
diff --git a/ext/simplexml/tests/bug41175.phpt b/ext/simplexml/tests/bug41175.phpt
index 51181d2..db03da9 100644
--- a/ext/simplexml/tests/bug41175.phpt
+++ b/ext/simplexml/tests/bug41175.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #41175 (addAttribute() fails to add an attribute with an empty value)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 
@@ -8,9 +10,9 @@ $xml->addAttribute("src", "foo");
 $xml->addAttribute("alt", "");
 echo $xml->asXML();
 
-echo "Done\n";
 ?>
+===DONE===
 --EXPECT--	
 <?xml version="1.0"?>
 <img src="foo" alt=""/>
-Done
\ No newline at end of file
+===DONE===
\ No newline at end of file
diff --git a/ext/simplexml/tests/bug41582.phpt b/ext/simplexml/tests/bug41582.phpt
index b689607..8733810 100644
--- a/ext/simplexml/tests/bug41582.phpt
+++ b/ext/simplexml/tests/bug41582.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #41582 (SimpleXML crashes when accessing newly created element)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 
@@ -10,9 +12,9 @@ $xml->movie[]->characters->character[0]->name = 'Miss Coder';
 
 echo($xml->asXml());
 
-echo "Done\n";
 ?>
+===DONE===
 --EXPECT--
 <?xml version="1.0" standalone="yes"?>
 <collection><movie><characters><character><name>Miss Coder</name></character></characters></movie></collection>
-Done
+===DONE===
diff --git a/ext/simplexml/tests/bug41861.phpt b/ext/simplexml/tests/bug41861.phpt
index 07622eb..2474d75 100644
--- a/ext/simplexml/tests/bug41861.phpt
+++ b/ext/simplexml/tests/bug41861.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #41861 (getNamespaces() returns the namespaces of a node's siblings)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 
@@ -28,6 +30,7 @@ foreach (array(null, '#ns1', '#ns2', '#ns3') as $ns)
 	}
 }
 ?>
+===DONE===
 --EXPECT--
 root(recursive): 'root' -- namespaces: #ns1, #ns2, #ns3
 root(non-recursive): 'root' -- namespaces: 
@@ -36,3 +39,4 @@ children(): 'last_node_no_ns' -- namespaces:
 children(#ns1): 'node1' -- namespaces: #ns1
 children(#ns2): 'node2' -- namespaces: #ns2
 children(#ns3): 'node3' -- namespaces: #ns3
+===DONE===
\ No newline at end of file
diff --git a/ext/simplexml/tests/bug41867.phpt b/ext/simplexml/tests/bug41867.phpt
index f530f95..33e2de9 100644
--- a/ext/simplexml/tests/bug41867.phpt
+++ b/ext/simplexml/tests/bug41867.phpt
@@ -1,14 +1,18 @@
 --TEST--
 Bug #41867 (getName is broken)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 
 $a = simplexml_load_string("<a><b><c/></b></a>");
 echo $a->getName()."\n";
 echo $a->b->getName()."\n";
-echo $a->b->c->getName();
+echo $a->b->c->getName()."\n";
 ?>
+===DONE===
 --EXPECT--
 a
 b
 c
+===DONE===
diff --git a/ext/simplexml/tests/bug41947.phpt b/ext/simplexml/tests/bug41947.phpt
index 7af9ff8..392eabd 100644
--- a/ext/simplexml/tests/bug41947.phpt
+++ b/ext/simplexml/tests/bug41947.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #41947 (addChild incorrectly registers empty strings as namespaces)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 $xml = simplexml_load_string('<?xml version="1.0" encoding="utf-8"?><root xmlns:myns="http://myns" />');
@@ -7,8 +9,10 @@ $grandchild = $xml->addChild('child', null, 'http://myns')->addChild('grandchild
 
 $gchild = $xml->xpath("//grandchild");
 if (count($gchild) > 0) {
-    echo $gchild[0];
+    echo $gchild[0] . "\n";
 }
 ?>
+===DONE===
 --EXPECT--
 hello
+===DONE===
diff --git a/ext/simplexml/tests/bug42369.phpt b/ext/simplexml/tests/bug42369.phpt
index e5df814..e186770 100644
--- a/ext/simplexml/tests/bug42369.phpt
+++ b/ext/simplexml/tests/bug42369.phpt
@@ -1,7 +1,7 @@
 --TEST--
 Bug #42369 (Implicit conversion to string leaks memory)
 --SKIPIF--
-<?php if (!extension_loaded('simplexml')) echo 'skip simplexml extension is not loaded'; >
+<?php if (!extension_loaded('simplexml')) echo 'skip simplexml extension is not loaded'; ?>
 --FILE--
 <?php
     $xml = '<?xml version="1.0" encoding="utf-8"?>';
@@ -17,9 +17,9 @@ Bug #42369 (Implicit conversion to string leaks memory)
         md5($x->x);
     }
 
-    echo 'done' . PHP_EOL;
 ?>
+===DONE===
 --EXPECT--
 explicit conversion
 no conversion
-done
\ No newline at end of file
+===DONE===
\ No newline at end of file
diff --git a/ext/simplexml/tests/bug43221.phpt b/ext/simplexml/tests/bug43221.phpt
index 6973d09..53b6efd 100644
--- a/ext/simplexml/tests/bug43221.phpt
+++ b/ext/simplexml/tests/bug43221.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #43221 (SimpleXML adding default namespace in addAttribute)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 $xml = simplexml_load_string('<?xml version="1.0" encoding="utf-8"?><root />');
@@ -9,7 +11,10 @@ $n->addAttribute("c", "d", "http://bar.com");
 $n->addAttribute("foo:e", "f", "http://bar.com");
 print_r($xml->asXml());
 ?>
+===DONE===
 --EXPECTF--
 Warning: SimpleXMLElement::addAttribute(): Attribute requires prefix for namespace in %sbug43221.php on line %d
 <?xml version="1.0" encoding="utf-8"?>
-<root><node xmlns:foo="http://bar.com" a="b" foo:e="f">value</node></root>
\ No newline at end of file
+<root><node xmlns:foo="http://bar.com" a="b" foo:e="f">value</node></root>
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/simplexml/tests/bug44478.phpt b/ext/simplexml/tests/bug44478.phpt
index 5c21d75..17a26f9 100644
--- a/ext/simplexml/tests/bug44478.phpt
+++ b/ext/simplexml/tests/bug44478.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #44478 (Inconsistent behaviour when assigning new nodes)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 $xml_element = new simpleXMLElement('<root></root>');
@@ -15,6 +17,7 @@ print $xml_element->node2."\n";
 print $xml_element->asXML();
 
 ?>
+===DONE===
 --EXPECTF--
 a &#38; b
 a &#38; b
@@ -22,3 +25,5 @@ a & b
 a & b
 <?xml version="1.0"?>
 <root><node1>a &amp;#38; b</node1><node2>a &amp; b</node2></root>
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/simplexml/tests/bug45553.phpt b/ext/simplexml/tests/bug45553.phpt
index 37a46f4..b355c48 100644
--- a/ext/simplexml/tests/bug45553.phpt
+++ b/ext/simplexml/tests/bug45553.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #45553 (Using XPath to return values for attributes with a namespace does not work)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 $xml =<<<XML
@@ -23,9 +25,12 @@ echo $atts[0] . "\n";
 $atts = $x->xpath("/xml/data/@label");
 echo $atts[0] . "\n";
 ?>
+===DONE===
 --EXPECTF--
 I am A
 I am a:Nothing
 I am a:A
 I am a:Nothing
-I am Nothing
\ No newline at end of file
+I am Nothing
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/simplexml/tests/bug46003.phpt b/ext/simplexml/tests/bug46003.phpt
index a10b018..712675c 100644
--- a/ext/simplexml/tests/bug46003.phpt
+++ b/ext/simplexml/tests/bug46003.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #46003 (isset on nonexisting nodes return unexpected results)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 $xml =<<<XML
@@ -21,10 +23,13 @@ var_dump(isset($x->o->zz));
 var_dump(isset($x->o->text));
 var_dump(isset($x->o->xx));
 ?>
+===DONE===
 --EXPECTF--
 bool(true)
 bool(false)
 bool(true)
 bool(false)
 bool(false)
-bool(true)
\ No newline at end of file
+bool(true)
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/simplexml/tests/bug46047.phpt b/ext/simplexml/tests/bug46047.phpt
index 37f31cd..4d8a04a 100644
--- a/ext/simplexml/tests/bug46047.phpt
+++ b/ext/simplexml/tests/bug46047.phpt
@@ -1,5 +1,7 @@
 --TEST--
 Bug #46047 (SimpleXML converts empty nodes into object with nested array)
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
 --FILE--
 <?php
 $xml = new SimpleXMLElement('<foo><bar><![CDATA[]]></bar><baz/></foo>', 
@@ -12,6 +14,7 @@ print_r($xml);
 $xml = new SimpleXMLElement('<foo><bar/><baz/></foo>');
 print_r($xml);
 ?>
+===DONE===
 --EXPECTF--
 SimpleXMLElement Object
 (
@@ -45,4 +48,5 @@ SimpleXMLElement Object
         (
         )
 
-)
\ No newline at end of file
+)
+===DONE===
\ No newline at end of file
diff --git a/ext/skeleton/create_stubs b/ext/skeleton/create_stubs
index 2a13994..f22fdae 100755
--- a/ext/skeleton/create_stubs
+++ b/ext/skeleton/create_stubs
@@ -67,7 +67,7 @@ BEGIN {
 			
 
 	xmlhead = "<?xml version='1.0' encoding='iso-8859-1'?>\n" \
-    "<!-- $Revision: 1.27 $ -->\n" \
+    "<!-- $Revision: 133620 $ -->\n" \
     " <reference id=\"ref." extname "\">\n" \
 		"  <title> functions</title>\n" \
 		"  <titleabbrev></titleabbrev>\n\n" \
diff --git a/ext/snmp/config.m4 b/ext/snmp/config.m4
index bc51ce2..5043b22 100644
--- a/ext/snmp/config.m4
+++ b/ext/snmp/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.32.2.1.2.3 2007/07/31 13:02:00 jani Exp $
+dnl $Id: config.m4 240511 2007-07-31 13:02:00Z jani $
 dnl
 
 PHP_ARG_WITH(snmp,for SNMP support,
diff --git a/ext/snmp/config.w32 b/ext/snmp/config.w32
index c0e7972..10f614a 100644
--- a/ext/snmp/config.w32
+++ b/ext/snmp/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/19 17:00:10 wez Exp $
+// $Id: config.w32 146917 2003-12-19 17:00:14Z wez $
 // vim:ft=javascript
 
 ARG_WITH("snmp", "SNMP support", "no");
diff --git a/ext/snmp/php_snmp.h b/ext/snmp/php_snmp.h
index a98af8b..fc0300e 100644
--- a/ext/snmp/php_snmp.h
+++ b/ext/snmp/php_snmp.h
@@ -20,7 +20,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_snmp.h,v 1.25.2.1.2.4 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_snmp.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SNMP_H
 #define PHP_SNMP_H
diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c
index 11f9be6..ee88bb2 100644
--- a/ext/snmp/snmp.c
+++ b/ext/snmp/snmp.c
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: snmp.c,v 1.106.2.2.2.10 2009/06/01 13:10:56 iliaa Exp $ */
+/* $Id: snmp.c 281502 2009-06-01 13:10:57Z iliaa $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/soap/TODO b/ext/soap/TODO
index 800176c..ad0b11c 100644
--- a/ext/soap/TODO
+++ b/ext/soap/TODO
@@ -1,98 +1,98 @@
-General
--------
-- make sure soapserver.map(), soap_encode_to_xml() and soap_encode_to_zval() are really need
-- reimplement SoapObject::__getfunctions() and SoapObject::__gettypes()
-  to return structures instead of strings
-- error handling???
-
-SOAP
-----
-- SOAP routing
-- root attribute (it is defined by SOAP 1.1, but not SOAP 1.2)
-- make sure soap 1.1 and 1.2 are supported fully
-
-Encoding
---------
-? full support for standard simple types (
-  ? language, (pattern: "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*")
-  ? NMTOKEN, (pattern: "\c+") (\c: [a-zA-Z0-9.\-_:])
-  ? NMTOKENS, (list: NMTOKEN, minLength: 1)
-  ? Name, (pattern: "\i\c*") (\i: [a-zA-Z_:]
-  ? NCName, (pattern: "[\i-[:]][\c-[:]]*")
-  ? ID, (base: NCName)
-  ? IDREF, (base: NCName)
-  ? IDREFS, (list: IDREF; minLength: 1)
-  ? ENTITY, (base: NCName)
-  ? ENTITIES,  (list: ENTITY; minLength: 1)
-  ? duration)
-? full support for standard date/time types (
-  ? dateTime,
-  ? time,
-  ? date,
-  ? gYearMonth,
-  ? gYear,
-  ? gMonthDay,
-  ? gDay,
-  ? gMonth)
-? full support for arrays
-  - SOAP 1.1 encoding of arrays with holes (partially transmitted and sparse arrays)
-	  SOAP 1.2 doesn't support partially transmitted and sparse arrays
-- references to external resources
-? support for "nillable" and "nil"
-? default values of <element>
-? provide schema 1999/2001 support???
-? make internal refrences for soap encoding (use seralization logic)???
-? provide user space overriding of serialization certin objects and types???
-
-WSDL
-----
-? server part support for "document" style encoding
-? support for <fault>, <soap:fault>
-? <soap:headerfault>
-- <soap:body> parts attribute (with MIME/DIME binding)
-- MIME binding
-- DIME binding
-- support for portType/operation parameterOrder attribute
-- support for binding operation input/output name attribute (part of overloading)
-- function/method overloading/redeclaration (test(int); test(string))
-- wsdl auto generation
-- HTTP GET/POST binding
-- SOAP security extension
-
-Schema
-------
-- <redefine>
-? support for user defined simple types
-  ? restiction
-	  ? enumeration
-		? length (for string, anyURI, hexBinary, base64Binary and derived) list???
-		? minLength (for string, hexBinary, base64Binary and derived) list???
-		? maxLength (for string, hexBinary, base64Binary and derived) list???
-		+ whiteSpace (preserve, replace [#x9,#xA,#xD=>#x20], collapse [replace+?])
-		- pattern
-	  - minExclusive (for numeric, date types)
-		- minInclusive (for numeric, date types)
-		- maxExclusive (for numeric, date types)
-		- maxInclusive (for numeric, date types)
-		- totalDigits (for decimal)
-		- fractionDigits (for decimal)
-	? union
-? support for user defined complex types
-  ? full support for content model encoding/decoding
-  - <any>
-  - <anyAttribute>
-
-Transport
----------
-? HTTP status codes
-? HTTP chunked Transfer-Encoding
-? support for HTTP compression (gzip,x-gzip,defalte)
-- transport abstraction layer???
-
-Interop Testing
----------------
-- more interop rounds/groups
-
-UDDI
-----
-- ???
+General
+-------
+- make sure soapserver.map(), soap_encode_to_xml() and soap_encode_to_zval() are really need
+- reimplement SoapObject::__getfunctions() and SoapObject::__gettypes()
+  to return structures instead of strings
+- error handling???
+
+SOAP
+----
+- SOAP routing
+- root attribute (it is defined by SOAP 1.1, but not SOAP 1.2)
+- make sure soap 1.1 and 1.2 are supported fully
+
+Encoding
+--------
+? full support for standard simple types (
+  ? language, (pattern: "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*")
+  ? NMTOKEN, (pattern: "\c+") (\c: [a-zA-Z0-9.\-_:])
+  ? NMTOKENS, (list: NMTOKEN, minLength: 1)
+  ? Name, (pattern: "\i\c*") (\i: [a-zA-Z_:]
+  ? NCName, (pattern: "[\i-[:]][\c-[:]]*")
+  ? ID, (base: NCName)
+  ? IDREF, (base: NCName)
+  ? IDREFS, (list: IDREF; minLength: 1)
+  ? ENTITY, (base: NCName)
+  ? ENTITIES,  (list: ENTITY; minLength: 1)
+  ? duration)
+? full support for standard date/time types (
+  ? dateTime,
+  ? time,
+  ? date,
+  ? gYearMonth,
+  ? gYear,
+  ? gMonthDay,
+  ? gDay,
+  ? gMonth)
+? full support for arrays
+  - SOAP 1.1 encoding of arrays with holes (partially transmitted and sparse arrays)
+	  SOAP 1.2 doesn't support partially transmitted and sparse arrays
+- references to external resources
+? support for "nillable" and "nil"
+? default values of <element>
+? provide schema 1999/2001 support???
+? make internal refrences for soap encoding (use seralization logic)???
+? provide user space overriding of serialization certin objects and types???
+
+WSDL
+----
+? server part support for "document" style encoding
+? support for <fault>, <soap:fault>
+? <soap:headerfault>
+- <soap:body> parts attribute (with MIME/DIME binding)
+- MIME binding
+- DIME binding
+- support for portType/operation parameterOrder attribute
+- support for binding operation input/output name attribute (part of overloading)
+- function/method overloading/redeclaration (test(int); test(string))
+- wsdl auto generation
+- HTTP GET/POST binding
+- SOAP security extension
+
+Schema
+------
+- <redefine>
+? support for user defined simple types
+  ? restiction
+	  ? enumeration
+		? length (for string, anyURI, hexBinary, base64Binary and derived) list???
+		? minLength (for string, hexBinary, base64Binary and derived) list???
+		? maxLength (for string, hexBinary, base64Binary and derived) list???
+		+ whiteSpace (preserve, replace [#x9,#xA,#xD=>#x20], collapse [replace+?])
+		- pattern
+	  - minExclusive (for numeric, date types)
+		- minInclusive (for numeric, date types)
+		- maxExclusive (for numeric, date types)
+		- maxInclusive (for numeric, date types)
+		- totalDigits (for decimal)
+		- fractionDigits (for decimal)
+	? union
+? support for user defined complex types
+  ? full support for content model encoding/decoding
+  - <any>
+  - <anyAttribute>
+
+Transport
+---------
+? HTTP status codes
+? HTTP chunked Transfer-Encoding
+? support for HTTP compression (gzip,x-gzip,defalte)
+- transport abstraction layer???
+
+Interop Testing
+---------------
+- more interop rounds/groups
+
+UDDI
+----
+- ???
diff --git a/ext/soap/TODO.old b/ext/soap/TODO.old
index cb55a35..a1cc15c 100644
--- a/ext/soap/TODO.old
+++ b/ext/soap/TODO.old
@@ -1,39 +1,39 @@
-TODO:
-make sure soap 1.1 and 1.2 is supported fully
-Better WSDL support Client and server (how much validation is needed here?)
-UDDI??
-make internal refrences for soap encoding (use seralization logic)
-add ini option for always soap_error_handler
-provide user space overriding of serialization certin objects and types
-serialization in general needs to be polished/finished... all xsd types
-make perstistant objects and work with or without register_globals on
-look to see if php-soap will work with out always_populate_raw_post_data on
-see if client will work with ssl.. should be eaiser with php_streams
-work on soap seralizer (php serialization)
--work on a soap-service 'regiestry' and 'proxy' (apache soap style)
--convert all string mainpulation to use smart_str
-make the 'soap' packet abstract.. maybe incorperate xml-rpc
-make the transport layer abstract.. what other transport layers are needed?... who uses smtp? what about jabber?
-make $soap_object->data = 'text'; maybe invoke a set_*() and/or get_*() method
-when using wsdls and function names are similar find the best match
-	void test(int);
-	void test(string);
-	maybe use the same alogrithim as ext/java.
-investigate further http keep_alive... inital testing proved slower.. maybe php_streams will speed things up..
-provide schema 1999/2001 support....
-through memory leak testing
-possible using shared memory for sdl caching...
-api for clearing/checking sdl caching...
-make php-soap work as a standalone server using php_streams and the new socket extension
-http authication
-proxy support
-wsdl generation static and auto (.net style (http://server.com/soapserver.php?WSDL)) using phpdoc parsing engine
-interpo testing...
-BENCHMARKING...... lets prove how fast it is.
-do some more work on website
-
-does this list stop... what exactly have i done?
-im sure im forgetting 20 thousand more things....
-
-
- - brad
+TODO:
+make sure soap 1.1 and 1.2 is supported fully
+Better WSDL support Client and server (how much validation is needed here?)
+UDDI??
+make internal refrences for soap encoding (use seralization logic)
+add ini option for always soap_error_handler
+provide user space overriding of serialization certin objects and types
+serialization in general needs to be polished/finished... all xsd types
+make perstistant objects and work with or without register_globals on
+look to see if php-soap will work with out always_populate_raw_post_data on
+see if client will work with ssl.. should be eaiser with php_streams
+work on soap seralizer (php serialization)
+-work on a soap-service 'regiestry' and 'proxy' (apache soap style)
+-convert all string mainpulation to use smart_str
+make the 'soap' packet abstract.. maybe incorperate xml-rpc
+make the transport layer abstract.. what other transport layers are needed?... who uses smtp? what about jabber?
+make $soap_object->data = 'text'; maybe invoke a set_*() and/or get_*() method
+when using wsdls and function names are similar find the best match
+	void test(int);
+	void test(string);
+	maybe use the same alogrithim as ext/java.
+investigate further http keep_alive... inital testing proved slower.. maybe php_streams will speed things up..
+provide schema 1999/2001 support....
+through memory leak testing
+possible using shared memory for sdl caching...
+api for clearing/checking sdl caching...
+make php-soap work as a standalone server using php_streams and the new socket extension
+http authication
+proxy support
+wsdl generation static and auto (.net style (http://server.com/soapserver.php?WSDL)) using phpdoc parsing engine
+interpo testing...
+BENCHMARKING...... lets prove how fast it is.
+do some more work on website
+
+does this list stop... what exactly have i done?
+im sure im forgetting 20 thousand more things....
+
+
+ - brad
diff --git a/ext/soap/config.m4 b/ext/soap/config.m4
index 7a1b4a6..c117147 100644
--- a/ext/soap/config.m4
+++ b/ext/soap/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.10 2005/05/29 23:16:44 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl config.m4 for extension soap
 
 PHP_ARG_ENABLE(soap, whether to enable SOAP support,
diff --git a/ext/soap/config.w32 b/ext/soap/config.w32
index 7eb1e31..46e8d86 100644
--- a/ext/soap/config.w32
+++ b/ext/soap/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.5 2004/02/09 09:31:12 dmitry Exp $
+// $Id: config.w32 150845 2004-02-09 09:31:18Z dmitry $
 // vim:ft=javascript
 
 ARG_ENABLE("soap", "SOAP support", "no");
diff --git a/ext/soap/interop/client_round2_interop.php b/ext/soap/interop/client_round2_interop.php
index 3caee08..6eff6dc 100644
--- a/ext/soap/interop/client_round2_interop.php
+++ b/ext/soap/interop/client_round2_interop.php
@@ -16,7 +16,7 @@
 // | Authors: Shane Caraveo <Shane at Caraveo.com>                           |
 // +----------------------------------------------------------------------+
 //
-// $Id: client_round2_interop.php,v 1.17.2.2 2006/01/01 13:27:13 sniper Exp $
+// $Id: client_round2_interop.php 204216 2006-01-01 13:27:13Z sniper $
 //
 require_once 'DB.php'; // PEAR/DB
 require_once 'client_round2_params.php';
diff --git a/ext/soap/interop/client_round2_params.php b/ext/soap/interop/client_round2_params.php
index 25d2991..8787cf0 100644
--- a/ext/soap/interop/client_round2_params.php
+++ b/ext/soap/interop/client_round2_params.php
@@ -16,7 +16,7 @@
 // | Authors: Shane Caraveo <Shane at Caraveo.com>                           |
 // +----------------------------------------------------------------------+
 //
-// $Id: client_round2_params.php,v 1.11.4.2 2006/01/01 13:27:13 sniper Exp $
+// $Id: client_round2_params.php 204216 2006-01-01 13:27:13Z sniper $
 //
 
 define('SOAP_TEST_ACTOR_OTHER','http://some/other/actor');
diff --git a/ext/soap/interop/client_round2_results.php b/ext/soap/interop/client_round2_results.php
index 5b5f135..9098780 100644
--- a/ext/soap/interop/client_round2_results.php
+++ b/ext/soap/interop/client_round2_results.php
@@ -19,7 +19,7 @@
 // | Authors: Shane Caraveo <Shane at Caraveo.com>                           |
 // +----------------------------------------------------------------------+
 //
-// $Id: client_round2_results.php,v 1.4.4.2 2006/01/01 13:27:13 sniper Exp $
+// $Id: client_round2_results.php 204216 2006-01-01 13:27:13Z sniper $
 //
 require_once 'client_round2_interop.php';
 ?>
diff --git a/ext/soap/interop/client_round2_run.php b/ext/soap/interop/client_round2_run.php
index 16699c2..4225d21 100644
--- a/ext/soap/interop/client_round2_run.php
+++ b/ext/soap/interop/client_round2_run.php
@@ -15,7 +15,7 @@
 // | Authors: Shane Caraveo <Shane at Caraveo.com>                           |
 // +----------------------------------------------------------------------+
 //
-// $Id: client_round2_run.php,v 1.4.4.2 2006/01/01 13:27:13 sniper Exp $
+// $Id: client_round2_run.php 204216 2006-01-01 13:27:13Z sniper $
 //
 
 set_time_limit(0);
diff --git a/ext/soap/interop/server_round2_base.php b/ext/soap/interop/server_round2_base.php
index c1f2442..cbe565a 100644
--- a/ext/soap/interop/server_round2_base.php
+++ b/ext/soap/interop/server_round2_base.php
@@ -17,7 +17,7 @@
 // | Authors: Dietrich Ayala <dietrich at ganx4.com> Original Author         |
 // +----------------------------------------------------------------------+
 //
-// $Id: server_round2_base.php,v 1.7.4.2 2006/01/01 13:27:13 sniper Exp $
+// $Id: server_round2_base.php 204216 2006-01-01 13:27:13Z sniper $
 //
 
 class SOAP_Interop_Base {
diff --git a/ext/soap/interop/server_round2_groupB.php b/ext/soap/interop/server_round2_groupB.php
index 89ae819..44b3349 100644
--- a/ext/soap/interop/server_round2_groupB.php
+++ b/ext/soap/interop/server_round2_groupB.php
@@ -17,7 +17,7 @@
 // | Authors: Dietrich Ayala <dietrich at ganx4.com> Original Author         |
 // +----------------------------------------------------------------------+
 //
-// $Id: server_round2_groupB.php,v 1.7.4.2 2006/01/01 13:27:13 sniper Exp $
+// $Id: server_round2_groupB.php 204216 2006-01-01 13:27:13Z sniper $
 //
 
 class SOAP_Interop_GroupB {
diff --git a/ext/soap/interop/server_round2_groupC.php b/ext/soap/interop/server_round2_groupC.php
index 065b6f3..2f4be39 100644
--- a/ext/soap/interop/server_round2_groupC.php
+++ b/ext/soap/interop/server_round2_groupC.php
@@ -16,7 +16,7 @@
 // | Authors: Shane Caraveo <Shane at Caraveo.com>                           |
 // +----------------------------------------------------------------------+
 //
-// $Id: server_round2_groupC.php,v 1.7.4.2 2006/01/01 13:27:13 sniper Exp $
+// $Id: server_round2_groupC.php 204216 2006-01-01 13:27:13Z sniper $
 //
 
 class SOAP_Interop_GroupC {
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 447fa44..dd4d4bd 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_encoding.c,v 1.103.2.21.2.47 2009/06/15 17:36:00 felipe Exp $ */
+/* $Id: php_encoding.c 282179 2009-06-15 17:36:00Z felipe $ */
 
 #include <time.h>
 
diff --git a/ext/soap/php_encoding.h b/ext/soap/php_encoding.h
index 56f02a9..06613b6 100644
--- a/ext/soap/php_encoding.h
+++ b/ext/soap/php_encoding.h
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_encoding.h,v 1.38.2.3.2.6 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_encoding.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_ENCODING_H
 #define PHP_ENCODING_H
diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c
index 20c2ef8..36eea18 100644
--- a/ext/soap/php_http.c
+++ b/ext/soap/php_http.c
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_http.c,v 1.77.2.11.2.18 2009/06/03 12:41:46 iliaa Exp $ */
+/* $Id: php_http.c 281592 2009-06-03 12:41:46Z iliaa $ */
 
 #include "php_soap.h"
 #include "ext/standard/base64.h"
diff --git a/ext/soap/php_http.h b/ext/soap/php_http.h
index 536a10b..7f9c563 100644
--- a/ext/soap/php_http.h
+++ b/ext/soap/php_http.h
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_http.h,v 1.16.2.1.2.3 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_http.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HTTP_H
 #define PHP_HTTP_H
diff --git a/ext/soap/php_packet_soap.c b/ext/soap/php_packet_soap.c
index d2883e6..9a82113 100644
--- a/ext/soap/php_packet_soap.c
+++ b/ext/soap/php_packet_soap.c
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_packet_soap.c,v 1.42.2.1.2.6 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_packet_soap.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_soap.h"
 
diff --git a/ext/soap/php_packet_soap.h b/ext/soap/php_packet_soap.h
index f358aa9..c3f209b 100644
--- a/ext/soap/php_packet_soap.h
+++ b/ext/soap/php_packet_soap.h
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_packet_soap.h,v 1.10.2.1.2.3 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_packet_soap.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_PACKET_SOAP_H
 #define PHP_PACKET_SOAP_H
diff --git a/ext/soap/php_schema.c b/ext/soap/php_schema.c
index 8b4f8c9..c51bea4 100644
--- a/ext/soap/php_schema.c
+++ b/ext/soap/php_schema.c
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_schema.c,v 1.58.2.6.2.8 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_schema.c 287425 2009-08-17 18:23:48Z dmitry $ */
 
 #include "php_soap.h"
 #include "libxml/uri.h"
@@ -102,7 +102,10 @@ static void schema_load_file(sdlCtx *ctx, xmlAttrPtr ns, xmlChar *location, xmlA
 		xmlNodePtr schema;
 		xmlAttrPtr new_tns;
 
+		sdl_set_uri_credentials(ctx, (char*)location TSRMLS_CC);
 		doc = soap_xmlParseFile((char*)location TSRMLS_CC);
+		sdl_restore_uri_credentials(ctx TSRMLS_CC);
+
 		if (doc == NULL) {
 			soap_error1(E_ERROR, "Parsing Schema: can't import schema from '%s'", location);
 		}
diff --git a/ext/soap/php_schema.h b/ext/soap/php_schema.h
index 3219895..e5a30f0 100644
--- a/ext/soap/php_schema.h
+++ b/ext/soap/php_schema.h
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_schema.h,v 1.13.2.2.2.3 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_schema.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SCHEMA_H
 #define PHP_SCHEMA_H
diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c
index 78ef3dd..0a2125c 100644
--- a/ext/soap/php_sdl.c
+++ b/ext/soap/php_sdl.c
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_sdl.c,v 1.88.2.12.2.13 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_sdl.c 287425 2009-08-17 18:23:48Z dmitry $ */
 
 #include "php_soap.h"
 #include "ext/libxml/php_libxml.h"
@@ -226,6 +226,64 @@ static int is_wsdl_element(xmlNodePtr node)
 	return 1;
 }
 
+void sdl_set_uri_credentials(sdlCtx *ctx, char *uri TSRMLS_DC)
+{
+	char *s;
+	int l1, l2;
+	zval *context = NULL;
+	zval **header = NULL;
+
+	/* check if we load xsd from the same server */
+	s = strstr(ctx->sdl->source, "://");
+	if (!s) return;
+	s = strchr(s+3, '/');
+	l1 = s - ctx->sdl->source;
+	s = strstr((char*)uri, "://");
+	if (!s) return;
+	s = strchr(s+3, '/');
+	l2 = s - (char*)uri;
+	if (l1 != l2 || memcmp(ctx->sdl->source, uri, l1) != 0) {
+		/* another server. clear authentication credentals */
+		context = php_libxml_switch_context(NULL TSRMLS_CC);
+		php_libxml_switch_context(context TSRMLS_CC);
+		if (context) {
+			ctx->context = php_stream_context_from_zval(context, 1);
+
+			if (ctx->context &&
+			    php_stream_context_get_option(ctx->context, "http", "header", &header) == SUCCESS) {
+				s = strstr(Z_STRVAL_PP(header), "Authorization: Basic");
+				if (s && (s == Z_STRVAL_PP(header) || *(s-1) == '\n' || *(s-1) == '\r')) {
+					char *rest = strstr(s, "\r\n");
+					if (rest) {
+						zval new_header;
+				    	
+						rest += 2;
+						Z_TYPE(new_header) = IS_STRING;
+						Z_STRLEN(new_header) = Z_STRLEN_PP(header) - (rest - s);
+						Z_STRVAL(new_header) = emalloc(Z_STRLEN_PP(header) + 1);
+						memcpy(Z_STRVAL(new_header), Z_STRVAL_PP(header), s - Z_STRVAL_PP(header));
+						memcpy(Z_STRVAL(new_header) + (s - Z_STRVAL_PP(header)), rest, Z_STRLEN_PP(header) - (rest - Z_STRVAL_PP(header)) + 1);
+						ctx->old_header = *header;
+						ctx->old_header->refcount++;
+						php_stream_context_set_option(ctx->context, "http", "header", &new_header);
+						zval_dtor(&new_header);
+					}
+				}
+			}
+		}
+	}
+}
+
+void sdl_restore_uri_credentials(sdlCtx *ctx TSRMLS_DC)
+{
+	if (ctx->old_header) {
+	    php_stream_context_set_option(ctx->context, "http", "header", ctx->old_header);
+	    zval_ptr_dtor(&ctx->old_header);
+		ctx->old_header = NULL;
+	}
+	ctx->context = NULL;
+}
+
 static void load_wsdl_ex(zval *this_ptr, char *struri, sdlCtx *ctx, int include TSRMLS_DC)
 {
 	sdlPtr tmpsdl = ctx->sdl;
@@ -237,7 +295,9 @@ static void load_wsdl_ex(zval *this_ptr, char *struri, sdlCtx *ctx, int include
 		return;
 	}
 	
+	sdl_set_uri_credentials(ctx, struri TSRMLS_CC);
 	wsdl = soap_xmlParseFile(struri TSRMLS_CC);
+	sdl_restore_uri_credentials(ctx TSRMLS_CC);
 	
 	if (!wsdl) {
 		xmlErrorPtr xmlErrorPtr = xmlGetLastError();
diff --git a/ext/soap/php_sdl.h b/ext/soap/php_sdl.h
index cd7627a..97612bf 100644
--- a/ext/soap/php_sdl.h
+++ b/ext/soap/php_sdl.h
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_sdl.h,v 1.37.2.3.2.4 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_sdl.h 287425 2009-08-17 18:23:48Z dmitry $ */
 
 #ifndef PHP_SDL_H
 #define PHP_SDL_H
@@ -76,6 +76,8 @@ typedef struct sdlCtx {
 
 	HashTable *attributes;       /* array of sdlAttributePtr */
 	HashTable *attributeGroups;  /* array of sdlTypesPtr */
+	php_stream_context *context;
+	zval               *old_header;
 } sdlCtx;
 
 struct _sdlBinding {
@@ -264,4 +266,7 @@ sdlBindingPtr get_binding_from_name(sdlPtr sdl, char *name, char *ns);
 void delete_sdl(void *handle);
 void delete_sdl_impl(void *handle);
 
+void sdl_set_uri_credentials(sdlCtx *ctx, char *uri TSRMLS_DC);
+void sdl_restore_uri_credentials(sdlCtx *ctx TSRMLS_DC);
+
 #endif
diff --git a/ext/soap/php_soap.h b/ext/soap/php_soap.h
index 0b21943..042c7d2 100644
--- a/ext/soap/php_soap.h
+++ b/ext/soap/php_soap.h
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_soap.h,v 1.38.2.6.2.9 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_soap.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SOAP_H
 #define PHP_SOAP_H
diff --git a/ext/soap/php_xml.c b/ext/soap/php_xml.c
index e2f5a98..66d52de 100644
--- a/ext/soap/php_xml.c
+++ b/ext/soap/php_xml.c
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_xml.c,v 1.25.2.1.2.4 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_xml.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_soap.h"
 #include "libxml/parser.h"
diff --git a/ext/soap/php_xml.h b/ext/soap/php_xml.h
index d56e002..6da0b91 100644
--- a/ext/soap/php_xml.h
+++ b/ext/soap/php_xml.h
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_xml.h,v 1.17.2.1.2.4 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_xml.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SOAP_XML_H
 #define PHP_SOAP_XML_H
diff --git a/ext/soap/readme.html b/ext/soap/readme.html
index 366a0b2..98efff3 100644
--- a/ext/soap/readme.html
+++ b/ext/soap/readme.html
@@ -1,646 +1,646 @@
-<HTML>
-<HEAD>
-<TITLE>PHP SOAP Manual</TITLE>
-<STYLE>
-TR{
-	vertical-align: "top";
-}
-TH{
-	text-align: "left";
-}
-TD:{
-	text-align: "left";
-}
-</STYLE>
-</HEAD>
-<BODY>
-<A name="ref.soap">
-<H1>PHP SOAP</H1>
-<H2>Introduction</H2>
-<TABLE BORDER="1">
-<TR><TD ALIGN="center"><B>Warning</B></TD></TR>
-<TR><TD ALIGN="left">This extension is <I>EXPERIMENTAL</I>. The behaviour of this extension -- including the names of its functions and anything else documented about this extension -- may change without notice in a future release of PHP. Use this extension at your own risk.
-</TD></TR>
-</TABLE>
-<p>
-SOAP extension can be used to write SOAP Servers and Clients. It supports 
-subsets of <a href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508" target="_top">SOAP 1.1</a>,
-<a href="http://www.w3.org/TR/" target="_top">SOAP 1.2</a> and
-<a href="http://www.w3.org/TR/wsdl" target="_top">WSDL 1.1</a> specifications.
-</p>
-<HR>
-<H2>Requirements</H2>
-This extension makes use of the <A HREF="http://www.xmlsoft.org" TARGET="_top">GNOME XML library</A>. Download and install this library. You will need at least libxml-2.5.4.
-<HR>
-<H2>Installation</H2>
-This extension is only available if PHP was configured with --enable-soap.
-<HR>
-<H2>Runtime Configuration</H2>
-<p>The behaviour of these functions is affected by settings in php.ini.</p>
-<TABLE BORDER="1">
-<TR><TH>Name</TH><TH>Default</TH><TH>Changeable</TH></TR>
-<TR><TD>soap.wsdl_cache_enabled</TD><TD>"1"</TD><TD>PHP_INI_ALL</TD></TR>
-<TR><TD>soap.wsdl_cache_dir</TD><TD>"/tmp"</TD><TD>PHP_INI_ALL</TD></TR>
-<TR><TD>soap.wsdl_cache_ttl</TD><TD>86400</TD><TD>PHP_INI_ALL</TD></TR>
-</TABLE>
-</p>Here is a short explanation of the configuration directives.</p>
-<dl>
-<dt><b>soap.wsdl_cache_enabled</b> (boolean)</dt>
-<dd>enables or disables WSDL caching feature.</dd>
-<dt><b>soap.wsdl_cache_dir</b> (string)</dt>
-<dd>sets the directory name where SOAP extension will put cache files</dd>
-<dt><b>soap.wsdl_cache_ttl</b> (integer)</dt>
-<dd>(time to live) sets the number of second while cached file will be used instead of original one.</dd>
-</dl>
-
-
-<HR>
-<H2>Predefined Constants</H2>
-The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.
-<TABLE BORDER="1">
-<TR><TH>Constant</TH><TH>Value</TH><TH>Description</TH></TR>
-<TR><TH>SOAP_1_1 (integer)</TH><TD>1</TD><TD>SOAP version - SOAP 1.1. Can be used as an option in SoapClient and SoapServer constructors.</TD></TR>
-<TR><TH>SOAP_1_2 (integer)</TH><TD>2</TD><TD>SOAP version - SOAP 1.2. Can be used as an option in SoapClient and SoapServer constructors.</TD></TR>
-<TR><TH>SOAP_FUNCTIONS_ALL (integer)</TH><TD>999</TD><TD>Allows to export all defined functions with SoapClient::addFunction</TD></TR>
-<TR><TH>SOAP_PERSISTENCE_SESSION (integer)</TH><TD>1</TD><TD>Allows making class passed to SoapServer::setClass persistent for a PHP session.</TD></TR>
-<TR><TH>SOAP_PERSISTENCE_REQUEST (integer)</TH><TD>2</TD><TD>Allows making class passed to SoapServer::setClass non-persistent for a PHP session.</TD></TR>
-<TR><TH>SOAP_ENCODED (integer)</TH><TD>1</TD><TD>Can be passed as <b>style</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
-<TR><TH>SOAP_LITERAL (integer)</TH><TD>2</TD><TD>Can be passed as <b>style</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
-<TR><TH>SOAP_RPC (integer)</TH><TD>1</TD><TD>Can be passed as <b>use</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
-<TR><TH>SOAP_DOCUMENT (integer)</TH><TD>2</TD><TD>Can be passed as <b>use</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
-<TR><TH>SOAP_ACTOR_NEXT (integer)</TH><TD>1</TD><TD>Can be passed as <b>actor</b> to SoapHeader constructor.</TD></TR>
-<TR><TH>SOAP_ACTOR_NONE (integer)</TH><TD>2</TD><TD>Can be passed as <b>actor</b> to SoapHeader constructor</TD></TR>
-<TR><TH>SOAP_ACTOR_UNLIMATERECEIVER (integer)</TH><TD>3</TD><TD>Can be passed as <b>actor</b> to SoapHeader constructor</TD></TR>
-<TR><TH>UNKNOWN_TYPE (integer)</TH><TD>999998</TD><TD>Encoding for unknown type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_STRING (integer)</TH><TD>101</TD><TD>Encoding for standard XMLSchema <b>string</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_BOOLEAN (integer)</TH><TD>102</TD><TD>Encoding for standard XMLSchema <b>boolen</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DECIMAL (integer)</TH><TD>103</TD><TD>Encoding for standard XMLSchema <b>decimal</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_FLOAT (integer)</TH><TD>104</TD><TD>Encoding for standard XMLSchema <b>float</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DOUBLE (integer)</TH><TD>105</TD><TD>Encoding for standard XMLSchema <b>double</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DURATION (integer)</TH><TD>106</TD><TD>Encoding for standard XMLSchema <b>duration</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DATETIME (integer)</TH><TD>107</TD><TD>Encoding for standard XMLSchema <b>dateTime</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_TIME (integer)</TH><TD>108</TD><TD>Encoding for standard XMLSchema <b>time</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DATE (integer)</TH><TD>109</TD><TD>Encoding for standard XMLSchema <b>data</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GYEARMONTH (integer)</TH><TD>110</TD><TD>Encoding for standard XMLSchema <b>gYearMonth</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GYEAR (integer)</TH><TD>111</TD><TD>Encoding for standard XMLSchema <b>gYear</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GMONTHDAY (integer)</TH><TD>112</TD><TD>Encoding for standard XMLSchema <b>gMonthDay</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GDAY (integer)</TH><TD>113</TD><TD>Encoding for standard XMLSchema <b>gDay</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GMONTH (integer)</TH><TD>114</TD><TD>Encoding for standard XMLSchema <b>gMonth</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_HEXBINARY (integer)</TH><TD>115</TD><TD>Encoding for standard XMLSchema <b>hexBinary</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_BASE64BINARY (integer)</TH><TD>116</TD><TD>Encoding for standard XMLSchema <b>base64Binary</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ANYURI (integer)</TH><TD>117</TD><TD>Encoding for standard XMLSchema <b>anyURI</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_QNAME (integer)</TH><TD>118</TD><TD>Encoding for standard XMLSchema <b>QName</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NOTATION (integer)</TH><TD>119</TD><TD>Encoding for standard XMLSchema <b>NOTATION</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NORMALIZEDSTRING (integer)</TH><TD>120</TD><TD>Encoding for standard XMLSchema <b>normalizedString</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_TOKEN (integer)</TH><TD>121</TD><TD>Encoding for standard XMLSchema <b>token</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_LANGUAGE (integer)</TH><TD>122</TD><TD>Encoding for standard XMLSchema <b>language</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NMTOKEN (integer)</TH><TD>123</TD><TD>Encoding for standard XMLSchema <b>NMTOKEN</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NAME (integer)</TH><TD>124</TD><TD>Encoding for standard XMLSchema <b>Name</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NCNAME (integer)</TH><TD>125</TD><TD>Encoding for standard XMLSchema <b>NCName</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ID (integer)</TH><TD>126</TD><TD>Encoding for standard XMLSchema <b>ID</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_IDREF (integer)</TH><TD>127</TD><TD>Encoding for standard XMLSchema <b>IDREF</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_IDREFS (integer)</TH><TD>128</TD><TD>Encoding for standard XMLSchema <b>IDREFS</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ENTITY (integer)</TH><TD>129</TD><TD>Encoding for standard XMLSchema <b>ENTITY</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ENTITIES (integer)</TH><TD>130</TD><TD>Encoding for standard XMLSchema <b>ENTITIES</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_INTEGER (integer)</TH><TD>131</TD><TD>Encoding for standard XMLSchema <b>integer</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NONPOSITIVEINTEGER (integer)</TH><TD>132</TD><TD>Encoding for standard XMLSchema <b>nonPositiveInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NEGATIVEINTEGER (integer)</TH><TD>133</TD><TD>Encoding for standard XMLSchema <b>negativeInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_LONG (integer)</TH><TD>134</TD><TD>Encoding for standard XMLSchema <b>long</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_INT (integer)</TH><TD>135</TD><TD>Encoding for standard XMLSchema <b>int</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_SHORT (integer)</TH><TD>136</TD><TD>Encoding for standard XMLSchema <b>short</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_BYTE (integer)</TH><TD>137</TD><TD>Encoding for standard XMLSchema <b>byte</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NONNEGATIVEINTEGER (integer)</TH><TD>138</TD><TD>Encoding for standard XMLSchema <b>nonNegativeInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_UNSIGNEDLONG (integer)</TH><TD>139</TD><TD>Encoding for standard XMLSchema <b>unsignedLong</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_UNSIGNEDINT (integer)</TH><TD>140</TD><TD>Encoding for standard XMLSchema <b>unsignedInt</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_UNSIGNEDSHORT (integer)</TH><TD>141</TD><TD>Encoding for standard XMLSchema <b>unsignedShort</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_UNSIGNEDBYTE (integer)</TH><TD>142</TD><TD>Encoding for standard XMLSchema <b>unsignedByte</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_POSITIVEINTEGER (integer)</TH><TD>143</TD><TD>Encoding for standard XMLSchema <b>positiveInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NMTOKENS (integer)</TH><TD>144</TD><TD>Encoding for standard XMLSchema <b>NMTOKENS</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ANYTYPE (integer)</TH><TD>145</TD><TD>Encoding for standard XMLSchema <b>anyType</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>SOAP_ENC_ARRAY (integer)</TH><TD>300</TD><TD>Encoding for SOAP <b>Array</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>SOAP_ENC_OBJECT (integer)</TH><TD>301</TD><TD>Encoding for SOAP <b>Struct</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_1999_TIMEINSTANT (integer)</TH><TD>401</TD><TD>Encoding for old XMLSchema <b>timeInstant</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NAMESPACE (string)</TH><TD>&nbsp;</TD><TD>The XML Schema namespace.</TD></TR>
-<TR><TH>XSD_1999_NAMESPACE (string)</TH><TD>&nbsp;</TD><TD>The old XML Schema namespace.</TD></TR>
-</TABLE>
-<HR>
-<H2>Classes</H2>
-<h4>List of classes</h4>
-<table border="0">
-<tr><td><a href="#ref.soap.soapclient">SoapClient</a></td></tr>
-<tr><td><a href="#ref.soap.soapserver">SoapServer</a></td></tr>
-<tr><td><a href="#ref.soap.soapparam">SoapParam</a></td></tr>
-<tr><td><a href="#ref.soap.soapvar">SoapVar</a></td></tr>
-<tr><td><a href="#ref.soap.soapheader">SoapHeader</a></td></tr>
-<tr><td><a href="#ref.soap.soapfault">SoapFault</a></td></tr>
-</table>
-<a name="ref.soap.soapclient">
-<h4>SoapClient class</h4>
-A SOAP client, that allows calling remote methods on SOAP WebService over HTTP
-or HTTPS.
-<table border="0">
-<tr><td><a href="#ref.soap.soapclient.soapclient">SoapClient</a> -- SoapClient constructor</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__call">__call</a> -- calls a SOAP function</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getlastrequest">__getLastRequest</a> -- returns last SOAP request</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getlastresponse">__getLastResponse</a> -- returns last SOAP response</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getfunctions">__getFunctions</a> -- returns list of SOAP functions</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__gettypes">__getTypes</a> -- returns list of SOAP types</td></tr>
-</table>
-<a name="ref.soap.soapserver">
-<h4>SoapServer class</h4>
-This class can be used to build SOAP WebServices, which can be accessed from
-remote SOAP clients over HTTP or HTTPS.
-<table border="0">
-<tr><td><a href="#ref.soap.soapserver.soapserver">SoapServer</a> -- SoapServer constructor</td></tr>
-<tr><td><a href="#ref.soap.soapserver.addfunction">addFunction</a> -- adds one or several functions those will handle SOAP requests</td></tr>
-<tr><td><a href="#ref.soap.soapserver.setclass">setClass</a> -- sets class which will handle SOAP requests</td></tr>
-<tr><td><a href="#ref.soap.soapserver.getfunctions">getFunctions</a> -- returns list of defined functions</td></tr>
-<tr><td><a href="#ref.soap.soapserver.setpersistence">setPersistence</a> -- sets persistence mode of SoapServer</td></tr>
-<tr><td><a href="#ref.soap.soapserver.handle">handle</a> -- handles a SOAP request</td></tr>
-</table>
-<a name="ref.soap.soapparam">
-<h4>SoapParam class</h4>
-<p>
-SoapParam is a special low-level class for naming parameters and return values
-in nonWSDL mode. It is just a data holder and it has not any special method
-except constructor.
-</p>
-<table border="0">
-<tr><td><a href="#ref.soap.soapparam.soapparam">SoapParam</a> -- SoapParam constructor</td></tr>
-</table>
-<a name="ref.soap.soapvar">
-<h4>SoapVar classes</h4>
-<p>
-SoapVar is a special low-level class for encoding parameters and return values
-in  nonWSDL mode. It is just a data holder and it has not any special method
-except constructor. It is useful when you like to set type property in SOAP
-request or response.
-</p>
-<table border="0">
-<tr><td><a href="#ref.soap.soapvar.soapvar">SoapVar</a> -- SoapVar constructor</td></tr>
-</table>
-<a name="ref.soap.soapheader">
-<h4>SoapHeader class</h4>
-<p>
-SoapHeader is a special low-level class for passing or returning SOAP headers.
-It is just a data holder and it has not any special method except constructor.
-</p>
-<table border="0">
-<tr><td><a href="#ref.soap.soapheader.soapheader">SoapHeader</a> -- SoapHeader constructor</td></tr>
-</table>
-<a name="ref.soap.soapfault">
-<h4>SoapFault class</h4>
-<p>
-SoapFault is a special class that can be used for error reporting during
-handling of SOAP request. It is derived form standard PHP Exception class, 
-so it can be used to throw exceptions in server side and to catch tham on 
-client side.
-</p>
-<table border="0">
-<tr><td><a href="#ref.soap.soapfault.soapfault">SoapFault</a> -- SoapFault constructor</td></tr>
-</table>
-<HR>
-<!--
-<H2>Examples</H2>
--->
-<h4>Table of Contents</h4>
-<table border="0">
-<tr><td><a href="#ref.soap.is_soap_fault">is_soap_fault</a> -- checks if SOAP call was failed</td></tr>
-<tr><td><a href="#ref.soap.soapclient.soapclient">SoapClient::SoapClient</a> -- SoapClient constructor</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__call">SoapClient::__call</a> -- calls a SOAP function</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getlastrequest">SoapClient::__getLastRequest</a> -- returns last SOAP request</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getlastresponse">SoapClient::__getLastResponse</a> -- returns last SOAP response</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getfunctions">SoapClient::__getFunctions</a> -- returns list of SOAP functions</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__gettypes">SoapClient::__getTypes</a> -- returns list of SOAP types</td></tr>
-<tr><td><a href="#ref.soap.soapserver.soapserver">SoapServer::SoapServer</a> -- SoapServer constructor</td></tr>
-<tr><td><a href="#ref.soap.soapserver.addfunction">SoapServer::addFunction</a> -- adds one or several functions those will handle SOAP requests</td></tr>
-<tr><td><a href="#ref.soap.soapserver.setclass">SoapServer::setClass</a> -- sets class which will handle SOAP requests</td></tr>
-<tr><td><a href="#ref.soap.soapserver.getfunctions">SoapServer::getFunctions</a> -- returns list of defined functions</td></tr>
-<tr><td><a href="#ref.soap.soapserver.setpersistence">SoapServer::setPersistence</a> -- sets persistence mode of SoapServer</td></tr>
-<tr><td><a href="#ref.soap.soapserver.handle">SoapServer::handle</a> -- handles a SOAP request</td></tr>
-<tr><td><a href="#ref.soap.soapparam.soapparam">SoapParam::SoapParam</a> -- SoapParam constructor</td></tr>
-<tr><td><a href="#ref.soap.soapvar.soapvar">SoapVar::SoapVar</a> -- SoapVar constructor</td></tr>
-<tr><td><a href="#ref.soap.soapheader.soapheader">SoapHeader::SoapHeader</a> -- SoapHeader constructor</td></tr>
-<tr><td><a href="#ref.soap.soapfault.soapfault">SoapFault::SoapFault</a> -- SoapFault constructor</td></tr>
-</table>
-
-<a name="ref.soap.is_soap_fault"></a>
-<h2>is_soap_fault</h2>
-<p>(PHP 5)</p>
-<p>checks if SOAP call was failed</p>
-<h3>Description</h3>
-<p>bool <b>is_soap_fault</b>(mixed obj)</p>
-<p>
-This function is useful when you like to check if the SOAP call was failed,
-but don't like to use exceptions. To use it you must create SoapClient object
-with <b>exceptions</b> option set to zero or false. In this case SOAP method 
-will return a special SoapFault object which encapsulate the fault details 
-(faultcode, faultstring, faultactor and faultdetails). If <b>exceptions</b> is 
-not set then SOAP call will throw an exception on error.<br>
-is_soap_fault() functions checks if the given parameter is a SoapFault object.<br>
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    $client = SoapClient("some.wsdl",array("exceptions"=>0));
-    $result = $client->SomeFunction(...);
-    if (is_soap_fault($result)) {
-        trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faulstring})", E_ERROR);
-    }
-?&gt;</PRE></TD></TR></TABLE>
-<p>Standard method that used by SOAP extension for error reporting is excptions.</p>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    try {
-        $client = SoapClient("some.wsdl");
-        $result = $client->SomeFunction(...);
-    } catch (SoapFault $fault) {
-        trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faulstring})", E_ERROR);
-    }
-?&gt;</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.soapclient"></a>
-<h2>SoapClient::SoapClient</h2>
-<p>(PHP 5)</p>
-<p>SoapClient constructor</p>
-<h3>Description</h3>
-<p><b>SoapClient</b>(mixed wsdl [, array options])</p>
-<p>
-The constructor allows creating SoapClient objects in WSDL or nonWSDL mode.
-The first case requires URI of WSDL file as first parameter and optional
-options array. The second case requires NULL as first parameter and options
-array with <b>location</b> and <b>uri</b> options set. Where <b>location</b> is
-a URL to request and <b>uri</b> is a target namespace of the SOAP service.
-<b>style</b> and <b>use</b> options has effect only on nonWSDL (in WSDL mode
-they comes from WSDL file). <b>soap_version</b> option allows to work as SOAP 1.1 or
-SOAP 1.2 client.
-Some additional optional options allow using HTTP authentication (<b>login</b>
-and <b>password</b>) and HTTP connection through proxy server (<b>proxy_host</b>,
-<b>proxy_port</b>, <b>proxy_login</b> and <b>proxy_password</b>).
-</p>
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-    $client = new SoapClient("some.wsdl");
-
-    $client = new SoapClient("some.wsdl",array('soap_version'   => SOAP_1_2));
-
-    $client = new SoapClient("some.wsdl",array('login'          => "some_name",
-                                               'password'       => "some_password"));
-
-    $client = new SoapClient("some.wsdl",array('proxy_host'     => "localhost",
-                                               'proxy_port'     => 8080));
-
-    $client = new SoapClient("some.wsdl",array('proxy_host'     => "localhost",
-                                               'proxy_port'     => 8080,
-                                               'proxy_login'    => "some_name",
-                                               'proxy_password' => "some_password"));
-
-    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
-                                        'uri'      => "http://test-uri/"));
-
-    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
-                                        'uri'      => "http://test-uri/",
-                                        'style'    => SOAP_DOCUMENT,
-                                        'use'      => SOAP_LITERAL));
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__call"></a>
-<h2>SoapClient::__call</h2>
-<p>(PHP 5)</p>
-<p>calls a SOAP function</p>
-<h3>Description</h3>
-<p>mixed <b>__call</b>(string function_name, array arguments, [array options [, mixed input_headers [, mixed &output_headers]]])</p>
-<p>
-This is a low level API function to make a SOAP call. Usually in WSDL mode
-you can simple call SOAP functions as SoapClient methods. It is useful for
-nonWSDL mode when 'soapaction' is unknown, 'uri' is differ form default or
-when ypu like to send and/or receive SOAP Headers. To check if function call
-is failed check the result with is_soap_fault() function.<br>
-SOAP function may return one or several values. In the first case __call will
-return just the value of output parameter, in the second it will return
-array with named output parameters.
-</p>
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-    $client = new SoapClient("some.wsdl");
-    $client->SomeFunction($a,$b,$c);
-    $client->__call("SomeFunction",array($a,$b,$c));
-    $client->__call("SomeFunction",array($a,$b,$c), NULL,
-                    new SoapHeader(...), $output_headers);
-
-
-    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
-                                        'uri'      => "http://test-uri/"));
-    $client->SomeFunction($a,$b,$c);
-    $client->__call("SomeFunction",array($a,$b,$c));
-    $client->__call("SomeFunction",array($a,$b,$c),
-                    array('soapaction' => 'some_action',
-                          'uri'        => 'some_uri'));
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__getlastrequest"></a>
-<h2>SoapClient::__getLastRequest</h2>
-<p>(PHP 5)</p>
-<p>returns last SOAP request</p>
-<h3>Description</h3>
-<p>string <b>__getLastRequest</b>()</p>
-<p>
-This function works only with SoapClient which was created with trace option.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    $client = SoapClient("some.wsdl", array('trace'=>1));
-    $result = $client->SomeFunction(...);
-    echo "REQUEST:\n".$client->__getLastRequest()."\n";
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__getlastresponse"></a>
-<h2>SoapClient::__getLastResponse</h2>
-<p>(PHP 5)</p>
-<p>returns last SOAP response</p>
-<h3>Description</h3>
-<p>string <b>__getLastResponse</b>()</p>
-<p>
-This function works only with SoapClient which was created with trace option.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    $client = SoapClient("some.wsdl", array('trace'=>1));
-    $result = $client->SomeFunction(...);
-    echo "RESPONSE:\n".$client->__getLastResponse()."\n";
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__getfunctions"></a>
-<h2>SoapClient::__getFunctions</h2>
-<p>(PHP 5)</p>
-<p>returns list of SOAP functions</p>
-<h3>Description</h3>
-<p>array <b>__getFunctions</b>()</p>
-<p>
-This function works only in WSDL mode.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    $client = SoapClient("some.wsdl");
-    var_dump($client->__getFunctions());
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__gettypes"></a>
-<h2>SoapClient::__getTypes</h2>
-<p>(PHP 5)</p>
-<p>returns list of SOAP types</p>
-<h3>Description</h3>
-<p>array <b>__getTypes</b>()</p>
-<p>
-This function works only in WSDL mode.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    $client = SoapClient("some.wsdl");
-    var_dump($client->__getTypes());
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.soapserver"></a>
-<h2>SoapServer::SoapServer</h2>
-<p>(PHP 5)</p>
-<p>SoapServer constructor</p>
-<h3>Description</h3>
-<p><b>SoapServer</b>(mixed wsdl [, array options])</p>
-It allows creating SoapServer objects in WSDL or nonWSDL mode. In the first
-case  <b>wsdl</b> must be set to URI of WSDL file. In the second <b>wsdl</b>
-must be set to null and <b>uti</b> option must be set. Additional options
-allow setting a default SOAP version (<b>soap_version</b>) and actor URI
-(<b>actor</b>).
-
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-    $server = new SoapServer("some.wsdl");
-
-    $server = new SoapServer("some.wsdl",array('soap_version'=>SOAP_1_2));
-
-    $server = new SoapServer("some.wsdl",array('actor'=>"http://example.org/ts-tests/C"));
-
-    $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.addfunction">
-<h2>SoapServer::addFunction</h2>
-<p>(PHP 5)</p>
-<p>adds one or several functions those will handle SOAP requests</p>
-<h3>Description</h3>
-<p>void <b>addFunction</b>(mixed functions)</p>
-Exports one or more functions for remote clients. To export one function pass
-function name into <b>functions</b> parameter as string. To export several
-functions pass an array of function names and to export all functions pass
-a special constant <b>SOAP_FUNCTIONS_ALL</b>.<br>
-Functions must receive all input arguments in the same order as defined
-in WSDL file (They should not receive any output parameters as arguments) and
-return one or more values. To return several values they must return array with
-named output parameters.
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-    function func($inputString) {
-        return $inputString;
-    }
-    $server->addFunction("echoString");
-
-    function echoTwoStrings($inputString1, $inputString2) {
-        return array("outputString1"=>$inputString1,"outputString2"=>$inputString2);
-    }
-    $server->addFunction(array("echoString","echoTwoStrings"));
-
-    $server->addFunction(SOAP_FUNCTIONS_ALL);
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.setclass"></a>
-<h2>SoapServer::setClass</h2>
-<p>(PHP 5)</p>
-<p>sets class which will handle SOAP requests</p>
-<h3>Description</h3>
-<p>void <b>setClass</b>(string class_name [, ...])</p>
-Exports all methods from specified class. Additional parameters will be passed
-to default class constructor during object creation. The object can be maiden
-persistent across request for a given PHP session with
-<a href="#ref.soap.soapserver.setpersistence">SoapServer::setPersistence</a> method.
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-    $server->setClass("foo");
-
-    $server->setClass("foo", $arg1, $arg2);
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.getfunctions">
-<h2>SoapServer::getFunctions</h2>
-<p>(PHP 5)</p>
-<p>returns list of defined functions</p>
-<h3>Description</h3>
-<p>array <b>getFunctions</b>()</p>
-
-<a name="ref.soap.soapserver.setpersistence"></a>
-<h2>SoapServer::setPersistence</h2>
-<p>(PHP 5)</p>
-<p>sets persistence mode of SoapServer</p>
-<h3>Description</h3>
-<p>void <b>setPersistence</b>(int mode)</p>
-This function allows saving data between requests in PHP session. It works only
-with server that exports functions form class (see
-<a href="#ref.soap.soapserver.setclass">SoapServer:setCalss</a>).
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-    $server->setpersistence(SOAP_PERSISTENCE_SESSION);
-
-    $server->setpersistence(SOAP_PERSISTENCE_REQUEST);
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.handle"></a>
-<h2>SoapServer::handle</h2>
-<p>(PHP 5)</p>
-<p>handles a SOAP request</p>
-<h3>Description</h3>
-<p>void <b>handle</b>([string soap_envelope])</p>
-It processes a SOAP request, call necessary functions, and send response back.
-It assumes request in input parameter or in global <b>$HTTP_RAW_POST_DATA</b> PHP variable
-if the argument is omitted.
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    function test($x) {
-        return $x;
-    }
-
-    $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
-    $server->addFunction("test");
-    $server->handle();
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapparam.soapparam"></a>
-<h2>SoapParam::SoapParam</h2>
-<p>(PHP 5)</p>
-<p>SoapParam constructor</p>
-<h3>Description</h3>
-<p><b>SoapParam</b>(mixed data, string name)</p>
-<p>
-SoapParam is a special low-level class for naming parameters and return values
-in nonWSDL mode. It is just a data holder and it has not any special method
-except constructor. The constructor takes <b>data</b> to pass or return and
-<b>name</b>. It is possible to pass parameter directly as PHP value, but in
-this case it will be named as <b><i>paramN</i></b> and SOAP Service may not
-understand it.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
-                                        'uri'      => "http://test-uri/"));
-    $client->SomeFunction(new SoapParam($a,"a"),
-                          new SoapParam($b,"b"),
-                          new SoapParam($c,"c"));
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapvar.soapvar"></a>
-<h2>SoapVar::SoapVar</h2>
-<p>(PHP 5)</p>
-<p>SoapVar constructor</p>
-<h3>Description</h3>
-<p><b>SoapVar</b>(mixed data, int encoding [, string type [, string type_ns [, string name [, string name_ns]]]])</p>
-<p>
-SoapVar is a special low-level class for encoding parameters and return values
-in nonWSDL mode. It is just a data holder and it has not any special method
-except constructor. It is useful when you like to set type property in SOAP
-request or response. The constructor takes <b>data</b> to pass or return,
-<b>encoding</b> ID to encode it (see <b><i>XSD_...</i></b> constants) and as
-option type name and namespace and value name and namespace.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    class SOAPStruct {
-    	function SOAPStruct($s, $i, $f) {
-    		$this->varString = $s;
-    		$this->varInt = $i;
-    		$this->varFloat = $f;
-    	}
-    }
-    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
-                                        'uri'      => "http://test-uri/"));
-    $struct = new SOAPStruct('arg',34,325.325);
-    $soapstruct = new SoapVar($struct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
-    $client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapheader.soapheader"></a>
-<h2>SoapHeader::SoapHeader</h2>
-<p>(PHP 5)</p>
-<p>SoapHeader constructor</p>
-<h3>Description</h3>
-<p><b>SoapHeader</b>(string name_ns, string name [, mixed data [, bool must_understand [, mixed actor]]])</p>
-<p>
-SoapHeader is a special low-level class for passing or returning SOAP headers.
-It is just a data holder and it has not any special method except constructor.
-It can be used in <a href="#ref.soap.soapclient.__call">SoapClient::__call</a>
-method to pass SOAP header or in SOAP header handler to return header in SOAP
-response. <b>name_ns</b> and <b>name</b> are namespace and name of the SOAP
-header element. <b>data</b> is a SOAP header's content. It can be a PHP value
-or SoapVar object. <b>must_understand</b> and <b>actor</b> are values for
-<b><i>mustUnderstand</i></b> and <b><i>actor</i></b> attributes of this SOAP
-Header element.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
-                                        'uri'      => "http://test-uri/"));
-    $client->__call("echoVoid",NULL,NULL,
-                    new SoapHeader('http://soapinterop.org/echoheader/',
-                                   'echoMeStringRequest',
-                                   'hello world'));
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapfault.soapfault"></a>
-<h2>SoapFault::SoapFault</h2>
-<p>(PHP 5)</p>
-<p>SoapFault constructor</p>
-<h3>Description</h3>
-<p><b>SoapFault</b>(string faultcode, string faultstring [, string faultactor [, mixed details [, string faultname [, mixed headerfault]]]])</p>
-This class is useful when you like to send SOAP fault response from PHP handler.<br>
-<b>faultcode</b>, <b>faultstring</b>, <b>faultactor</b> and <b>details</b> are standard elements of SOAP Fault;<br>
-<b>faultname</b> is an optional parameter that can be used to select proper fault encoding from WSDL.<br>
-<b>headerfault</b> is an optional parameter that can be used during SOAP header handling to report error in response header.
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    function test($x) {
-        return new SoapFault("Server","Some error message");
-    }
-
-    $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
-    $server->addFunction("test");
-    $server->handle();
-?&gt;
-</PRE></TD></TR></TABLE>
-<p>It is possible to use PHP exception mechanism to throw SOAP Fault.</p>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
-    function test($x) {
-        throw new SoapFault("Server","Some error message");
-    }
-
-    $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
-    $server->addFunction("test");
-    $server->handle();
-?&gt;
-</PRE></TD></TR></TABLE>
-</BODY>
+<HTML>
+<HEAD>
+<TITLE>PHP SOAP Manual</TITLE>
+<STYLE>
+TR{
+	vertical-align: "top";
+}
+TH{
+	text-align: "left";
+}
+TD:{
+	text-align: "left";
+}
+</STYLE>
+</HEAD>
+<BODY>
+<A name="ref.soap">
+<H1>PHP SOAP</H1>
+<H2>Introduction</H2>
+<TABLE BORDER="1">
+<TR><TD ALIGN="center"><B>Warning</B></TD></TR>
+<TR><TD ALIGN="left">This extension is <I>EXPERIMENTAL</I>. The behaviour of this extension -- including the names of its functions and anything else documented about this extension -- may change without notice in a future release of PHP. Use this extension at your own risk.
+</TD></TR>
+</TABLE>
+<p>
+SOAP extension can be used to write SOAP Servers and Clients. It supports 
+subsets of <a href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508" target="_top">SOAP 1.1</a>,
+<a href="http://www.w3.org/TR/" target="_top">SOAP 1.2</a> and
+<a href="http://www.w3.org/TR/wsdl" target="_top">WSDL 1.1</a> specifications.
+</p>
+<HR>
+<H2>Requirements</H2>
+This extension makes use of the <A HREF="http://www.xmlsoft.org" TARGET="_top">GNOME XML library</A>. Download and install this library. You will need at least libxml-2.5.4.
+<HR>
+<H2>Installation</H2>
+This extension is only available if PHP was configured with --enable-soap.
+<HR>
+<H2>Runtime Configuration</H2>
+<p>The behaviour of these functions is affected by settings in php.ini.</p>
+<TABLE BORDER="1">
+<TR><TH>Name</TH><TH>Default</TH><TH>Changeable</TH></TR>
+<TR><TD>soap.wsdl_cache_enabled</TD><TD>"1"</TD><TD>PHP_INI_ALL</TD></TR>
+<TR><TD>soap.wsdl_cache_dir</TD><TD>"/tmp"</TD><TD>PHP_INI_ALL</TD></TR>
+<TR><TD>soap.wsdl_cache_ttl</TD><TD>86400</TD><TD>PHP_INI_ALL</TD></TR>
+</TABLE>
+</p>Here is a short explanation of the configuration directives.</p>
+<dl>
+<dt><b>soap.wsdl_cache_enabled</b> (boolean)</dt>
+<dd>enables or disables WSDL caching feature.</dd>
+<dt><b>soap.wsdl_cache_dir</b> (string)</dt>
+<dd>sets the directory name where SOAP extension will put cache files</dd>
+<dt><b>soap.wsdl_cache_ttl</b> (integer)</dt>
+<dd>(time to live) sets the number of second while cached file will be used instead of original one.</dd>
+</dl>
+
+
+<HR>
+<H2>Predefined Constants</H2>
+The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.
+<TABLE BORDER="1">
+<TR><TH>Constant</TH><TH>Value</TH><TH>Description</TH></TR>
+<TR><TH>SOAP_1_1 (integer)</TH><TD>1</TD><TD>SOAP version - SOAP 1.1. Can be used as an option in SoapClient and SoapServer constructors.</TD></TR>
+<TR><TH>SOAP_1_2 (integer)</TH><TD>2</TD><TD>SOAP version - SOAP 1.2. Can be used as an option in SoapClient and SoapServer constructors.</TD></TR>
+<TR><TH>SOAP_FUNCTIONS_ALL (integer)</TH><TD>999</TD><TD>Allows to export all defined functions with SoapClient::addFunction</TD></TR>
+<TR><TH>SOAP_PERSISTENCE_SESSION (integer)</TH><TD>1</TD><TD>Allows making class passed to SoapServer::setClass persistent for a PHP session.</TD></TR>
+<TR><TH>SOAP_PERSISTENCE_REQUEST (integer)</TH><TD>2</TD><TD>Allows making class passed to SoapServer::setClass non-persistent for a PHP session.</TD></TR>
+<TR><TH>SOAP_ENCODED (integer)</TH><TD>1</TD><TD>Can be passed as <b>style</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
+<TR><TH>SOAP_LITERAL (integer)</TH><TD>2</TD><TD>Can be passed as <b>style</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
+<TR><TH>SOAP_RPC (integer)</TH><TD>1</TD><TD>Can be passed as <b>use</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
+<TR><TH>SOAP_DOCUMENT (integer)</TH><TD>2</TD><TD>Can be passed as <b>use</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
+<TR><TH>SOAP_ACTOR_NEXT (integer)</TH><TD>1</TD><TD>Can be passed as <b>actor</b> to SoapHeader constructor.</TD></TR>
+<TR><TH>SOAP_ACTOR_NONE (integer)</TH><TD>2</TD><TD>Can be passed as <b>actor</b> to SoapHeader constructor</TD></TR>
+<TR><TH>SOAP_ACTOR_UNLIMATERECEIVER (integer)</TH><TD>3</TD><TD>Can be passed as <b>actor</b> to SoapHeader constructor</TD></TR>
+<TR><TH>UNKNOWN_TYPE (integer)</TH><TD>999998</TD><TD>Encoding for unknown type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_STRING (integer)</TH><TD>101</TD><TD>Encoding for standard XMLSchema <b>string</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_BOOLEAN (integer)</TH><TD>102</TD><TD>Encoding for standard XMLSchema <b>boolen</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_DECIMAL (integer)</TH><TD>103</TD><TD>Encoding for standard XMLSchema <b>decimal</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_FLOAT (integer)</TH><TD>104</TD><TD>Encoding for standard XMLSchema <b>float</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_DOUBLE (integer)</TH><TD>105</TD><TD>Encoding for standard XMLSchema <b>double</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_DURATION (integer)</TH><TD>106</TD><TD>Encoding for standard XMLSchema <b>duration</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_DATETIME (integer)</TH><TD>107</TD><TD>Encoding for standard XMLSchema <b>dateTime</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_TIME (integer)</TH><TD>108</TD><TD>Encoding for standard XMLSchema <b>time</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_DATE (integer)</TH><TD>109</TD><TD>Encoding for standard XMLSchema <b>data</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_GYEARMONTH (integer)</TH><TD>110</TD><TD>Encoding for standard XMLSchema <b>gYearMonth</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_GYEAR (integer)</TH><TD>111</TD><TD>Encoding for standard XMLSchema <b>gYear</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_GMONTHDAY (integer)</TH><TD>112</TD><TD>Encoding for standard XMLSchema <b>gMonthDay</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_GDAY (integer)</TH><TD>113</TD><TD>Encoding for standard XMLSchema <b>gDay</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_GMONTH (integer)</TH><TD>114</TD><TD>Encoding for standard XMLSchema <b>gMonth</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_HEXBINARY (integer)</TH><TD>115</TD><TD>Encoding for standard XMLSchema <b>hexBinary</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_BASE64BINARY (integer)</TH><TD>116</TD><TD>Encoding for standard XMLSchema <b>base64Binary</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_ANYURI (integer)</TH><TD>117</TD><TD>Encoding for standard XMLSchema <b>anyURI</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_QNAME (integer)</TH><TD>118</TD><TD>Encoding for standard XMLSchema <b>QName</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NOTATION (integer)</TH><TD>119</TD><TD>Encoding for standard XMLSchema <b>NOTATION</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NORMALIZEDSTRING (integer)</TH><TD>120</TD><TD>Encoding for standard XMLSchema <b>normalizedString</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_TOKEN (integer)</TH><TD>121</TD><TD>Encoding for standard XMLSchema <b>token</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_LANGUAGE (integer)</TH><TD>122</TD><TD>Encoding for standard XMLSchema <b>language</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NMTOKEN (integer)</TH><TD>123</TD><TD>Encoding for standard XMLSchema <b>NMTOKEN</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NAME (integer)</TH><TD>124</TD><TD>Encoding for standard XMLSchema <b>Name</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NCNAME (integer)</TH><TD>125</TD><TD>Encoding for standard XMLSchema <b>NCName</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_ID (integer)</TH><TD>126</TD><TD>Encoding for standard XMLSchema <b>ID</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_IDREF (integer)</TH><TD>127</TD><TD>Encoding for standard XMLSchema <b>IDREF</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_IDREFS (integer)</TH><TD>128</TD><TD>Encoding for standard XMLSchema <b>IDREFS</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_ENTITY (integer)</TH><TD>129</TD><TD>Encoding for standard XMLSchema <b>ENTITY</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_ENTITIES (integer)</TH><TD>130</TD><TD>Encoding for standard XMLSchema <b>ENTITIES</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_INTEGER (integer)</TH><TD>131</TD><TD>Encoding for standard XMLSchema <b>integer</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NONPOSITIVEINTEGER (integer)</TH><TD>132</TD><TD>Encoding for standard XMLSchema <b>nonPositiveInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NEGATIVEINTEGER (integer)</TH><TD>133</TD><TD>Encoding for standard XMLSchema <b>negativeInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_LONG (integer)</TH><TD>134</TD><TD>Encoding for standard XMLSchema <b>long</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_INT (integer)</TH><TD>135</TD><TD>Encoding for standard XMLSchema <b>int</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_SHORT (integer)</TH><TD>136</TD><TD>Encoding for standard XMLSchema <b>short</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_BYTE (integer)</TH><TD>137</TD><TD>Encoding for standard XMLSchema <b>byte</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NONNEGATIVEINTEGER (integer)</TH><TD>138</TD><TD>Encoding for standard XMLSchema <b>nonNegativeInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_UNSIGNEDLONG (integer)</TH><TD>139</TD><TD>Encoding for standard XMLSchema <b>unsignedLong</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_UNSIGNEDINT (integer)</TH><TD>140</TD><TD>Encoding for standard XMLSchema <b>unsignedInt</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_UNSIGNEDSHORT (integer)</TH><TD>141</TD><TD>Encoding for standard XMLSchema <b>unsignedShort</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_UNSIGNEDBYTE (integer)</TH><TD>142</TD><TD>Encoding for standard XMLSchema <b>unsignedByte</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_POSITIVEINTEGER (integer)</TH><TD>143</TD><TD>Encoding for standard XMLSchema <b>positiveInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NMTOKENS (integer)</TH><TD>144</TD><TD>Encoding for standard XMLSchema <b>NMTOKENS</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_ANYTYPE (integer)</TH><TD>145</TD><TD>Encoding for standard XMLSchema <b>anyType</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>SOAP_ENC_ARRAY (integer)</TH><TD>300</TD><TD>Encoding for SOAP <b>Array</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>SOAP_ENC_OBJECT (integer)</TH><TD>301</TD><TD>Encoding for SOAP <b>Struct</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_1999_TIMEINSTANT (integer)</TH><TD>401</TD><TD>Encoding for old XMLSchema <b>timeInstant</b> type. Can be passed to SoapVar constructor.</TD></TR>
+<TR><TH>XSD_NAMESPACE (string)</TH><TD>&nbsp;</TD><TD>The XML Schema namespace.</TD></TR>
+<TR><TH>XSD_1999_NAMESPACE (string)</TH><TD>&nbsp;</TD><TD>The old XML Schema namespace.</TD></TR>
+</TABLE>
+<HR>
+<H2>Classes</H2>
+<h4>List of classes</h4>
+<table border="0">
+<tr><td><a href="#ref.soap.soapclient">SoapClient</a></td></tr>
+<tr><td><a href="#ref.soap.soapserver">SoapServer</a></td></tr>
+<tr><td><a href="#ref.soap.soapparam">SoapParam</a></td></tr>
+<tr><td><a href="#ref.soap.soapvar">SoapVar</a></td></tr>
+<tr><td><a href="#ref.soap.soapheader">SoapHeader</a></td></tr>
+<tr><td><a href="#ref.soap.soapfault">SoapFault</a></td></tr>
+</table>
+<a name="ref.soap.soapclient">
+<h4>SoapClient class</h4>
+A SOAP client, that allows calling remote methods on SOAP WebService over HTTP
+or HTTPS.
+<table border="0">
+<tr><td><a href="#ref.soap.soapclient.soapclient">SoapClient</a> -- SoapClient constructor</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__call">__call</a> -- calls a SOAP function</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__getlastrequest">__getLastRequest</a> -- returns last SOAP request</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__getlastresponse">__getLastResponse</a> -- returns last SOAP response</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__getfunctions">__getFunctions</a> -- returns list of SOAP functions</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__gettypes">__getTypes</a> -- returns list of SOAP types</td></tr>
+</table>
+<a name="ref.soap.soapserver">
+<h4>SoapServer class</h4>
+This class can be used to build SOAP WebServices, which can be accessed from
+remote SOAP clients over HTTP or HTTPS.
+<table border="0">
+<tr><td><a href="#ref.soap.soapserver.soapserver">SoapServer</a> -- SoapServer constructor</td></tr>
+<tr><td><a href="#ref.soap.soapserver.addfunction">addFunction</a> -- adds one or several functions those will handle SOAP requests</td></tr>
+<tr><td><a href="#ref.soap.soapserver.setclass">setClass</a> -- sets class which will handle SOAP requests</td></tr>
+<tr><td><a href="#ref.soap.soapserver.getfunctions">getFunctions</a> -- returns list of defined functions</td></tr>
+<tr><td><a href="#ref.soap.soapserver.setpersistence">setPersistence</a> -- sets persistence mode of SoapServer</td></tr>
+<tr><td><a href="#ref.soap.soapserver.handle">handle</a> -- handles a SOAP request</td></tr>
+</table>
+<a name="ref.soap.soapparam">
+<h4>SoapParam class</h4>
+<p>
+SoapParam is a special low-level class for naming parameters and return values
+in nonWSDL mode. It is just a data holder and it has not any special method
+except constructor.
+</p>
+<table border="0">
+<tr><td><a href="#ref.soap.soapparam.soapparam">SoapParam</a> -- SoapParam constructor</td></tr>
+</table>
+<a name="ref.soap.soapvar">
+<h4>SoapVar classes</h4>
+<p>
+SoapVar is a special low-level class for encoding parameters and return values
+in  nonWSDL mode. It is just a data holder and it has not any special method
+except constructor. It is useful when you like to set type property in SOAP
+request or response.
+</p>
+<table border="0">
+<tr><td><a href="#ref.soap.soapvar.soapvar">SoapVar</a> -- SoapVar constructor</td></tr>
+</table>
+<a name="ref.soap.soapheader">
+<h4>SoapHeader class</h4>
+<p>
+SoapHeader is a special low-level class for passing or returning SOAP headers.
+It is just a data holder and it has not any special method except constructor.
+</p>
+<table border="0">
+<tr><td><a href="#ref.soap.soapheader.soapheader">SoapHeader</a> -- SoapHeader constructor</td></tr>
+</table>
+<a name="ref.soap.soapfault">
+<h4>SoapFault class</h4>
+<p>
+SoapFault is a special class that can be used for error reporting during
+handling of SOAP request. It is derived form standard PHP Exception class, 
+so it can be used to throw exceptions in server side and to catch tham on 
+client side.
+</p>
+<table border="0">
+<tr><td><a href="#ref.soap.soapfault.soapfault">SoapFault</a> -- SoapFault constructor</td></tr>
+</table>
+<HR>
+<!--
+<H2>Examples</H2>
+-->
+<h4>Table of Contents</h4>
+<table border="0">
+<tr><td><a href="#ref.soap.is_soap_fault">is_soap_fault</a> -- checks if SOAP call was failed</td></tr>
+<tr><td><a href="#ref.soap.soapclient.soapclient">SoapClient::SoapClient</a> -- SoapClient constructor</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__call">SoapClient::__call</a> -- calls a SOAP function</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__getlastrequest">SoapClient::__getLastRequest</a> -- returns last SOAP request</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__getlastresponse">SoapClient::__getLastResponse</a> -- returns last SOAP response</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__getfunctions">SoapClient::__getFunctions</a> -- returns list of SOAP functions</td></tr>
+<tr><td><a href="#ref.soap.soapclient.__gettypes">SoapClient::__getTypes</a> -- returns list of SOAP types</td></tr>
+<tr><td><a href="#ref.soap.soapserver.soapserver">SoapServer::SoapServer</a> -- SoapServer constructor</td></tr>
+<tr><td><a href="#ref.soap.soapserver.addfunction">SoapServer::addFunction</a> -- adds one or several functions those will handle SOAP requests</td></tr>
+<tr><td><a href="#ref.soap.soapserver.setclass">SoapServer::setClass</a> -- sets class which will handle SOAP requests</td></tr>
+<tr><td><a href="#ref.soap.soapserver.getfunctions">SoapServer::getFunctions</a> -- returns list of defined functions</td></tr>
+<tr><td><a href="#ref.soap.soapserver.setpersistence">SoapServer::setPersistence</a> -- sets persistence mode of SoapServer</td></tr>
+<tr><td><a href="#ref.soap.soapserver.handle">SoapServer::handle</a> -- handles a SOAP request</td></tr>
+<tr><td><a href="#ref.soap.soapparam.soapparam">SoapParam::SoapParam</a> -- SoapParam constructor</td></tr>
+<tr><td><a href="#ref.soap.soapvar.soapvar">SoapVar::SoapVar</a> -- SoapVar constructor</td></tr>
+<tr><td><a href="#ref.soap.soapheader.soapheader">SoapHeader::SoapHeader</a> -- SoapHeader constructor</td></tr>
+<tr><td><a href="#ref.soap.soapfault.soapfault">SoapFault::SoapFault</a> -- SoapFault constructor</td></tr>
+</table>
+
+<a name="ref.soap.is_soap_fault"></a>
+<h2>is_soap_fault</h2>
+<p>(PHP 5)</p>
+<p>checks if SOAP call was failed</p>
+<h3>Description</h3>
+<p>bool <b>is_soap_fault</b>(mixed obj)</p>
+<p>
+This function is useful when you like to check if the SOAP call was failed,
+but don't like to use exceptions. To use it you must create SoapClient object
+with <b>exceptions</b> option set to zero or false. In this case SOAP method 
+will return a special SoapFault object which encapsulate the fault details 
+(faultcode, faultstring, faultactor and faultdetails). If <b>exceptions</b> is 
+not set then SOAP call will throw an exception on error.<br>
+is_soap_fault() functions checks if the given parameter is a SoapFault object.<br>
+</p>
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    $client = SoapClient("some.wsdl",array("exceptions"=>0));
+    $result = $client->SomeFunction(...);
+    if (is_soap_fault($result)) {
+        trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faulstring})", E_ERROR);
+    }
+?&gt;</PRE></TD></TR></TABLE>
+<p>Standard method that used by SOAP extension for error reporting is excptions.</p>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    try {
+        $client = SoapClient("some.wsdl");
+        $result = $client->SomeFunction(...);
+    } catch (SoapFault $fault) {
+        trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faulstring})", E_ERROR);
+    }
+?&gt;</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapclient.soapclient"></a>
+<h2>SoapClient::SoapClient</h2>
+<p>(PHP 5)</p>
+<p>SoapClient constructor</p>
+<h3>Description</h3>
+<p><b>SoapClient</b>(mixed wsdl [, array options])</p>
+<p>
+The constructor allows creating SoapClient objects in WSDL or nonWSDL mode.
+The first case requires URI of WSDL file as first parameter and optional
+options array. The second case requires NULL as first parameter and options
+array with <b>location</b> and <b>uri</b> options set. Where <b>location</b> is
+a URL to request and <b>uri</b> is a target namespace of the SOAP service.
+<b>style</b> and <b>use</b> options has effect only on nonWSDL (in WSDL mode
+they comes from WSDL file). <b>soap_version</b> option allows to work as SOAP 1.1 or
+SOAP 1.2 client.
+Some additional optional options allow using HTTP authentication (<b>login</b>
+and <b>password</b>) and HTTP connection through proxy server (<b>proxy_host</b>,
+<b>proxy_port</b>, <b>proxy_login</b> and <b>proxy_password</b>).
+</p>
+<h4>Examples</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+    $client = new SoapClient("some.wsdl");
+
+    $client = new SoapClient("some.wsdl",array('soap_version'   => SOAP_1_2));
+
+    $client = new SoapClient("some.wsdl",array('login'          => "some_name",
+                                               'password'       => "some_password"));
+
+    $client = new SoapClient("some.wsdl",array('proxy_host'     => "localhost",
+                                               'proxy_port'     => 8080));
+
+    $client = new SoapClient("some.wsdl",array('proxy_host'     => "localhost",
+                                               'proxy_port'     => 8080,
+                                               'proxy_login'    => "some_name",
+                                               'proxy_password' => "some_password"));
+
+    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
+                                        'uri'      => "http://test-uri/"));
+
+    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
+                                        'uri'      => "http://test-uri/",
+                                        'style'    => SOAP_DOCUMENT,
+                                        'use'      => SOAP_LITERAL));
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapclient.__call"></a>
+<h2>SoapClient::__call</h2>
+<p>(PHP 5)</p>
+<p>calls a SOAP function</p>
+<h3>Description</h3>
+<p>mixed <b>__call</b>(string function_name, array arguments, [array options [, mixed input_headers [, mixed &output_headers]]])</p>
+<p>
+This is a low level API function to make a SOAP call. Usually in WSDL mode
+you can simple call SOAP functions as SoapClient methods. It is useful for
+nonWSDL mode when 'soapaction' is unknown, 'uri' is differ form default or
+when ypu like to send and/or receive SOAP Headers. To check if function call
+is failed check the result with is_soap_fault() function.<br>
+SOAP function may return one or several values. In the first case __call will
+return just the value of output parameter, in the second it will return
+array with named output parameters.
+</p>
+<h4>Examples</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+    $client = new SoapClient("some.wsdl");
+    $client->SomeFunction($a,$b,$c);
+    $client->__call("SomeFunction",array($a,$b,$c));
+    $client->__call("SomeFunction",array($a,$b,$c), NULL,
+                    new SoapHeader(...), $output_headers);
+
+
+    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
+                                        'uri'      => "http://test-uri/"));
+    $client->SomeFunction($a,$b,$c);
+    $client->__call("SomeFunction",array($a,$b,$c));
+    $client->__call("SomeFunction",array($a,$b,$c),
+                    array('soapaction' => 'some_action',
+                          'uri'        => 'some_uri'));
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapclient.__getlastrequest"></a>
+<h2>SoapClient::__getLastRequest</h2>
+<p>(PHP 5)</p>
+<p>returns last SOAP request</p>
+<h3>Description</h3>
+<p>string <b>__getLastRequest</b>()</p>
+<p>
+This function works only with SoapClient which was created with trace option.
+</p>
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    $client = SoapClient("some.wsdl", array('trace'=>1));
+    $result = $client->SomeFunction(...);
+    echo "REQUEST:\n".$client->__getLastRequest()."\n";
+?&gt;
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapclient.__getlastresponse"></a>
+<h2>SoapClient::__getLastResponse</h2>
+<p>(PHP 5)</p>
+<p>returns last SOAP response</p>
+<h3>Description</h3>
+<p>string <b>__getLastResponse</b>()</p>
+<p>
+This function works only with SoapClient which was created with trace option.
+</p>
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    $client = SoapClient("some.wsdl", array('trace'=>1));
+    $result = $client->SomeFunction(...);
+    echo "RESPONSE:\n".$client->__getLastResponse()."\n";
+?&gt;
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapclient.__getfunctions"></a>
+<h2>SoapClient::__getFunctions</h2>
+<p>(PHP 5)</p>
+<p>returns list of SOAP functions</p>
+<h3>Description</h3>
+<p>array <b>__getFunctions</b>()</p>
+<p>
+This function works only in WSDL mode.
+</p>
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    $client = SoapClient("some.wsdl");
+    var_dump($client->__getFunctions());
+?&gt;
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapclient.__gettypes"></a>
+<h2>SoapClient::__getTypes</h2>
+<p>(PHP 5)</p>
+<p>returns list of SOAP types</p>
+<h3>Description</h3>
+<p>array <b>__getTypes</b>()</p>
+<p>
+This function works only in WSDL mode.
+</p>
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    $client = SoapClient("some.wsdl");
+    var_dump($client->__getTypes());
+?&gt;
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapserver.soapserver"></a>
+<h2>SoapServer::SoapServer</h2>
+<p>(PHP 5)</p>
+<p>SoapServer constructor</p>
+<h3>Description</h3>
+<p><b>SoapServer</b>(mixed wsdl [, array options])</p>
+It allows creating SoapServer objects in WSDL or nonWSDL mode. In the first
+case  <b>wsdl</b> must be set to URI of WSDL file. In the second <b>wsdl</b>
+must be set to null and <b>uti</b> option must be set. Additional options
+allow setting a default SOAP version (<b>soap_version</b>) and actor URI
+(<b>actor</b>).
+
+<h4>Examples</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+    $server = new SoapServer("some.wsdl");
+
+    $server = new SoapServer("some.wsdl",array('soap_version'=>SOAP_1_2));
+
+    $server = new SoapServer("some.wsdl",array('actor'=>"http://example.org/ts-tests/C"));
+
+    $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapserver.addfunction">
+<h2>SoapServer::addFunction</h2>
+<p>(PHP 5)</p>
+<p>adds one or several functions those will handle SOAP requests</p>
+<h3>Description</h3>
+<p>void <b>addFunction</b>(mixed functions)</p>
+Exports one or more functions for remote clients. To export one function pass
+function name into <b>functions</b> parameter as string. To export several
+functions pass an array of function names and to export all functions pass
+a special constant <b>SOAP_FUNCTIONS_ALL</b>.<br>
+Functions must receive all input arguments in the same order as defined
+in WSDL file (They should not receive any output parameters as arguments) and
+return one or more values. To return several values they must return array with
+named output parameters.
+<h4>Examples</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+    function func($inputString) {
+        return $inputString;
+    }
+    $server->addFunction("echoString");
+
+    function echoTwoStrings($inputString1, $inputString2) {
+        return array("outputString1"=>$inputString1,"outputString2"=>$inputString2);
+    }
+    $server->addFunction(array("echoString","echoTwoStrings"));
+
+    $server->addFunction(SOAP_FUNCTIONS_ALL);
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapserver.setclass"></a>
+<h2>SoapServer::setClass</h2>
+<p>(PHP 5)</p>
+<p>sets class which will handle SOAP requests</p>
+<h3>Description</h3>
+<p>void <b>setClass</b>(string class_name [, ...])</p>
+Exports all methods from specified class. Additional parameters will be passed
+to default class constructor during object creation. The object can be maiden
+persistent across request for a given PHP session with
+<a href="#ref.soap.soapserver.setpersistence">SoapServer::setPersistence</a> method.
+<h4>Examples</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+    $server->setClass("foo");
+
+    $server->setClass("foo", $arg1, $arg2);
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapserver.getfunctions">
+<h2>SoapServer::getFunctions</h2>
+<p>(PHP 5)</p>
+<p>returns list of defined functions</p>
+<h3>Description</h3>
+<p>array <b>getFunctions</b>()</p>
+
+<a name="ref.soap.soapserver.setpersistence"></a>
+<h2>SoapServer::setPersistence</h2>
+<p>(PHP 5)</p>
+<p>sets persistence mode of SoapServer</p>
+<h3>Description</h3>
+<p>void <b>setPersistence</b>(int mode)</p>
+This function allows saving data between requests in PHP session. It works only
+with server that exports functions form class (see
+<a href="#ref.soap.soapserver.setclass">SoapServer:setCalss</a>).
+<h4>Examples</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+    $server->setpersistence(SOAP_PERSISTENCE_SESSION);
+
+    $server->setpersistence(SOAP_PERSISTENCE_REQUEST);
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapserver.handle"></a>
+<h2>SoapServer::handle</h2>
+<p>(PHP 5)</p>
+<p>handles a SOAP request</p>
+<h3>Description</h3>
+<p>void <b>handle</b>([string soap_envelope])</p>
+It processes a SOAP request, call necessary functions, and send response back.
+It assumes request in input parameter or in global <b>$HTTP_RAW_POST_DATA</b> PHP variable
+if the argument is omitted.
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    function test($x) {
+        return $x;
+    }
+
+    $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
+    $server->addFunction("test");
+    $server->handle();
+?&gt;
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapparam.soapparam"></a>
+<h2>SoapParam::SoapParam</h2>
+<p>(PHP 5)</p>
+<p>SoapParam constructor</p>
+<h3>Description</h3>
+<p><b>SoapParam</b>(mixed data, string name)</p>
+<p>
+SoapParam is a special low-level class for naming parameters and return values
+in nonWSDL mode. It is just a data holder and it has not any special method
+except constructor. The constructor takes <b>data</b> to pass or return and
+<b>name</b>. It is possible to pass parameter directly as PHP value, but in
+this case it will be named as <b><i>paramN</i></b> and SOAP Service may not
+understand it.
+</p>
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
+                                        'uri'      => "http://test-uri/"));
+    $client->SomeFunction(new SoapParam($a,"a"),
+                          new SoapParam($b,"b"),
+                          new SoapParam($c,"c"));
+?&gt;
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapvar.soapvar"></a>
+<h2>SoapVar::SoapVar</h2>
+<p>(PHP 5)</p>
+<p>SoapVar constructor</p>
+<h3>Description</h3>
+<p><b>SoapVar</b>(mixed data, int encoding [, string type [, string type_ns [, string name [, string name_ns]]]])</p>
+<p>
+SoapVar is a special low-level class for encoding parameters and return values
+in nonWSDL mode. It is just a data holder and it has not any special method
+except constructor. It is useful when you like to set type property in SOAP
+request or response. The constructor takes <b>data</b> to pass or return,
+<b>encoding</b> ID to encode it (see <b><i>XSD_...</i></b> constants) and as
+option type name and namespace and value name and namespace.
+</p>
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    class SOAPStruct {
+    	function SOAPStruct($s, $i, $f) {
+    		$this->varString = $s;
+    		$this->varInt = $i;
+    		$this->varFloat = $f;
+    	}
+    }
+    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
+                                        'uri'      => "http://test-uri/"));
+    $struct = new SOAPStruct('arg',34,325.325);
+    $soapstruct = new SoapVar($struct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
+    $client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
+?&gt;
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapheader.soapheader"></a>
+<h2>SoapHeader::SoapHeader</h2>
+<p>(PHP 5)</p>
+<p>SoapHeader constructor</p>
+<h3>Description</h3>
+<p><b>SoapHeader</b>(string name_ns, string name [, mixed data [, bool must_understand [, mixed actor]]])</p>
+<p>
+SoapHeader is a special low-level class for passing or returning SOAP headers.
+It is just a data holder and it has not any special method except constructor.
+It can be used in <a href="#ref.soap.soapclient.__call">SoapClient::__call</a>
+method to pass SOAP header or in SOAP header handler to return header in SOAP
+response. <b>name_ns</b> and <b>name</b> are namespace and name of the SOAP
+header element. <b>data</b> is a SOAP header's content. It can be a PHP value
+or SoapVar object. <b>must_understand</b> and <b>actor</b> are values for
+<b><i>mustUnderstand</i></b> and <b><i>actor</i></b> attributes of this SOAP
+Header element.
+</p>
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
+                                        'uri'      => "http://test-uri/"));
+    $client->__call("echoVoid",NULL,NULL,
+                    new SoapHeader('http://soapinterop.org/echoheader/',
+                                   'echoMeStringRequest',
+                                   'hello world'));
+?&gt;
+</PRE></TD></TR></TABLE>
+
+<a name="ref.soap.soapfault.soapfault"></a>
+<h2>SoapFault::SoapFault</h2>
+<p>(PHP 5)</p>
+<p>SoapFault constructor</p>
+<h3>Description</h3>
+<p><b>SoapFault</b>(string faultcode, string faultstring [, string faultactor [, mixed details [, string faultname [, mixed headerfault]]]])</p>
+This class is useful when you like to send SOAP fault response from PHP handler.<br>
+<b>faultcode</b>, <b>faultstring</b>, <b>faultactor</b> and <b>details</b> are standard elements of SOAP Fault;<br>
+<b>faultname</b> is an optional parameter that can be used to select proper fault encoding from WSDL.<br>
+<b>headerfault</b> is an optional parameter that can be used during SOAP header handling to report error in response header.
+<h4>Example</h4>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    function test($x) {
+        return new SoapFault("Server","Some error message");
+    }
+
+    $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
+    $server->addFunction("test");
+    $server->handle();
+?&gt;
+</PRE></TD></TR></TABLE>
+<p>It is possible to use PHP exception mechanism to throw SOAP Fault.</p>
+<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
+&lt;?php
+    function test($x) {
+        throw new SoapFault("Server","Some error message");
+    }
+
+    $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
+    $server->addFunction("test");
+    $server->handle();
+?&gt;
+</PRE></TD></TR></TABLE>
+</BODY>
 </HTML>
\ No newline at end of file
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 8a9e9ba..bdf9a75 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <dmitry at zend.com>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: soap.c,v 1.156.2.28.2.44 2009/02/18 13:25:32 dmitry Exp $ */
+/* $Id: soap.c 287746 2009-08-26 14:05:48Z dmitry $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1956,8 +1956,13 @@ PHP_METHOD(SoapServer, fault)
 	char *code, *string, *actor=NULL, *name=NULL;
 	int code_len, string_len, actor_len, name_len;
 	zval* details = NULL;
+	soapServicePtr service;
+	xmlCharEncodingHandlerPtr old_encoding;
 
 	SOAP_SERVER_BEGIN_CODE();
+	FETCH_THIS_SERVICE(service);
+	old_encoding = SOAP_GLOBAL(encoding);
+	SOAP_GLOBAL(encoding) = service->encoding;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|szs",
 	    &code, &code_len, &string, &string_len, &actor, &actor_len, &details,
@@ -1966,6 +1971,8 @@ PHP_METHOD(SoapServer, fault)
 	}
 
 	soap_server_fault(code, string, actor, details, name TSRMLS_CC);
+
+	SOAP_GLOBAL(encoding) = old_encoding;
 	SOAP_SERVER_END_CODE();
 }
 /* }}} */
diff --git a/ext/soap/tests/any.phpt b/ext/soap/tests/any.phpt
index 369e6a2..45f5378 100755
--- a/ext/soap/tests/any.phpt
+++ b/ext/soap/tests/any.phpt
@@ -1,86 +1,86 @@
---TEST--
-SOAP handling of <any>
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexType {
-    function SOAPComplexType($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPComplexType('arg',34,325.325);
-
-function echoAnyElement($x) {
-	global $g;
-
-	$g = $x;
-	$struct = $x->inputAny->any;
-	if ($struct instanceof SOAPComplexType) {
-		return array("return" => array("any" => new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/")));
-	} else {
-		return "?";
-	}
-}
-
-class TestSoapClient extends SoapClient {
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('echoAnyElement');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-}
-
-$client = new TestSoapClient(dirname(__FILE__)."/interop/Round4/GroupI/round4_groupI_xsd.wsdl",
-                             array("trace"=>1,"exceptions"=>0,
-                             'classmap' => array('SOAPComplexType'=>'SOAPComplexType')));
-$ret = $client->echoAnyElement(
-  array(
-    "inputAny"=>array(
-       "any"=>new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/")
-     )));
-var_dump($g);
-var_dump($ret);
-?>
---EXPECT--
-object(stdClass)#5 (1) {
-  ["inputAny"]=>
-  object(stdClass)#6 (1) {
-    ["any"]=>
-    object(SOAPComplexType)#7 (3) {
-      ["varInt"]=>
-      int(34)
-      ["varString"]=>
-      string(3) "arg"
-      ["varFloat"]=>
-      float(325.325)
-    }
-  }
-}
-object(stdClass)#8 (1) {
-  ["return"]=>
-  object(stdClass)#9 (1) {
-    ["any"]=>
-    object(SOAPComplexType)#10 (3) {
-      ["varInt"]=>
-      int(34)
-      ["varString"]=>
-      string(3) "arg"
-      ["varFloat"]=>
-      float(325.325)
-    }
-  }
-}
+--TEST--
+SOAP handling of <any>
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+
+function echoAnyElement($x) {
+	global $g;
+
+	$g = $x;
+	$struct = $x->inputAny->any;
+	if ($struct instanceof SOAPComplexType) {
+		return array("return" => array("any" => new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/")));
+	} else {
+		return "?";
+	}
+}
+
+class TestSoapClient extends SoapClient {
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('echoAnyElement');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+}
+
+$client = new TestSoapClient(dirname(__FILE__)."/interop/Round4/GroupI/round4_groupI_xsd.wsdl",
+                             array("trace"=>1,"exceptions"=>0,
+                             'classmap' => array('SOAPComplexType'=>'SOAPComplexType')));
+$ret = $client->echoAnyElement(
+  array(
+    "inputAny"=>array(
+       "any"=>new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/")
+     )));
+var_dump($g);
+var_dump($ret);
+?>
+--EXPECT--
+object(stdClass)#5 (1) {
+  ["inputAny"]=>
+  object(stdClass)#6 (1) {
+    ["any"]=>
+    object(SOAPComplexType)#7 (3) {
+      ["varInt"]=>
+      int(34)
+      ["varString"]=>
+      string(3) "arg"
+      ["varFloat"]=>
+      float(325.325)
+    }
+  }
+}
+object(stdClass)#8 (1) {
+  ["return"]=>
+  object(stdClass)#9 (1) {
+    ["any"]=>
+    object(SOAPComplexType)#10 (3) {
+      ["varInt"]=>
+      int(34)
+      ["varString"]=>
+      string(3) "arg"
+      ["varFloat"]=>
+      float(325.325)
+    }
+  }
+}
diff --git a/ext/soap/tests/bugs/bug27722.phpt b/ext/soap/tests/bugs/bug27722.phpt
index 4720bd8..d6d933b 100644
--- a/ext/soap/tests/bugs/bug27722.phpt
+++ b/ext/soap/tests/bugs/bug27722.phpt
@@ -1,15 +1,15 @@
---TEST--
-Bug #27722 (Segfault on schema without targetNamespace)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---GET--
-wsdl
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$x = new SoapClient(dirname(__FILE__)."/bug27722.wsdl");
-echo "ok\n";
-?>
---EXPECT--
+--TEST--
+Bug #27722 (Segfault on schema without targetNamespace)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--GET--
+wsdl
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$x = new SoapClient(dirname(__FILE__)."/bug27722.wsdl");
+echo "ok\n";
+?>
+--EXPECT--
 ok
\ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug27742.phpt b/ext/soap/tests/bugs/bug27742.phpt
index 66cdf65..5d9636f 100644
--- a/ext/soap/tests/bugs/bug27742.phpt
+++ b/ext/soap/tests/bugs/bug27742.phpt
@@ -1,15 +1,15 @@
---TEST--
-Bug #27742 (WDSL SOAP Parsing Schema bug)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---GET--
-wsdl
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$x = new SoapClient(dirname(__FILE__)."/bug27742.wsdl");
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #27742 (WDSL SOAP Parsing Schema bug)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--GET--
+wsdl
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$x = new SoapClient(dirname(__FILE__)."/bug27742.wsdl");
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/ext/soap/tests/bugs/bug28751.phpt b/ext/soap/tests/bugs/bug28751.phpt
index 1f382f3..697ebd8 100644
--- a/ext/soap/tests/bugs/bug28751.phpt
+++ b/ext/soap/tests/bugs/bug28751.phpt
@@ -1,38 +1,38 @@
---TEST--
-Bug #28751 (SoapServer does not call _autoload())
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function __autoload($className) {
-	class SoapServerActions {
-    function test() {
-      return "Hello World";
-    }
-	}
-}
-
-$server = new SoapServer(NULL, array('uri'=>"http://testuri.org"));
-$server->setClass("SoapServerActions");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
-  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
-  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:si="http://soapinterop.org/xsd">
-  <SOAP-ENV:Body>
-    <ns1:test xmlns:ns1="http://testuri.org" />
-  </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle($HTTP_RAW_POST_DATA);
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+Bug #28751 (SoapServer does not call _autoload())
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+function __autoload($className) {
+	class SoapServerActions {
+    function test() {
+      return "Hello World";
+    }
+	}
+}
+
+$server = new SoapServer(NULL, array('uri'=>"http://testuri.org"));
+$server->setClass("SoapServerActions");
+
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<SOAP-ENV:Envelope
+  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:si="http://soapinterop.org/xsd">
+  <SOAP-ENV:Body>
+    <ns1:test xmlns:ns1="http://testuri.org" />
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+EOF;
+
+$server->handle($HTTP_RAW_POST_DATA);
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/bugs/bug28969.phpt b/ext/soap/tests/bugs/bug28969.phpt
index 3d1ca40..6634888 100644
--- a/ext/soap/tests/bugs/bug28969.phpt
+++ b/ext/soap/tests/bugs/bug28969.phpt
@@ -1,38 +1,38 @@
---TEST--
-Bug #28969 (Wrong data encoding of special characters)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function test() {
-  return "¦è¥";
-//  return utf8_encode("¦è¥");
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('test');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-
-}
-
-$x = new LocalSoapClient(NULL,array('location'=>'test://', 
-                                    'uri'=>'http://testuri.org',
-                                    'encoding'=>'ISO-8859-1')); 
-var_dump($x->test());
-echo "ok\n";
-?>
---EXPECT--
-string(3) "¦è¥"
-ok
+--TEST--
+Bug #28969 (Wrong data encoding of special characters)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+function test() {
+  return "¦è¥";
+//  return utf8_encode("¦è¥");
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('test');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+
+}
+
+$x = new LocalSoapClient(NULL,array('location'=>'test://', 
+                                    'uri'=>'http://testuri.org',
+                                    'encoding'=>'ISO-8859-1')); 
+var_dump($x->test());
+echo "ok\n";
+?>
+--EXPECT--
+string(3) "¦è¥"
+ok
diff --git a/ext/soap/tests/bugs/bug28985.phpt b/ext/soap/tests/bugs/bug28985.phpt
index 3e11269..59d96e2 100644
--- a/ext/soap/tests/bugs/bug28985.phpt
+++ b/ext/soap/tests/bugs/bug28985.phpt
@@ -1,206 +1,206 @@
---TEST--
-Bug #28985 (__getTypes() returning nothing on complex WSDL)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SOAPClient(dirname(__FILE__).'/bug28985.wsdl', array('trace'=>1));
-var_dump($client->__getTypes());
-?>
---EXPECT--
-array(42) {
-  [0]=>
-  string(100) "struct LoginMGDIS {
- string iUserLogin;
- string iUserId;
- string iUserPassword;
- string iProfilId;
-}"
-  [1]=>
-  string(29) "struct LoginMGDISResponse {
-}"
-  [2]=>
-  string(28) "struct GetIdentification {
-}"
-  [3]=>
-  string(77) "struct GetIdentificationResponse {
- ArrayOfAnyType GetIdentificationResult;
-}"
-  [4]=>
-  string(43) "struct ArrayOfAnyType {
- anyType anyType;
-}"
-  [5]=>
-  string(37) "struct RollbackCurrentTransaction {
-}"
-  [6]=>
-  string(45) "struct RollbackCurrentTransactionResponse {
-}"
-  [7]=>
-  string(68) "struct GetListeProfil {
- string iUserLogin;
- string iUserPassword;
-}"
-  [8]=>
-  string(86) "struct MGCodeLibelle {
- string Code;
- string Libelle;
- boolean Defaut;
- anyType Tag;
-}"
-  [9]=>
-  string(61) "struct ArrayOfMGCodeLibelle {
- MGCodeLibelle MGCodeLibelle;
-}"
-  [10]=>
-  string(77) "struct GetListeProfilResponse {
- ArrayOfMGCodeLibelle GetListeProfilResult;
-}"
-  [11]=>
-  string(41) "struct GetListeValCodif {
- string Code;
-}"
-  [12]=>
-  string(43) "struct ArrayOfMGCodif {
- MGCodif MGCodif;
-}"
-  [13]=>
-  string(18) "struct MGCodif {
-}"
-  [14]=>
-  string(75) "struct GetListeValCodifResponse {
- ArrayOfMGCodif GetListeValCodifResult;
-}"
-  [15]=>
-  string(39) "struct TestPhpSoap {
- MGCodif entree;
-}"
-  [16]=>
-  string(57) "struct TestPhpSoapResponse {
- string TestPhpSoapResult;
-}"
-  [17]=>
-  string(50) "struct GetListeCodif {
- boolean iGetListeValeur;
-}"
-  [18]=>
-  string(87) "struct MGCodifGrp {
- string TypeCodif;
- string LibCodif;
- ArrayOfMGCodif ListeCodifs;
-}"
-  [19]=>
-  string(52) "struct ArrayOfMGCodifGrp {
- MGCodifGrp MGCodifGrp;
-}"
-  [20]=>
-  string(72) "struct GetListeCodifResponse {
- ArrayOfMGCodifGrp GetListeCodifResult;
-}"
-  [21]=>
-  string(57) "struct DroitCreation {
- string iObjet;
- string iProfil;
-}"
-  [22]=>
-  string(62) "struct DroitCreationResponse {
- boolean DroitCreationResult;
-}"
-  [23]=>
-  string(74) "struct ListeDroitCreation {
- ArrayOfString iListeObjet;
- string iProfil;
-}"
-  [24]=>
-  string(40) "struct ArrayOfString {
- string string;
-}"
-  [25]=>
-  string(79) "struct ListeDroitCreationResponse {
- ArrayOfAnyType ListeDroitCreationResult;
-}"
-  [26]=>
-  string(87) "struct GetDroitsObjetProtege {
- string iObjet;
- string iProfil;
- string iUtilisateur;
-}"
-  [27]=>
-  string(154) "struct MGDroitsObjetProtege {
- string LbUti;
- string LbProf;
- string LbServ;
- string LbDir;
- boolean isProtected;
- ArrayOfMGDroitAcces ListeDroitsAcces;
-}"
-  [28]=>
-  string(58) "struct ArrayOfMGDroitAcces {
- MGDroitAcces MGDroitAcces;
-}"
-  [29]=>
-  string(104) "struct MGDroitAcces {
- string IdProfil;
- boolean Lecture;
- boolean Modification;
- boolean Suppression;
-}"
-  [30]=>
-  string(91) "struct GetDroitsObjetProtegeResponse {
- MGDroitsObjetProtege GetDroitsObjetProtegeResult;
-}"
-  [31]=>
-  string(76) "struct GetPrivileges {
- string iIdSupport;
- int iIdForme;
- string iProfil;
-}"
-  [32]=>
-  string(68) "struct GetPrivilegesResponse {
- ArrayOfString GetPrivilegesResult;
-}"
-  [33]=>
-  string(46) "struct GetLibelleProfil {
- string iIdProfil;
-}"
-  [34]=>
-  string(67) "struct GetLibelleProfilResponse {
- string GetLibelleProfilResult;
-}"
-  [35]=>
-  string(91) "struct GetValeurRecherche {
- string iChampSource;
- string iTable;
- string iOrderByClause;
-}"
-  [36]=>
-  string(78) "struct GetValeurRechercheResponse {
- ArrayOfString GetValeurRechercheResult;
-}"
-  [37]=>
-  string(128) "struct GetValeurRechercheWithClauseWhere {
- string iChampSource;
- string iTable;
- string iClauseWhere;
- string iOrderByClause;
-}"
-  [38]=>
-  string(108) "struct GetValeurRechercheWithClauseWhereResponse {
- ArrayOfString GetValeurRechercheWithClauseWhereResult;
-}"
-  [39]=>
-  string(27) "struct GetEnvironnement {
-}"
-  [40]=>
-  string(106) "struct MGEnvironnement {
- string RepBureautique;
- string RepBureautiqueImage;
- string RepBureautiqueDoc;
-}"
-  [41]=>
-  string(76) "struct GetEnvironnementResponse {
- MGEnvironnement GetEnvironnementResult;
-}"
+--TEST--
+Bug #28985 (__getTypes() returning nothing on complex WSDL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SOAPClient(dirname(__FILE__).'/bug28985.wsdl', array('trace'=>1));
+var_dump($client->__getTypes());
+?>
+--EXPECT--
+array(42) {
+  [0]=>
+  string(100) "struct LoginMGDIS {
+ string iUserLogin;
+ string iUserId;
+ string iUserPassword;
+ string iProfilId;
+}"
+  [1]=>
+  string(29) "struct LoginMGDISResponse {
+}"
+  [2]=>
+  string(28) "struct GetIdentification {
+}"
+  [3]=>
+  string(77) "struct GetIdentificationResponse {
+ ArrayOfAnyType GetIdentificationResult;
+}"
+  [4]=>
+  string(43) "struct ArrayOfAnyType {
+ anyType anyType;
+}"
+  [5]=>
+  string(37) "struct RollbackCurrentTransaction {
+}"
+  [6]=>
+  string(45) "struct RollbackCurrentTransactionResponse {
+}"
+  [7]=>
+  string(68) "struct GetListeProfil {
+ string iUserLogin;
+ string iUserPassword;
+}"
+  [8]=>
+  string(86) "struct MGCodeLibelle {
+ string Code;
+ string Libelle;
+ boolean Defaut;
+ anyType Tag;
+}"
+  [9]=>
+  string(61) "struct ArrayOfMGCodeLibelle {
+ MGCodeLibelle MGCodeLibelle;
+}"
+  [10]=>
+  string(77) "struct GetListeProfilResponse {
+ ArrayOfMGCodeLibelle GetListeProfilResult;
+}"
+  [11]=>
+  string(41) "struct GetListeValCodif {
+ string Code;
+}"
+  [12]=>
+  string(43) "struct ArrayOfMGCodif {
+ MGCodif MGCodif;
+}"
+  [13]=>
+  string(18) "struct MGCodif {
+}"
+  [14]=>
+  string(75) "struct GetListeValCodifResponse {
+ ArrayOfMGCodif GetListeValCodifResult;
+}"
+  [15]=>
+  string(39) "struct TestPhpSoap {
+ MGCodif entree;
+}"
+  [16]=>
+  string(57) "struct TestPhpSoapResponse {
+ string TestPhpSoapResult;
+}"
+  [17]=>
+  string(50) "struct GetListeCodif {
+ boolean iGetListeValeur;
+}"
+  [18]=>
+  string(87) "struct MGCodifGrp {
+ string TypeCodif;
+ string LibCodif;
+ ArrayOfMGCodif ListeCodifs;
+}"
+  [19]=>
+  string(52) "struct ArrayOfMGCodifGrp {
+ MGCodifGrp MGCodifGrp;
+}"
+  [20]=>
+  string(72) "struct GetListeCodifResponse {
+ ArrayOfMGCodifGrp GetListeCodifResult;
+}"
+  [21]=>
+  string(57) "struct DroitCreation {
+ string iObjet;
+ string iProfil;
+}"
+  [22]=>
+  string(62) "struct DroitCreationResponse {
+ boolean DroitCreationResult;
+}"
+  [23]=>
+  string(74) "struct ListeDroitCreation {
+ ArrayOfString iListeObjet;
+ string iProfil;
+}"
+  [24]=>
+  string(40) "struct ArrayOfString {
+ string string;
+}"
+  [25]=>
+  string(79) "struct ListeDroitCreationResponse {
+ ArrayOfAnyType ListeDroitCreationResult;
+}"
+  [26]=>
+  string(87) "struct GetDroitsObjetProtege {
+ string iObjet;
+ string iProfil;
+ string iUtilisateur;
+}"
+  [27]=>
+  string(154) "struct MGDroitsObjetProtege {
+ string LbUti;
+ string LbProf;
+ string LbServ;
+ string LbDir;
+ boolean isProtected;
+ ArrayOfMGDroitAcces ListeDroitsAcces;
+}"
+  [28]=>
+  string(58) "struct ArrayOfMGDroitAcces {
+ MGDroitAcces MGDroitAcces;
+}"
+  [29]=>
+  string(104) "struct MGDroitAcces {
+ string IdProfil;
+ boolean Lecture;
+ boolean Modification;
+ boolean Suppression;
+}"
+  [30]=>
+  string(91) "struct GetDroitsObjetProtegeResponse {
+ MGDroitsObjetProtege GetDroitsObjetProtegeResult;
+}"
+  [31]=>
+  string(76) "struct GetPrivileges {
+ string iIdSupport;
+ int iIdForme;
+ string iProfil;
+}"
+  [32]=>
+  string(68) "struct GetPrivilegesResponse {
+ ArrayOfString GetPrivilegesResult;
+}"
+  [33]=>
+  string(46) "struct GetLibelleProfil {
+ string iIdProfil;
+}"
+  [34]=>
+  string(67) "struct GetLibelleProfilResponse {
+ string GetLibelleProfilResult;
+}"
+  [35]=>
+  string(91) "struct GetValeurRecherche {
+ string iChampSource;
+ string iTable;
+ string iOrderByClause;
+}"
+  [36]=>
+  string(78) "struct GetValeurRechercheResponse {
+ ArrayOfString GetValeurRechercheResult;
+}"
+  [37]=>
+  string(128) "struct GetValeurRechercheWithClauseWhere {
+ string iChampSource;
+ string iTable;
+ string iClauseWhere;
+ string iOrderByClause;
+}"
+  [38]=>
+  string(108) "struct GetValeurRechercheWithClauseWhereResponse {
+ ArrayOfString GetValeurRechercheWithClauseWhereResult;
+}"
+  [39]=>
+  string(27) "struct GetEnvironnement {
+}"
+  [40]=>
+  string(106) "struct MGEnvironnement {
+ string RepBureautique;
+ string RepBureautiqueImage;
+ string RepBureautiqueDoc;
+}"
+  [41]=>
+  string(76) "struct GetEnvironnementResponse {
+ MGEnvironnement GetEnvironnementResult;
+}"
 }
\ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug29061.phpt b/ext/soap/tests/bugs/bug29061.phpt
index abede32..a85a7aa 100644
--- a/ext/soap/tests/bugs/bug29061.phpt
+++ b/ext/soap/tests/bugs/bug29061.phpt
@@ -1,14 +1,14 @@
---TEST--
-Bug #29061 (soap extension segfaults)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/bug29061.wsdl", array("exceptions"=>0)); 
-$client->getQuote("ibm"); 
-echo "ok\n";
-?>
---EXPECT--
+--TEST--
+Bug #29061 (soap extension segfaults)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/bug29061.wsdl", array("exceptions"=>0)); 
+$client->getQuote("ibm"); 
+echo "ok\n";
+?>
+--EXPECT--
 ok
\ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug29109.phpt b/ext/soap/tests/bugs/bug29109.phpt
index f998a1b..3b13974 100644
--- a/ext/soap/tests/bugs/bug29109.phpt
+++ b/ext/soap/tests/bugs/bug29109.phpt
@@ -1,16 +1,16 @@
---TEST--
-Bug #29109 (Uncaught SoapFault exception: [WSDL] Out of memory)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/bug29109.wsdl");
-var_dump($client->__getFunctions()); 
-?>
---EXPECT--
-array(1) {
-  [0]=>
-  string(53) "HelloWorldResponse HelloWorld(HelloWorld $parameters)"
+--TEST--
+Bug #29109 (Uncaught SoapFault exception: [WSDL] Out of memory)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/bug29109.wsdl");
+var_dump($client->__getFunctions()); 
+?>
+--EXPECT--
+array(1) {
+  [0]=>
+  string(53) "HelloWorldResponse HelloWorld(HelloWorld $parameters)"
 }
\ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug29236.phpt b/ext/soap/tests/bugs/bug29236.phpt
index d8003e2..7b7628d 100644
--- a/ext/soap/tests/bugs/bug29236.phpt
+++ b/ext/soap/tests/bugs/bug29236.phpt
@@ -1,22 +1,22 @@
---TEST--
-Bug #29236 (memory error when wsdl-cache is enabled)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=1
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/bug29236.wsdl");
-var_dump($client->__getFunctions()); 
-?>
---EXPECT--
-array(4) {
-  [0]=>
-  string(59) "StartSessionResponse StartSession(StartSession $parameters)"
-  [1]=>
-  string(62) "VerifySessionResponse VerifySession(VerifySession $parameters)"
-  [2]=>
-  string(41) "LogoutResponse Logout(Logout $parameters)"
-  [3]=>
-  string(62) "GetSystemInfoResponse GetSystemInfo(GetSystemInfo $parameters)"
-}
+--TEST--
+Bug #29236 (memory error when wsdl-cache is enabled)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=1
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/bug29236.wsdl");
+var_dump($client->__getFunctions()); 
+?>
+--EXPECT--
+array(4) {
+  [0]=>
+  string(59) "StartSessionResponse StartSession(StartSession $parameters)"
+  [1]=>
+  string(62) "VerifySessionResponse VerifySession(VerifySession $parameters)"
+  [2]=>
+  string(41) "LogoutResponse Logout(Logout $parameters)"
+  [3]=>
+  string(62) "GetSystemInfoResponse GetSystemInfo(GetSystemInfo $parameters)"
+}
diff --git a/ext/soap/tests/bugs/bug29795.phpt b/ext/soap/tests/bugs/bug29795.phpt
index db7e6e4..cb78cfc 100644
--- a/ext/soap/tests/bugs/bug29795.phpt
+++ b/ext/soap/tests/bugs/bug29795.phpt
@@ -1,34 +1,34 @@
---TEST--
-Bug #29795 (SegFault with Soap and Amazon's Web Services)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=1
---FILE--
-<?php
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    return <<<EOF
-<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
-xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><Price><Amount>3995</Amount><CurrencyCode>USD</CurrencyCode></Price></SOAP-ENV:Body></SOAP-ENV:Envelope>
-EOF;
-  }
-
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug29795.wsdl",array("trace"=>1));
-$ar=$client->GetPrice();
-echo "o";
-$client = new LocalSoapClient(dirname(__FILE__)."/bug29795.wsdl",array("trace"=>1));
-$ar=$client->GetPrice();
-echo "k\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #29795 (SegFault with Soap and Amazon's Web Services)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=1
+--FILE--
+<?php
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    return <<<EOF
+<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
+xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><Price><Amount>3995</Amount><CurrencyCode>USD</CurrencyCode></Price></SOAP-ENV:Body></SOAP-ENV:Envelope>
+EOF;
+  }
+
+}
+
+$client = new LocalSoapClient(dirname(__FILE__)."/bug29795.wsdl",array("trace"=>1));
+$ar=$client->GetPrice();
+echo "o";
+$client = new LocalSoapClient(dirname(__FILE__)."/bug29795.wsdl",array("trace"=>1));
+$ar=$client->GetPrice();
+echo "k\n";
+?>
+--EXPECT--
+ok
diff --git a/ext/soap/tests/bugs/bug29830.phpt b/ext/soap/tests/bugs/bug29830.phpt
index f843723..dc090f8 100644
--- a/ext/soap/tests/bugs/bug29830.phpt
+++ b/ext/soap/tests/bugs/bug29830.phpt
@@ -1,25 +1,25 @@
---TEST--
-Bug #29844 (SoapServer::setClass() should not export non-public methods)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-
-class hello_world {   
-  public function hello($to) {
-    return 'Hello ' . $to;
-  }    
-  private function bye($to) {
-    return 'Bye ' . $to;
-  }    
-}
-
-$server = new SoapServer(NULL, array("uri"=>"test://"));
-$server->setClass('hello_world');
-$functions = $server->getFunctions();
-foreach($functions as $func) {
-  echo $func . "\n";
-}
-?>
---EXPECT--
-hello
+--TEST--
+Bug #29844 (SoapServer::setClass() should not export non-public methods)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+class hello_world {   
+  public function hello($to) {
+    return 'Hello ' . $to;
+  }    
+  private function bye($to) {
+    return 'Bye ' . $to;
+  }    
+}
+
+$server = new SoapServer(NULL, array("uri"=>"test://"));
+$server->setClass('hello_world');
+$functions = $server->getFunctions();
+foreach($functions as $func) {
+  echo $func . "\n";
+}
+?>
+--EXPECT--
+hello
diff --git a/ext/soap/tests/bugs/bug29839.phpt b/ext/soap/tests/bugs/bug29839.phpt
index 26d63c8..0b0e0ba 100644
--- a/ext/soap/tests/bugs/bug29839.phpt
+++ b/ext/soap/tests/bugs/bug29839.phpt
@@ -1,43 +1,43 @@
---TEST--
-Bug #29839 (incorrect convert (xml:lang to lang))
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-
-function EchoString($s) {
-  return $s;
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('EchoString');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug29839.wsdl", array("trace"=>1)); 
-$client->EchoString(array("value"=>"hello","lang"=>"en"));
-echo $client->__getLastRequest();
-echo $client->__getLastResponse();
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+Bug #29839 (incorrect convert (xml:lang to lang))
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+
+function EchoString($s) {
+  return $s;
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('EchoString');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+
+}
+
+$client = new LocalSoapClient(dirname(__FILE__)."/bug29839.wsdl", array("trace"=>1)); 
+$client->EchoString(array("value"=>"hello","lang"=>"en"));
+echo $client->__getLastRequest();
+echo $client->__getLastResponse();
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/bugs/bug29844.phpt b/ext/soap/tests/bugs/bug29844.phpt
index d65327a..c96b14d 100644
--- a/ext/soap/tests/bugs/bug29844.phpt
+++ b/ext/soap/tests/bugs/bug29844.phpt
@@ -1,38 +1,38 @@
---TEST--
-Bug #29844 (SOAP doesn't return the result of a valid SOAP request)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-
-class hello_world {   
-  public function hello($to) {
-    return 'Hello ' . $to;
-  }    
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->setClass('hello_world');;
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug29844.wsdl", array("trace"=>1)); 
-var_dump($client->hello('davey'));
-?>
---EXPECT--
-string(11) "Hello davey"
+--TEST--
+Bug #29844 (SOAP doesn't return the result of a valid SOAP request)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+
+class hello_world {   
+  public function hello($to) {
+    return 'Hello ' . $to;
+  }    
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->setClass('hello_world');;
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+
+}
+
+$client = new LocalSoapClient(dirname(__FILE__)."/bug29844.wsdl", array("trace"=>1)); 
+var_dump($client->hello('davey'));
+?>
+--EXPECT--
+string(11) "Hello davey"
diff --git a/ext/soap/tests/bugs/bug30045.phpt b/ext/soap/tests/bugs/bug30045.phpt
index ab142ef..e119b71 100644
--- a/ext/soap/tests/bugs/bug30045.phpt
+++ b/ext/soap/tests/bugs/bug30045.phpt
@@ -1,173 +1,173 @@
---TEST--
-Bug #30045 (Cannot pass big integers (> 2147483647) in SOAP requests)
---SKIPIF--
-<?php 
-  if (!extension_loaded('soap')) die('skip soap extension not available');
-  if (!extension_loaded('simplexml')) die('skip simplexml extension not available');
-?>
---INI--
-soap.wsdl_cache_enabled=1
---FILE--
-<?php
-
-function foo($type, $num) {
-  return new SoapVar($num, $type);
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('foo');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    $xml = simplexml_load_string($request);
-    echo $xml->children("http://schemas.xmlsoap.org/soap/envelope/")->Body->children("http://test-uri")->children()->param1->asXML(),"\n";
-    unset($xml);
-
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-
-    return $response;
-  }
-
-}
-
-$soap = new LocalSoapClient(NULL, array("uri"=>"http://test-uri", "location"=>"test://"));
-
-function test($type, $num) {
-  global $soap;
-  try {
-	  printf("  %0.0f\n    ", $num);  	
-	  $ret = $soap->foo($type, new SoapVar($num, $type));
-	  printf("    %0.0f\n", $ret);
-	} catch (SoapFault $ex) {
-	  var_dump($ex);
-	}
-}
-/*
-echo "byte\n";
-//test(XSD_BYTE, -129);
-test(XSD_BYTE, -128);
-test(XSD_BYTE,  127);
-//test(XSD_BYTE,  128);
-
-echo "\nshort\n";
-//test(XSD_SHORT, -32769);
-test(XSD_SHORT, -32768);
-test(XSD_SHORT,  32767);
-//test(XSD_SHORT,  32768);
-
-echo "\nint\n";
-//test(XSD_INT, -2147483649);
-test(XSD_INT, -2147483648);
-test(XSD_INT,  2147483647);
-//test(XSD_INT,  2147483648);
-
-echo "\nlong\n";
-//test(XSD_LONG, -9223372036854775809);
-test(XSD_LONG, -9223372036854775808);
-test(XSD_LONG,  9223372036854775807);
-//test(XSD_LONG,  9223372036854775808);
-
-echo "\nunsignedByte\n";
-//test(XSD_UNSIGNEDBYTE, -1);
-test(XSD_UNSIGNEDBYTE,  0);
-test(XSD_UNSIGNEDBYTE,  255);
-//test(XSD_UNSIGNEDBYTE,  256);
-
-echo "\nunsignedShort\n";
-//test(XSD_UNSIGNEDSHORT, -1);
-test(XSD_UNSIGNEDSHORT,  0);
-test(XSD_UNSIGNEDSHORT,  65535);
-//test(XSD_UNSIGNEDSHORT,  65536);
-
-echo "\nunsignedInt\n";
-//test(XSD_UNSIGNEDINT, -1);
-test(XSD_UNSIGNEDINT,  0);
-test(XSD_UNSIGNEDINT,  4294967295);
-//test(XSD_UNSIGNEDINT,  4294967296);
-
-echo "\nunsignedLong\n";
-//test(XSD_UNSIGNEDLONG, -1);
-test(XSD_UNSIGNEDLONG,  0);
-test(XSD_UNSIGNEDLONG,  18446744073709551615);
-//test(XSD_UNSIGNEDLONG,  18446744073709551616);
-
-echo "\nnegativeInteger\n";
-test(XSD_NEGATIVEINTEGER, -18446744073709551616);
-test(XSD_NEGATIVEINTEGER, -1);
-//test(XSD_NEGATIVEINTEGER,  0);
-
-echo "\nnonPositiveInteger\n";
-test(XSD_NONPOSITIVEINTEGER, -18446744073709551616);
-test(XSD_NONPOSITIVEINTEGER,  0);
-//test(XSD_NONPOSITIVEINTEGER,  1);
-
-echo "\nnonNegativeInteger\n";
-//test(XSD_NONNEGATIVEINTEGER, -1);
-test(XSD_NONNEGATIVEINTEGER,  0);
-test(XSD_NONNEGATIVEINTEGER,  18446744073709551616);
-
-echo "\nPositiveInteger\n";
-//test(XSD_POSITIVEINTEGER,  0);
-test(XSD_POSITIVEINTEGER,  1);
-test(XSD_POSITIVEINTEGER,  18446744073709551616);
-
-echo "\ninteger\n";
-test(XSD_INTEGER, -18446744073709551616);
-test(XSD_INTEGER,  18446744073709551616);
-*/
-echo "long\n";
-test(XSD_LONG, 2147483647);
-test(XSD_LONG, 2147483648);
-test(XSD_LONG,  4294967296);
-test(XSD_LONG,  8589934592);
-test(XSD_LONG, 17179869184); 
-
-echo "\nunsignedLong\n";
-test(XSD_UNSIGNEDLONG,  2147483647);
-test(XSD_UNSIGNEDLONG,  2147483648);
-test(XSD_UNSIGNEDLONG,  4294967296);
-test(XSD_UNSIGNEDLONG,  8589934592);
-test(XSD_UNSIGNEDLONG, 17179869184);
-
-?>
---EXPECT--
-long
-  2147483647
-    <param1 xsi:type="xsd:long">2147483647</param1>
-    2147483647
-  2147483648
-    <param1 xsi:type="xsd:long">2147483648</param1>
-    2147483648
-  4294967296
-    <param1 xsi:type="xsd:long">4294967296</param1>
-    4294967296
-  8589934592
-    <param1 xsi:type="xsd:long">8589934592</param1>
-    8589934592
-  17179869184
-    <param1 xsi:type="xsd:long">17179869184</param1>
-    17179869184
-
-unsignedLong
-  2147483647
-    <param1 xsi:type="xsd:unsignedLong">2147483647</param1>
-    2147483647
-  2147483648
-    <param1 xsi:type="xsd:unsignedLong">2147483648</param1>
-    2147483648
-  4294967296
-    <param1 xsi:type="xsd:unsignedLong">4294967296</param1>
-    4294967296
-  8589934592
-    <param1 xsi:type="xsd:unsignedLong">8589934592</param1>
-    8589934592
-  17179869184
-    <param1 xsi:type="xsd:unsignedLong">17179869184</param1>
-    17179869184
+--TEST--
+Bug #30045 (Cannot pass big integers (> 2147483647) in SOAP requests)
+--SKIPIF--
+<?php 
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+  if (!extension_loaded('simplexml')) die('skip simplexml extension not available');
+?>
+--INI--
+soap.wsdl_cache_enabled=1
+--FILE--
+<?php
+
+function foo($type, $num) {
+  return new SoapVar($num, $type);
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('foo');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    $xml = simplexml_load_string($request);
+    echo $xml->children("http://schemas.xmlsoap.org/soap/envelope/")->Body->children("http://test-uri")->children()->param1->asXML(),"\n";
+    unset($xml);
+
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+
+    return $response;
+  }
+
+}
+
+$soap = new LocalSoapClient(NULL, array("uri"=>"http://test-uri", "location"=>"test://"));
+
+function test($type, $num) {
+  global $soap;
+  try {
+	  printf("  %0.0f\n    ", $num);  	
+	  $ret = $soap->foo($type, new SoapVar($num, $type));
+	  printf("    %0.0f\n", $ret);
+	} catch (SoapFault $ex) {
+	  var_dump($ex);
+	}
+}
+/*
+echo "byte\n";
+//test(XSD_BYTE, -129);
+test(XSD_BYTE, -128);
+test(XSD_BYTE,  127);
+//test(XSD_BYTE,  128);
+
+echo "\nshort\n";
+//test(XSD_SHORT, -32769);
+test(XSD_SHORT, -32768);
+test(XSD_SHORT,  32767);
+//test(XSD_SHORT,  32768);
+
+echo "\nint\n";
+//test(XSD_INT, -2147483649);
+test(XSD_INT, -2147483648);
+test(XSD_INT,  2147483647);
+//test(XSD_INT,  2147483648);
+
+echo "\nlong\n";
+//test(XSD_LONG, -9223372036854775809);
+test(XSD_LONG, -9223372036854775808);
+test(XSD_LONG,  9223372036854775807);
+//test(XSD_LONG,  9223372036854775808);
+
+echo "\nunsignedByte\n";
+//test(XSD_UNSIGNEDBYTE, -1);
+test(XSD_UNSIGNEDBYTE,  0);
+test(XSD_UNSIGNEDBYTE,  255);
+//test(XSD_UNSIGNEDBYTE,  256);
+
+echo "\nunsignedShort\n";
+//test(XSD_UNSIGNEDSHORT, -1);
+test(XSD_UNSIGNEDSHORT,  0);
+test(XSD_UNSIGNEDSHORT,  65535);
+//test(XSD_UNSIGNEDSHORT,  65536);
+
+echo "\nunsignedInt\n";
+//test(XSD_UNSIGNEDINT, -1);
+test(XSD_UNSIGNEDINT,  0);
+test(XSD_UNSIGNEDINT,  4294967295);
+//test(XSD_UNSIGNEDINT,  4294967296);
+
+echo "\nunsignedLong\n";
+//test(XSD_UNSIGNEDLONG, -1);
+test(XSD_UNSIGNEDLONG,  0);
+test(XSD_UNSIGNEDLONG,  18446744073709551615);
+//test(XSD_UNSIGNEDLONG,  18446744073709551616);
+
+echo "\nnegativeInteger\n";
+test(XSD_NEGATIVEINTEGER, -18446744073709551616);
+test(XSD_NEGATIVEINTEGER, -1);
+//test(XSD_NEGATIVEINTEGER,  0);
+
+echo "\nnonPositiveInteger\n";
+test(XSD_NONPOSITIVEINTEGER, -18446744073709551616);
+test(XSD_NONPOSITIVEINTEGER,  0);
+//test(XSD_NONPOSITIVEINTEGER,  1);
+
+echo "\nnonNegativeInteger\n";
+//test(XSD_NONNEGATIVEINTEGER, -1);
+test(XSD_NONNEGATIVEINTEGER,  0);
+test(XSD_NONNEGATIVEINTEGER,  18446744073709551616);
+
+echo "\nPositiveInteger\n";
+//test(XSD_POSITIVEINTEGER,  0);
+test(XSD_POSITIVEINTEGER,  1);
+test(XSD_POSITIVEINTEGER,  18446744073709551616);
+
+echo "\ninteger\n";
+test(XSD_INTEGER, -18446744073709551616);
+test(XSD_INTEGER,  18446744073709551616);
+*/
+echo "long\n";
+test(XSD_LONG, 2147483647);
+test(XSD_LONG, 2147483648);
+test(XSD_LONG,  4294967296);
+test(XSD_LONG,  8589934592);
+test(XSD_LONG, 17179869184); 
+
+echo "\nunsignedLong\n";
+test(XSD_UNSIGNEDLONG,  2147483647);
+test(XSD_UNSIGNEDLONG,  2147483648);
+test(XSD_UNSIGNEDLONG,  4294967296);
+test(XSD_UNSIGNEDLONG,  8589934592);
+test(XSD_UNSIGNEDLONG, 17179869184);
+
+?>
+--EXPECT--
+long
+  2147483647
+    <param1 xsi:type="xsd:long">2147483647</param1>
+    2147483647
+  2147483648
+    <param1 xsi:type="xsd:long">2147483648</param1>
+    2147483648
+  4294967296
+    <param1 xsi:type="xsd:long">4294967296</param1>
+    4294967296
+  8589934592
+    <param1 xsi:type="xsd:long">8589934592</param1>
+    8589934592
+  17179869184
+    <param1 xsi:type="xsd:long">17179869184</param1>
+    17179869184
+
+unsignedLong
+  2147483647
+    <param1 xsi:type="xsd:unsignedLong">2147483647</param1>
+    2147483647
+  2147483648
+    <param1 xsi:type="xsd:unsignedLong">2147483648</param1>
+    2147483648
+  4294967296
+    <param1 xsi:type="xsd:unsignedLong">4294967296</param1>
+    4294967296
+  8589934592
+    <param1 xsi:type="xsd:unsignedLong">8589934592</param1>
+    8589934592
+  17179869184
+    <param1 xsi:type="xsd:unsignedLong">17179869184</param1>
+    17179869184
diff --git a/ext/soap/tests/bugs/bug30106.phpt b/ext/soap/tests/bugs/bug30106.phpt
index 1745f56..6cd2396 100644
--- a/ext/soap/tests/bugs/bug30106.phpt
+++ b/ext/soap/tests/bugs/bug30106.phpt
@@ -1,72 +1,72 @@
---TEST--
-Bug #30106 (SOAP cannot not parse 'ref' element. Causes Uncaught SoapFault exception)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled", 0);
-
-function getContinentList() {
-	return array("getContinentListResult"=>array(
-	  "schema"=>"<xsd:schema><element name=\"test\" type=\"xsd:string\"/></xsd:schema>",
-	  "any"=>"<test>Hello World!</test><test>Bye World!</test>"));
-}
-
-class LocalSoapClient extends SoapClient {
-  function __construct($wsdl, $options=array()) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-		$this->server->addFunction("getContinentList"); 
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-  	echo $request;
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-  	echo $response;
-    return $response;
-  }
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug30106.wsdl");
-var_dump($client->__getFunctions());
-var_dump($client->__getTypes());
-$x = $client->getContinentList(array("AFFILIATE_ID"=>1,"PASSWORD"=>"x"));
-var_dump($x);
-?>
---EXPECTF--
-array(1) {
-  [0]=>
-  string(71) "getContinentListResponse getContinentList(getContinentList $parameters)"
-}
-array(3) {
-  [0]=>
-  string(64) "struct getContinentList {
- int AFFILIATE_ID;
- string PASSWORD;
-}"
-  [1]=>
-  string(83) "struct getContinentListResponse {
- getContinentListResult getContinentListResult;
-}"
-  [2]=>
-  string(66) "struct getContinentListResult {
- <anyXML> schema;
- <anyXML> any;
-}"
-}
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/PRWebServ/getOtherInformation"><SOAP-ENV:Body><ns1:getContinentList><ns1:AFFILIATE_ID>1</ns1:AFFILIATE_ID><ns1:PASSWORD>x</ns1:PASSWORD></ns1:getContinentList></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://tempuri.org/PRWebServ/getOtherInformation"><SOAP-ENV:Body><ns1:getContinentListResponse><ns1:getContinentListResult><xsd:schema><element name="test" type="xsd:string"/></xsd:schema><test>Hello World!</test><test>Bye World!</test></ns1:getContinentListResult></ns1:getContinentListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (1) {
-  ["getContinentListResult"]=>
-  object(stdClass)#%d (2) {
-    ["schema"]=>
-    string(65) "<xsd:schema><element name="test" type="xsd:string"/></xsd:schema>"
-    ["any"]=>
-    string(48) "<test>Hello World!</test><test>Bye World!</test>"
-  }
-}
+--TEST--
+Bug #30106 (SOAP cannot not parse 'ref' element. Causes Uncaught SoapFault exception)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled", 0);
+
+function getContinentList() {
+	return array("getContinentListResult"=>array(
+	  "schema"=>"<xsd:schema><element name=\"test\" type=\"xsd:string\"/></xsd:schema>",
+	  "any"=>"<test>Hello World!</test><test>Bye World!</test>"));
+}
+
+class LocalSoapClient extends SoapClient {
+  function __construct($wsdl, $options=array()) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+		$this->server->addFunction("getContinentList"); 
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+  	echo $request;
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+  	echo $response;
+    return $response;
+  }
+}
+
+$client = new LocalSoapClient(dirname(__FILE__)."/bug30106.wsdl");
+var_dump($client->__getFunctions());
+var_dump($client->__getTypes());
+$x = $client->getContinentList(array("AFFILIATE_ID"=>1,"PASSWORD"=>"x"));
+var_dump($x);
+?>
+--EXPECTF--
+array(1) {
+  [0]=>
+  string(71) "getContinentListResponse getContinentList(getContinentList $parameters)"
+}
+array(3) {
+  [0]=>
+  string(64) "struct getContinentList {
+ int AFFILIATE_ID;
+ string PASSWORD;
+}"
+  [1]=>
+  string(83) "struct getContinentListResponse {
+ getContinentListResult getContinentListResult;
+}"
+  [2]=>
+  string(66) "struct getContinentListResult {
+ <anyXML> schema;
+ <anyXML> any;
+}"
+}
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/PRWebServ/getOtherInformation"><SOAP-ENV:Body><ns1:getContinentList><ns1:AFFILIATE_ID>1</ns1:AFFILIATE_ID><ns1:PASSWORD>x</ns1:PASSWORD></ns1:getContinentList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://tempuri.org/PRWebServ/getOtherInformation"><SOAP-ENV:Body><ns1:getContinentListResponse><ns1:getContinentListResult><xsd:schema><element name="test" type="xsd:string"/></xsd:schema><test>Hello World!</test><test>Bye World!</test></ns1:getContinentListResult></ns1:getContinentListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#%d (1) {
+  ["getContinentListResult"]=>
+  object(stdClass)#%d (2) {
+    ["schema"]=>
+    string(65) "<xsd:schema><element name="test" type="xsd:string"/></xsd:schema>"
+    ["any"]=>
+    string(48) "<test>Hello World!</test><test>Bye World!</test>"
+  }
+}
diff --git a/ext/soap/tests/bugs/bug30175.phpt b/ext/soap/tests/bugs/bug30175.phpt
index 15c33b3..f5501ac 100644
--- a/ext/soap/tests/bugs/bug30175.phpt
+++ b/ext/soap/tests/bugs/bug30175.phpt
@@ -1,47 +1,47 @@
---TEST--
-Bug #30175 (SOAP results aren't parsed correctly)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-
-class LocalSoapClient extends SoapClient {
-
-  function __doRequest($request, $location, $action, $version) {
-    return <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope
-xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
-xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-xmlns:ns1="urn:qweb">
-<SOAP-ENV:Body
-SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
-id="_0">
-<ns1:HostInfo xsi:type="ns1:HostInfo">
-<name xsi:type="xsd:string">blah blah some name field</name>
-<shortDescription xsi:type="xsd:string">This is a description. more blah blah blah</shortDescription>
-<ipAddress xsi:type="xsd:string">127.0.0.1</ipAddress>
-</ns1:HostInfo>
-</SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-  }
-
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug30175.wsdl");
-var_dump($client->qwebGetHostInfo());
-?>
---EXPECT--
-array(3) {
-  ["name"]=>
-  string(25) "blah blah some name field"
-  ["shortDescription"]=>
-  string(42) "This is a description. more blah blah blah"
-  ["ipAddress"]=>
-  string(9) "127.0.0.1"
-}
+--TEST--
+Bug #30175 (SOAP results aren't parsed correctly)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+
+class LocalSoapClient extends SoapClient {
+
+  function __doRequest($request, $location, $action, $version) {
+    return <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:ns1="urn:qweb">
+<SOAP-ENV:Body
+SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+id="_0">
+<ns1:HostInfo xsi:type="ns1:HostInfo">
+<name xsi:type="xsd:string">blah blah some name field</name>
+<shortDescription xsi:type="xsd:string">This is a description. more blah blah blah</shortDescription>
+<ipAddress xsi:type="xsd:string">127.0.0.1</ipAddress>
+</ns1:HostInfo>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+EOF;
+  }
+
+}
+
+$client = new LocalSoapClient(dirname(__FILE__)."/bug30175.wsdl");
+var_dump($client->qwebGetHostInfo());
+?>
+--EXPECT--
+array(3) {
+  ["name"]=>
+  string(25) "blah blah some name field"
+  ["shortDescription"]=>
+  string(42) "This is a description. more blah blah blah"
+  ["ipAddress"]=>
+  string(9) "127.0.0.1"
+}
diff --git a/ext/soap/tests/bugs/bug30799.phpt b/ext/soap/tests/bugs/bug30799.phpt
index c478c73..fe7c8ca 100644
--- a/ext/soap/tests/bugs/bug30799.phpt
+++ b/ext/soap/tests/bugs/bug30799.phpt
@@ -1,25 +1,25 @@
---TEST--
-Bug #30799 (SoapServer doesn't handle private or protected properties)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class foo {
-	public    $a="a";
-	private   $b="b";
-	protected $c="c";
-		
-}
-
-$x = new SoapClient(NULL,array("location"=>"test://",
-                               "uri" => "test://",
-                               "exceptions" => 0,
-                               "trace" => 1 ));
-$x->test(new foo());
-echo $x->__getLastRequest();
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test><param0 xsi:type="SOAP-ENC:Struct"><a xsi:type="xsd:string">a</a><b xsi:type="xsd:string">b</b><c xsi:type="xsd:string">c</c></param0></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+Bug #30799 (SoapServer doesn't handle private or protected properties)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class foo {
+	public    $a="a";
+	private   $b="b";
+	protected $c="c";
+		
+}
+
+$x = new SoapClient(NULL,array("location"=>"test://",
+                               "uri" => "test://",
+                               "exceptions" => 0,
+                               "trace" => 1 ));
+$x->test(new foo());
+echo $x->__getLastRequest();
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test><param0 xsi:type="SOAP-ENC:Struct"><a xsi:type="xsd:string">a</a><b xsi:type="xsd:string">b</b><c xsi:type="xsd:string">c</c></param0></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/bugs/bug30928.phpt b/ext/soap/tests/bugs/bug30928.phpt
index a4873af..f1283fb 100644
--- a/ext/soap/tests/bugs/bug30928.phpt
+++ b/ext/soap/tests/bugs/bug30928.phpt
@@ -1,63 +1,63 @@
---TEST--
-Bug #30928 (When Using WSDL, SoapServer doesn't handle private or protected properties)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled", 0);
-
-class foo {
-	public    $a="a";
-	private   $b="b";
-	protected $c="c";
-}
-
-function test($x) {
-  return $x;
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('test');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-}
-
-$x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl", 
-                         array());
-var_dump($x->test(new foo()));
-
-$x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl", 
-                         array("classmap" => array('testType'=>'foo')));
-var_dump($x->test(new foo()));
-
-echo "ok\n";
-?>
---EXPECTF--
-object(stdClass)#%d (3) {
-  ["a"]=>
-  string(1) "a"
-  ["b"]=>
-  string(1) "b"
-  ["c"]=>
-  string(1) "c"
-}
-object(foo)#%d (3) {
-  ["a"]=>
-  string(1) "a"
-  ["b:private"]=>
-  string(1) "b"
-  ["c:protected"]=>
-  string(1) "c"
-}
-ok
+--TEST--
+Bug #30928 (When Using WSDL, SoapServer doesn't handle private or protected properties)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled", 0);
+
+class foo {
+	public    $a="a";
+	private   $b="b";
+	protected $c="c";
+}
+
+function test($x) {
+  return $x;
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('test');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+}
+
+$x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl", 
+                         array());
+var_dump($x->test(new foo()));
+
+$x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl", 
+                         array("classmap" => array('testType'=>'foo')));
+var_dump($x->test(new foo()));
+
+echo "ok\n";
+?>
+--EXPECTF--
+object(stdClass)#%d (3) {
+  ["a"]=>
+  string(1) "a"
+  ["b"]=>
+  string(1) "b"
+  ["c"]=>
+  string(1) "c"
+}
+object(foo)#%d (3) {
+  ["a"]=>
+  string(1) "a"
+  ["b:private"]=>
+  string(1) "b"
+  ["c:protected"]=>
+  string(1) "c"
+}
+ok
diff --git a/ext/soap/tests/bugs/bug30994.phpt b/ext/soap/tests/bugs/bug30994.phpt
index 4d0d933..28e3b92 100644
--- a/ext/soap/tests/bugs/bug30994.phpt
+++ b/ext/soap/tests/bugs/bug30994.phpt
@@ -1,47 +1,47 @@
---TEST--
-Bug #30994 (SOAP server unable to handle request with references)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="utf-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
-	xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
-	xmlns:tns="http://spock/kunta/kunta"
-	xmlns:types="http://spock/kunta/kunta/encodedTypes"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
-<soap:Body
-soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
-	<q1:bassCall xmlns:q1="http://spock/bass/types/kunta">
-		<system xsi:type="xsd:string">XXX</system>
-		<function xsi:type="xsd:string">TASKTEST</function>
-		<parameter href="#id1" />
-	</q1:bassCall>
-	
-	<soapenc:Array id="id1" soapenc:arrayType="tns:Item[1]">
-		<Item href="#id2" />
-	</soapenc:Array>
-	
-	<tns:Item id="id2" xsi:type="tns:Item">
-		<key xsi:type="xsd:string">ABCabc123</key>
-		<val xsi:type="xsd:string">123456</val>
-	</tns:Item>
-	
-</soap:Body>
-</soap:Envelope>
-EOF;
-
-function bassCall() {
-  return "ok";
-}
-
-$x = new SoapServer(NULL, array("uri"=>"http://spock/kunta/kunta"));
-$x->addFunction("bassCall");
-$x->handle($HTTP_RAW_POST_DATA);
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://spock/kunta/kunta" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:bassCallResponse><return xsi:type="xsd:string">ok</return></ns1:bassCallResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #30994 (SOAP server unable to handle request with references)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="utf-8"?>
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
+	xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+	xmlns:tns="http://spock/kunta/kunta"
+	xmlns:types="http://spock/kunta/kunta/encodedTypes"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+<soap:Body
+soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+	<q1:bassCall xmlns:q1="http://spock/bass/types/kunta">
+		<system xsi:type="xsd:string">XXX</system>
+		<function xsi:type="xsd:string">TASKTEST</function>
+		<parameter href="#id1" />
+	</q1:bassCall>
+	
+	<soapenc:Array id="id1" soapenc:arrayType="tns:Item[1]">
+		<Item href="#id2" />
+	</soapenc:Array>
+	
+	<tns:Item id="id2" xsi:type="tns:Item">
+		<key xsi:type="xsd:string">ABCabc123</key>
+		<val xsi:type="xsd:string">123456</val>
+	</tns:Item>
+	
+</soap:Body>
+</soap:Envelope>
+EOF;
+
+function bassCall() {
+  return "ok";
+}
+
+$x = new SoapServer(NULL, array("uri"=>"http://spock/kunta/kunta"));
+$x->addFunction("bassCall");
+$x->handle($HTTP_RAW_POST_DATA);
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://spock/kunta/kunta" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:bassCallResponse><return xsi:type="xsd:string">ok</return></ns1:bassCallResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug31422.phpt b/ext/soap/tests/bugs/bug31422.phpt
index b10f4ec..459da78 100644
--- a/ext/soap/tests/bugs/bug31422.phpt
+++ b/ext/soap/tests/bugs/bug31422.phpt
@@ -1,42 +1,42 @@
---TEST--
-Bug #31422 (No Error-Logging on SoapServer-Side)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-log_errors=1
---FILE--
-<?php
-function Add($x,$y) {
-	fopen();
-	user_error("Hello", E_USER_ERROR);
-  return $x+$y;
-}
-
-$server = new SoapServer(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("Add");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
-  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
-  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:si="http://soapinterop.org/xsd">
-  <SOAP-ENV:Body>
-    <ns1:Add xmlns:ns1="http://testuri.org">
-      <x xsi:type="xsd:int">22</x>
-      <y xsi:type="xsd:int">33</y>
-    </ns1:Add>
-  </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle($HTTP_RAW_POST_DATA);
-echo "ok\n";
-?>
---EXPECTF--
-PHP Warning:  fopen() expects at least 2 parameters, 0 given in %sbug31422.php on line %d
-PHP Fatal error:  Hello in %sbug31422.php on line %d
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Hello</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #31422 (No Error-Logging on SoapServer-Side)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+log_errors=1
+--FILE--
+<?php
+function Add($x,$y) {
+	fopen();
+	user_error("Hello", E_USER_ERROR);
+  return $x+$y;
+}
+
+$server = new SoapServer(null,array('uri'=>"http://testuri.org"));
+$server->addfunction("Add");
+
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<SOAP-ENV:Envelope
+  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:si="http://soapinterop.org/xsd">
+  <SOAP-ENV:Body>
+    <ns1:Add xmlns:ns1="http://testuri.org">
+      <x xsi:type="xsd:int">22</x>
+      <y xsi:type="xsd:int">33</y>
+    </ns1:Add>
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+EOF;
+
+$server->handle($HTTP_RAW_POST_DATA);
+echo "ok\n";
+?>
+--EXPECTF--
+PHP Warning:  fopen() expects at least 2 parameters, 0 given in %sbug31422.php on line %d
+PHP Fatal error:  Hello in %sbug31422.php on line %d
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Hello</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug31695.phpt b/ext/soap/tests/bugs/bug31695.phpt
index 0779e3d..60eb40c 100644
--- a/ext/soap/tests/bugs/bug31695.phpt
+++ b/ext/soap/tests/bugs/bug31695.phpt
@@ -1,62 +1,62 @@
---TEST--
-Bug #31695 (Cannot redefine endpoint when using WSDL)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled", 0);
-
-function Test($x) {
-	return $x;
-}
-
-class LocalSoapClient extends SoapClient {
-  function __construct($wsdl, $options=array()) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-		$this->server->addFunction("Test"); 
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-  	echo "$location\n";
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug31695.wsdl");
-$client->Test("str");
-$client = new LocalSoapClient(dirname(__FILE__)."/bug31695.wsdl", array("location"=>"test://1"));
-$client->Test("str");
-$client->__soapCall("Test", 
-                    array("arg1"),
-                     array("location"=>"test://2"));
-$old = $client->__setLocation("test://3");
-echo "$old\n";
-$client->Test("str");
-$client->Test("str");
-$client->__setLocation($old);
-$client->Test("str");
-$old = $client->__setLocation();
-$client->Test("str");
-$client->__setLocation($old);
-$client->Test("str");
-$client->__setLocation(null);
-$client->Test("str");
-var_dump($client->__setLocation());
-?>
---EXPECT--
-test://0
-test://1
-test://2
-test://1
-test://3
-test://3
-test://1
-test://0
-test://1
-test://0
-NULL
+--TEST--
+Bug #31695 (Cannot redefine endpoint when using WSDL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled", 0);
+
+function Test($x) {
+	return $x;
+}
+
+class LocalSoapClient extends SoapClient {
+  function __construct($wsdl, $options=array()) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+		$this->server->addFunction("Test"); 
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+  	echo "$location\n";
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+}
+
+$client = new LocalSoapClient(dirname(__FILE__)."/bug31695.wsdl");
+$client->Test("str");
+$client = new LocalSoapClient(dirname(__FILE__)."/bug31695.wsdl", array("location"=>"test://1"));
+$client->Test("str");
+$client->__soapCall("Test", 
+                    array("arg1"),
+                     array("location"=>"test://2"));
+$old = $client->__setLocation("test://3");
+echo "$old\n";
+$client->Test("str");
+$client->Test("str");
+$client->__setLocation($old);
+$client->Test("str");
+$old = $client->__setLocation();
+$client->Test("str");
+$client->__setLocation($old);
+$client->Test("str");
+$client->__setLocation(null);
+$client->Test("str");
+var_dump($client->__setLocation());
+?>
+--EXPECT--
+test://0
+test://1
+test://2
+test://1
+test://3
+test://3
+test://1
+test://0
+test://1
+test://0
+NULL
diff --git a/ext/soap/tests/bugs/bug31755.phpt b/ext/soap/tests/bugs/bug31755.phpt
index a0f8a4c..1346d3b 100644
--- a/ext/soap/tests/bugs/bug31755.phpt
+++ b/ext/soap/tests/bugs/bug31755.phpt
@@ -1,17 +1,17 @@
---TEST--
-Bug #31422 (No Error-Logging on SoapServer-Side)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client=new SOAPClient(null, array('location' => 'http://localhost',
-'uri' => 'myNS', 'exceptions' => false, 'trace' => true));
-
-$header = new SOAPHeader(null, 'foo', 'bar');
-
-$response= $client->__call('function', array(), null, $header);
-
-print $client->__getLastRequest();
-?>
---EXPECTF--
-Fatal error: SoapHeader::SoapHeader(): Invalid parameters. Invalid namespace. in %s on line %d
+--TEST--
+Bug #31422 (No Error-Logging on SoapServer-Side)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client=new SOAPClient(null, array('location' => 'http://localhost',
+'uri' => 'myNS', 'exceptions' => false, 'trace' => true));
+
+$header = new SOAPHeader(null, 'foo', 'bar');
+
+$response= $client->__call('function', array(), null, $header);
+
+print $client->__getLastRequest();
+?>
+--EXPECTF--
+Fatal error: SoapHeader::SoapHeader(): Invalid parameters. Invalid namespace. in %s on line %d
diff --git a/ext/soap/tests/bugs/bug32776.phpt b/ext/soap/tests/bugs/bug32776.phpt
index 10941e6..9d56c28 100644
--- a/ext/soap/tests/bugs/bug32776.phpt
+++ b/ext/soap/tests/bugs/bug32776.phpt
@@ -1,49 +1,49 @@
---TEST--
-Bug #32776 (SOAP doesn't support one-way operations)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-
-$d = null;
-
-function test($x) {
-	global $d;
-	$d = $x;
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('test');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-
-}
-
-$x = new LocalSoapClient(dirname(__FILE__)."/bug32776.wsdl",array("trace"=>true,"exceptions"=>false)); 
-var_dump($x->test("Hello"));
-var_dump($d);
-var_dump($x->__getLastRequest());
-var_dump($x->__getLastResponse());
-echo "ok\n";
-?>
---EXPECT--
-NULL
-string(5) "Hello"
-string(459) "<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:test><x xsi:type="xsd:string">Hello</x></SOAP-ENV:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-"
-string(0) ""
-ok
+--TEST--
+Bug #32776 (SOAP doesn't support one-way operations)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+
+$d = null;
+
+function test($x) {
+	global $d;
+	$d = $x;
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('test');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+
+}
+
+$x = new LocalSoapClient(dirname(__FILE__)."/bug32776.wsdl",array("trace"=>true,"exceptions"=>false)); 
+var_dump($x->test("Hello"));
+var_dump($d);
+var_dump($x->__getLastRequest());
+var_dump($x->__getLastResponse());
+echo "ok\n";
+?>
+--EXPECT--
+NULL
+string(5) "Hello"
+string(459) "<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:test><x xsi:type="xsd:string">Hello</x></SOAP-ENV:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
+"
+string(0) ""
+ok
diff --git a/ext/soap/tests/bugs/bug34449.phpt b/ext/soap/tests/bugs/bug34449.phpt
index 44b3ff8..1bc9ff8 100755
--- a/ext/soap/tests/bugs/bug34449.phpt
+++ b/ext/soap/tests/bugs/bug34449.phpt
@@ -1,20 +1,20 @@
---TEST--
-Bug #34449 (ext/soap: XSD_ANYXML functionality not exposed)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class TestSoapClient extends SoapClient {
-  function __doRequest($request, $location, $action, $version) {
-  	echo "$request\n";
-  	exit;
-  }
-}
-
-$my_xml = "<array><item/><item/><item/></array>";
-$client = new TestSoapClient(null, array('location' => 'test://', 'uri' => 'test://'));
-$client->AnyFunction(new SoapVar($my_xml, XSD_ANYXML));
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:AnyFunction><array><item/><item/><item/></array></ns1:AnyFunction></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #34449 (ext/soap: XSD_ANYXML functionality not exposed)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class TestSoapClient extends SoapClient {
+  function __doRequest($request, $location, $action, $version) {
+  	echo "$request\n";
+  	exit;
+  }
+}
+
+$my_xml = "<array><item/><item/><item/></array>";
+$client = new TestSoapClient(null, array('location' => 'test://', 'uri' => 'test://'));
+$client->AnyFunction(new SoapVar($my_xml, XSD_ANYXML));
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:AnyFunction><array><item/><item/><item/></array></ns1:AnyFunction></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug34453.phpt b/ext/soap/tests/bugs/bug34453.phpt
index f186f69..3600d25 100755
--- a/ext/soap/tests/bugs/bug34453.phpt
+++ b/ext/soap/tests/bugs/bug34453.phpt
@@ -1,43 +1,43 @@
---TEST--
-Bug #29839 (incorrect convert (xml:lang to lang))
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-
-function EchoString($s) {
-  return $s;
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('EchoString');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug34453.wsdl", array("trace"=>1)); 
-$client->EchoString(array("value"=>"hello","lang"=>"en"));
-echo $client->__getLastRequest();
-echo $client->__getLastResponse();
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+Bug #29839 (incorrect convert (xml:lang to lang))
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+
+function EchoString($s) {
+  return $s;
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('EchoString');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+
+}
+
+$client = new LocalSoapClient(dirname(__FILE__)."/bug34453.wsdl", array("trace"=>1)); 
+$client->EchoString(array("value"=>"hello","lang"=>"en"));
+echo $client->__getLastRequest();
+echo $client->__getLastResponse();
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/bugs/bug34643.phpt b/ext/soap/tests/bugs/bug34643.phpt
index e1e97a9..d05f9bd 100755
--- a/ext/soap/tests/bugs/bug34643.phpt
+++ b/ext/soap/tests/bugs/bug34643.phpt
@@ -1,48 +1,48 @@
---TEST--
-Bug #34643 (wsdl default value)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled", 0);
-
-class fp {
-	public function get_it($opt="zzz") {
-		return $opt;
-	}
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->setClass('fp');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-
-}
-
-$cl = new LocalSoapClient(dirname(__FILE__).'/bug34643.wsdl', array("trace"=>1));
-print_r($cl->__getFunctions());
-echo $cl->get_it("aaa")."\n";
-echo $cl->get_it()."\n";
-var_dump($cl->get_it(null));
-?>
---EXPECT--
-Array
-(
-    [0] => string get_it(string $opt)
-)
-aaa
-zzz
-NULL
+--TEST--
+Bug #34643 (wsdl default value)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled", 0);
+
+class fp {
+	public function get_it($opt="zzz") {
+		return $opt;
+	}
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->setClass('fp');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+
+}
+
+$cl = new LocalSoapClient(dirname(__FILE__).'/bug34643.wsdl', array("trace"=>1));
+print_r($cl->__getFunctions());
+echo $cl->get_it("aaa")."\n";
+echo $cl->get_it()."\n";
+var_dump($cl->get_it(null));
+?>
+--EXPECT--
+Array
+(
+    [0] => string get_it(string $opt)
+)
+aaa
+zzz
+NULL
diff --git a/ext/soap/tests/bugs/bug34657.phpt b/ext/soap/tests/bugs/bug34657.phpt
index 88f0773..19dbf31 100755
--- a/ext/soap/tests/bugs/bug34657.phpt
+++ b/ext/soap/tests/bugs/bug34657.phpt
@@ -1,35 +1,35 @@
---TEST--
-Bug #34657 (If you get a communication problem when loading the WSDL, it fatal's)
---SKIPIF--
-<?php 
-require_once('skipif.inc'); 
-if (extension_loaded("openssl")) {
-	/* 
-	 when openssl loaded, tcp stream is less verbose, so some error messages are missing 
-	 so let's skip the test in this case  
-	 */
-	die("skip");
-}
-?>
---FILE--
-<?php
-try {
-	$client = new SoapClient('http://i_dont_exist.com/some.wsdl');
-	echo "?\n";
-} catch (SoapFault $e) {
-	echo get_class($e)."\n";
-	echo $e->faultstring."\n";
-	echo "ok\n";
-} catch (Exception $e) {
-	echo get_class($e)."\n";
-}
-?>
---EXPECTF--
-Warning: SoapClient::SoapClient(): %s %sbug34657.php on line 3
-
-Warning: SoapClient::SoapClient(http://i_dont_exist.com/some.wsdl): failed to open stream: %sbug34657.php on line 3
-
-Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "http://i_dont_exist.com/some.wsdl" in %sbug34657.php on line 3
-SoapFault
-SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://i_dont_exist.com/some.wsdl'
-ok
+--TEST--
+Bug #34657 (If you get a communication problem when loading the WSDL, it fatal's)
+--SKIPIF--
+<?php 
+require_once('skipif.inc'); 
+if (extension_loaded("openssl")) {
+	/* 
+	 when openssl loaded, tcp stream is less verbose, so some error messages are missing 
+	 so let's skip the test in this case  
+	 */
+	die("skip");
+}
+?>
+--FILE--
+<?php
+try {
+	$client = new SoapClient('http://i_dont_exist.com/some.wsdl');
+	echo "?\n";
+} catch (SoapFault $e) {
+	echo get_class($e)."\n";
+	echo $e->faultstring."\n";
+	echo "ok\n";
+} catch (Exception $e) {
+	echo get_class($e)."\n";
+}
+?>
+--EXPECTF--
+Warning: SoapClient::SoapClient(): %s %sbug34657.php on line 3
+
+Warning: SoapClient::SoapClient(http://i_dont_exist.com/some.wsdl): failed to open stream: %sbug34657.php on line 3
+
+Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "http://i_dont_exist.com/some.wsdl" in %sbug34657.php on line 3
+SoapFault
+SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://i_dont_exist.com/some.wsdl'
+ok
diff --git a/ext/soap/tests/bugs/bug35142.phpt b/ext/soap/tests/bugs/bug35142.phpt
index 8d366c8..79eea0d 100755
--- a/ext/soap/tests/bugs/bug35142.phpt
+++ b/ext/soap/tests/bugs/bug35142.phpt
@@ -1,135 +1,135 @@
---TEST--
-Bug #35142 (SOAP Client/Server Complex Object Support)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled",0);
-$timestamp = "2005-11-08T11:22:07+03:00";
-$wsdl = dirname(__FILE__)."/bug35142.wsdl";
-
-function PostEvents($x) {
-	var_dump($x);
-	exit();
-  return $x;
-}
-
-class TestSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('PostEvents');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-		echo "$request\n";
-    $this->server->handle($request);
-    return $response;
-  }
-
-}
-
-$soapClient = new TestSoapClient($wsdl, 
-	array('trace' => 1, 'exceptions' => 0,
-		'classmap' => array('logOnEvent' => 'LogOnEvent',
-			'logOffEvent' => 'LogOffEvent',
-			'events' => 'IVREvents')));
-
-$logOnEvent = new LogOnEvent(34567, $timestamp);
-$logOffEvents[] = new LogOffEvent(34567, $timestamp, "Smoked");
-$logOffEvents[] = new LogOffEvent(34568, $timestamp, "SmokeFree");
-$ivrEvents = new IVREvents("1.0", 101, 12345, 'IVR', $logOnEvent, $logOffEvents);
-
-$result = $soapClient->PostEvents($ivrEvents);
-
-class LogOffEvent {
-  public $audienceMemberId;
-  public $timestamp;
-  public $smokeStatus;
-  public $callInitiator;
-
-  function __construct($audienceMemberId, $timestamp, $smokeStatus) {
-    $this->audienceMemberId = $audienceMemberId;
-    $this->timestamp = $timestamp;
-    $this->smokeStatus = $smokeStatus;
-    $this->callInitiator = "IVR";
-  }
-}
-
-class LogOnEvent {
-  public $audienceMemberId;
-  public $timestamp;
-
-  function __construct($audienceMemberId, $timestamp) {
-    $this->audienceMemberId = $audienceMemberId;
-    $this->timestamp = $timestamp;
-  }
-}
-
-class IVREvents {
-  public $version;
-  public $activityId;
-  public $messageId;
-  public $source;
-  public $logOnEvent;
-  public $logOffEvent;
-
-  function __construct($version, $activityId, $messageId, $source, $logOnEvent=NULL, $logOffEvent=NULL) {
-    $this->version = $version;
-    $this->activityId = $activityId;
-    $this->messageId = $messageId;
-    $this->source = $source;
-    $this->logOnEvent = $logOnEvent;
-    $this->logOffEvent = $logOffEvent;
-  }
-}
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testurl/Message"><SOAP-ENV:Body><ns1:ivrEvents version="1.0" activityId="101" messageId="12345" source="IVR"><ns1:logOffEvent audienceMemberId="34567" timestamp="2005-11-08T11:22:07+03:00" smokeStatus="Smoked" callInitiator="IVR"/><ns1:logOffEvent audienceMemberId="34568" timestamp="2005-11-08T11:22:07+03:00" smokeStatus="SmokeFree" callInitiator="IVR"/><ns1:logOnEvent audienceMemberId="34567" timestamp="2005-11-08T11:22:07+03:00"/></ns1:ivrEvents></SOAP-ENV:Body></SOAP-ENV:Envelope>
-
-object(IVREvents)#%d (6) {
-  ["version"]=>
-  string(3) "1.0"
-  ["activityId"]=>
-  int(101)
-  ["messageId"]=>
-  int(12345)
-  ["source"]=>
-  string(3) "IVR"
-  ["logOnEvent"]=>
-  object(LogOnEvent)#%d (2) {
-    ["audienceMemberId"]=>
-    int(34567)
-    ["timestamp"]=>
-    string(25) "2005-11-08T11:22:07+03:00"
-  }
-  ["logOffEvent"]=>
-  array(2) {
-    [0]=>
-    object(LogOffEvent)#%d (4) {
-      ["audienceMemberId"]=>
-      int(34567)
-      ["timestamp"]=>
-      string(25) "2005-11-08T11:22:07+03:00"
-      ["smokeStatus"]=>
-      string(6) "Smoked"
-      ["callInitiator"]=>
-      string(3) "IVR"
-    }
-    [1]=>
-    object(LogOffEvent)#%d (4) {
-      ["audienceMemberId"]=>
-      int(34568)
-      ["timestamp"]=>
-      string(25) "2005-11-08T11:22:07+03:00"
-      ["smokeStatus"]=>
-      string(9) "SmokeFree"
-      ["callInitiator"]=>
-      string(3) "IVR"
-    }
-  }
-}
+--TEST--
+Bug #35142 (SOAP Client/Server Complex Object Support)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled",0);
+$timestamp = "2005-11-08T11:22:07+03:00";
+$wsdl = dirname(__FILE__)."/bug35142.wsdl";
+
+function PostEvents($x) {
+	var_dump($x);
+	exit();
+  return $x;
+}
+
+class TestSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('PostEvents');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+		echo "$request\n";
+    $this->server->handle($request);
+    return $response;
+  }
+
+}
+
+$soapClient = new TestSoapClient($wsdl, 
+	array('trace' => 1, 'exceptions' => 0,
+		'classmap' => array('logOnEvent' => 'LogOnEvent',
+			'logOffEvent' => 'LogOffEvent',
+			'events' => 'IVREvents')));
+
+$logOnEvent = new LogOnEvent(34567, $timestamp);
+$logOffEvents[] = new LogOffEvent(34567, $timestamp, "Smoked");
+$logOffEvents[] = new LogOffEvent(34568, $timestamp, "SmokeFree");
+$ivrEvents = new IVREvents("1.0", 101, 12345, 'IVR', $logOnEvent, $logOffEvents);
+
+$result = $soapClient->PostEvents($ivrEvents);
+
+class LogOffEvent {
+  public $audienceMemberId;
+  public $timestamp;
+  public $smokeStatus;
+  public $callInitiator;
+
+  function __construct($audienceMemberId, $timestamp, $smokeStatus) {
+    $this->audienceMemberId = $audienceMemberId;
+    $this->timestamp = $timestamp;
+    $this->smokeStatus = $smokeStatus;
+    $this->callInitiator = "IVR";
+  }
+}
+
+class LogOnEvent {
+  public $audienceMemberId;
+  public $timestamp;
+
+  function __construct($audienceMemberId, $timestamp) {
+    $this->audienceMemberId = $audienceMemberId;
+    $this->timestamp = $timestamp;
+  }
+}
+
+class IVREvents {
+  public $version;
+  public $activityId;
+  public $messageId;
+  public $source;
+  public $logOnEvent;
+  public $logOffEvent;
+
+  function __construct($version, $activityId, $messageId, $source, $logOnEvent=NULL, $logOffEvent=NULL) {
+    $this->version = $version;
+    $this->activityId = $activityId;
+    $this->messageId = $messageId;
+    $this->source = $source;
+    $this->logOnEvent = $logOnEvent;
+    $this->logOffEvent = $logOffEvent;
+  }
+}
+?>
+--EXPECTF--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testurl/Message"><SOAP-ENV:Body><ns1:ivrEvents version="1.0" activityId="101" messageId="12345" source="IVR"><ns1:logOffEvent audienceMemberId="34567" timestamp="2005-11-08T11:22:07+03:00" smokeStatus="Smoked" callInitiator="IVR"/><ns1:logOffEvent audienceMemberId="34568" timestamp="2005-11-08T11:22:07+03:00" smokeStatus="SmokeFree" callInitiator="IVR"/><ns1:logOnEvent audienceMemberId="34567" timestamp="2005-11-08T11:22:07+03:00"/></ns1:ivrEvents></SOAP-ENV:Body></SOAP-ENV:Envelope>
+
+object(IVREvents)#%d (6) {
+  ["version"]=>
+  string(3) "1.0"
+  ["activityId"]=>
+  int(101)
+  ["messageId"]=>
+  int(12345)
+  ["source"]=>
+  string(3) "IVR"
+  ["logOnEvent"]=>
+  object(LogOnEvent)#%d (2) {
+    ["audienceMemberId"]=>
+    int(34567)
+    ["timestamp"]=>
+    string(25) "2005-11-08T11:22:07+03:00"
+  }
+  ["logOffEvent"]=>
+  array(2) {
+    [0]=>
+    object(LogOffEvent)#%d (4) {
+      ["audienceMemberId"]=>
+      int(34567)
+      ["timestamp"]=>
+      string(25) "2005-11-08T11:22:07+03:00"
+      ["smokeStatus"]=>
+      string(6) "Smoked"
+      ["callInitiator"]=>
+      string(3) "IVR"
+    }
+    [1]=>
+    object(LogOffEvent)#%d (4) {
+      ["audienceMemberId"]=>
+      int(34568)
+      ["timestamp"]=>
+      string(25) "2005-11-08T11:22:07+03:00"
+      ["smokeStatus"]=>
+      string(9) "SmokeFree"
+      ["callInitiator"]=>
+      string(3) "IVR"
+    }
+  }
+}
diff --git a/ext/soap/tests/bugs/bug36226.phpt b/ext/soap/tests/bugs/bug36226.phpt
index 8d3d42b..29bcd7d 100755
--- a/ext/soap/tests/bugs/bug36226.phpt
+++ b/ext/soap/tests/bugs/bug36226.phpt
@@ -1,139 +1,139 @@
---TEST--
-Bug #36226 (SOAP Inconsistent handling when passing potential arrays)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled",0);
-$timestamp = "2005-11-08T11:22:07+03:00";
-$wsdl = dirname(__FILE__)."/bug35142.wsdl";
-
-function PostEvents($x) {
-	var_dump($x);
-	exit();
-  return $x;
-}
-
-class TestSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('PostEvents');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-		echo "$request\n";
-    $this->server->handle($request);
-    return $response;
-  }
-
-}
-
-$soapClient = new TestSoapClient($wsdl, 
-	array('trace' => 1, 'exceptions' => 0,
-		'classmap' => array('logOnEvent' => 'LogOnEvent',
-			'logOffEvent' => 'LogOffEvent',
-			'events' => 'IVREvents'),
-		'features' => SOAP_SINGLE_ELEMENT_ARRAYS));
-
-$logOnEvent = new LogOnEvent(34567, $timestamp);
-$logOffEvents[] = new LogOffEvent(34567, $timestamp, "Smoked");
-$logOffEvents[] = new LogOffEvent(34568, $timestamp, "SmokeFree");
-$ivrEvents = new IVREvents("1.0", 101, 12345, 'IVR', $logOnEvent, $logOffEvents);
-
-$result = $soapClient->PostEvents($ivrEvents);
-
-class LogOffEvent {
-  public $audienceMemberId;
-  public $timestamp;
-  public $smokeStatus;
-  public $callInitiator;
-
-  function __construct($audienceMemberId, $timestamp, $smokeStatus) {
-    $this->audienceMemberId = $audienceMemberId;
-    $this->timestamp = $timestamp;
-    $this->smokeStatus = $smokeStatus;
-    $this->callInitiator = "IVR";
-  }
-}
-
-class LogOnEvent {
-  public $audienceMemberId;
-  public $timestamp;
-
-  function __construct($audienceMemberId, $timestamp) {
-    $this->audienceMemberId = $audienceMemberId;
-    $this->timestamp = $timestamp;
-  }
-}
-
-class IVREvents {
-  public $version;
-  public $activityId;
-  public $messageId;
-  public $source;
-  public $logOnEvent;
-  public $logOffEvent;
-
-  function __construct($version, $activityId, $messageId, $source, $logOnEvent=NULL, $logOffEvent=NULL) {
-    $this->version = $version;
-    $this->activityId = $activityId;
-    $this->messageId = $messageId;
-    $this->source = $source;
-    $this->logOnEvent = $logOnEvent;
-    $this->logOffEvent = $logOffEvent;
-  }
-}
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testurl/Message"><SOAP-ENV:Body><ns1:ivrEvents version="1.0" activityId="101" messageId="12345" source="IVR"><ns1:logOffEvent audienceMemberId="34567" timestamp="2005-11-08T11:22:07+03:00" smokeStatus="Smoked" callInitiator="IVR"/><ns1:logOffEvent audienceMemberId="34568" timestamp="2005-11-08T11:22:07+03:00" smokeStatus="SmokeFree" callInitiator="IVR"/><ns1:logOnEvent audienceMemberId="34567" timestamp="2005-11-08T11:22:07+03:00"/></ns1:ivrEvents></SOAP-ENV:Body></SOAP-ENV:Envelope>
-
-object(IVREvents)#%d (6) {
-  ["version"]=>
-  string(3) "1.0"
-  ["activityId"]=>
-  int(101)
-  ["messageId"]=>
-  int(12345)
-  ["source"]=>
-  string(3) "IVR"
-  ["logOnEvent"]=>
-  array(1) {
-    [0]=>
-    object(LogOnEvent)#10 (2) {
-      ["audienceMemberId"]=>
-      int(34567)
-      ["timestamp"]=>
-      string(25) "2005-11-08T11:22:07+03:00"
-    }
-  }
-  ["logOffEvent"]=>
-  array(2) {
-    [0]=>
-    object(LogOffEvent)#%d (4) {
-      ["audienceMemberId"]=>
-      int(34567)
-      ["timestamp"]=>
-      string(25) "2005-11-08T11:22:07+03:00"
-      ["smokeStatus"]=>
-      string(6) "Smoked"
-      ["callInitiator"]=>
-      string(3) "IVR"
-    }
-    [1]=>
-    object(LogOffEvent)#%d (4) {
-      ["audienceMemberId"]=>
-      int(34568)
-      ["timestamp"]=>
-      string(25) "2005-11-08T11:22:07+03:00"
-      ["smokeStatus"]=>
-      string(9) "SmokeFree"
-      ["callInitiator"]=>
-      string(3) "IVR"
-    }
-  }
-}
+--TEST--
+Bug #36226 (SOAP Inconsistent handling when passing potential arrays)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled",0);
+$timestamp = "2005-11-08T11:22:07+03:00";
+$wsdl = dirname(__FILE__)."/bug35142.wsdl";
+
+function PostEvents($x) {
+	var_dump($x);
+	exit();
+  return $x;
+}
+
+class TestSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('PostEvents');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+		echo "$request\n";
+    $this->server->handle($request);
+    return $response;
+  }
+
+}
+
+$soapClient = new TestSoapClient($wsdl, 
+	array('trace' => 1, 'exceptions' => 0,
+		'classmap' => array('logOnEvent' => 'LogOnEvent',
+			'logOffEvent' => 'LogOffEvent',
+			'events' => 'IVREvents'),
+		'features' => SOAP_SINGLE_ELEMENT_ARRAYS));
+
+$logOnEvent = new LogOnEvent(34567, $timestamp);
+$logOffEvents[] = new LogOffEvent(34567, $timestamp, "Smoked");
+$logOffEvents[] = new LogOffEvent(34568, $timestamp, "SmokeFree");
+$ivrEvents = new IVREvents("1.0", 101, 12345, 'IVR', $logOnEvent, $logOffEvents);
+
+$result = $soapClient->PostEvents($ivrEvents);
+
+class LogOffEvent {
+  public $audienceMemberId;
+  public $timestamp;
+  public $smokeStatus;
+  public $callInitiator;
+
+  function __construct($audienceMemberId, $timestamp, $smokeStatus) {
+    $this->audienceMemberId = $audienceMemberId;
+    $this->timestamp = $timestamp;
+    $this->smokeStatus = $smokeStatus;
+    $this->callInitiator = "IVR";
+  }
+}
+
+class LogOnEvent {
+  public $audienceMemberId;
+  public $timestamp;
+
+  function __construct($audienceMemberId, $timestamp) {
+    $this->audienceMemberId = $audienceMemberId;
+    $this->timestamp = $timestamp;
+  }
+}
+
+class IVREvents {
+  public $version;
+  public $activityId;
+  public $messageId;
+  public $source;
+  public $logOnEvent;
+  public $logOffEvent;
+
+  function __construct($version, $activityId, $messageId, $source, $logOnEvent=NULL, $logOffEvent=NULL) {
+    $this->version = $version;
+    $this->activityId = $activityId;
+    $this->messageId = $messageId;
+    $this->source = $source;
+    $this->logOnEvent = $logOnEvent;
+    $this->logOffEvent = $logOffEvent;
+  }
+}
+?>
+--EXPECTF--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testurl/Message"><SOAP-ENV:Body><ns1:ivrEvents version="1.0" activityId="101" messageId="12345" source="IVR"><ns1:logOffEvent audienceMemberId="34567" timestamp="2005-11-08T11:22:07+03:00" smokeStatus="Smoked" callInitiator="IVR"/><ns1:logOffEvent audienceMemberId="34568" timestamp="2005-11-08T11:22:07+03:00" smokeStatus="SmokeFree" callInitiator="IVR"/><ns1:logOnEvent audienceMemberId="34567" timestamp="2005-11-08T11:22:07+03:00"/></ns1:ivrEvents></SOAP-ENV:Body></SOAP-ENV:Envelope>
+
+object(IVREvents)#%d (6) {
+  ["version"]=>
+  string(3) "1.0"
+  ["activityId"]=>
+  int(101)
+  ["messageId"]=>
+  int(12345)
+  ["source"]=>
+  string(3) "IVR"
+  ["logOnEvent"]=>
+  array(1) {
+    [0]=>
+    object(LogOnEvent)#10 (2) {
+      ["audienceMemberId"]=>
+      int(34567)
+      ["timestamp"]=>
+      string(25) "2005-11-08T11:22:07+03:00"
+    }
+  }
+  ["logOffEvent"]=>
+  array(2) {
+    [0]=>
+    object(LogOffEvent)#%d (4) {
+      ["audienceMemberId"]=>
+      int(34567)
+      ["timestamp"]=>
+      string(25) "2005-11-08T11:22:07+03:00"
+      ["smokeStatus"]=>
+      string(6) "Smoked"
+      ["callInitiator"]=>
+      string(3) "IVR"
+    }
+    [1]=>
+    object(LogOffEvent)#%d (4) {
+      ["audienceMemberId"]=>
+      int(34568)
+      ["timestamp"]=>
+      string(25) "2005-11-08T11:22:07+03:00"
+      ["smokeStatus"]=>
+      string(9) "SmokeFree"
+      ["callInitiator"]=>
+      string(3) "IVR"
+    }
+  }
+}
diff --git a/ext/soap/tests/bugs/bug36575.phpt b/ext/soap/tests/bugs/bug36575.phpt
index b70073a..9bf5415 100755
--- a/ext/soap/tests/bugs/bug36575.phpt
+++ b/ext/soap/tests/bugs/bug36575.phpt
@@ -1,52 +1,52 @@
---TEST--
-Bug #36575 (Incorrect complex type instantiation with hierarchies)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-abstract class CT_A1 {
-	public $var1;
-}
-
-class CT_A2 extends CT_A1 {
-	public $var2;
-}
-
-class CT_A3 extends CT_A2 {
-	public $var3;
-}
-
-// returns A2 in WSDL
-function test( $a1 ) {
-	$a3 = new CT_A3();
-	$a3->var1 = $a1->var1;
-	$a3->var2 = "var two";
-	$a3->var3 = "var three";
-	return $a3;
-}
-
-$classMap = array("A1" => "CT_A1", "A2" => "CT_A2", "A3" => "CT_A3");
-
-$client = new SoapClient(dirname(__FILE__)."/bug36575.wsdl", array("trace" => 1, "exceptions" => 0, "classmap" => $classMap));
-$a2 = new CT_A2();
-$a2->var1 = "one";
-$a2->var2 = "two";
-$client->test($a2);
-
-$soapRequest = $client->__getLastRequest();
-
-echo $soapRequest;
-
-$server = new SoapServer(dirname(__FILE__)."/bug36575.wsdl", array("classmap" => $classMap));
-$server->addFunction("test");
-$server->handle($soapRequest);
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:test.soap#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="urn:test.soap.types#" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test><a1 xsi:type="ns2:A2"><var1 xsi:type="xsd:string">one</var1><var2 xsi:type="xsd:string">two</var2></a1></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:test.soap#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="urn:test.soap.types#" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><result xsi:type="ns2:A3"><var1 xsi:type="xsd:string">one</var1><var2 xsi:type="xsd:string">var two</var2><var3 xsi:type="xsd:string">var three</var3></result></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+Bug #36575 (Incorrect complex type instantiation with hierarchies)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+abstract class CT_A1 {
+	public $var1;
+}
+
+class CT_A2 extends CT_A1 {
+	public $var2;
+}
+
+class CT_A3 extends CT_A2 {
+	public $var3;
+}
+
+// returns A2 in WSDL
+function test( $a1 ) {
+	$a3 = new CT_A3();
+	$a3->var1 = $a1->var1;
+	$a3->var2 = "var two";
+	$a3->var3 = "var three";
+	return $a3;
+}
+
+$classMap = array("A1" => "CT_A1", "A2" => "CT_A2", "A3" => "CT_A3");
+
+$client = new SoapClient(dirname(__FILE__)."/bug36575.wsdl", array("trace" => 1, "exceptions" => 0, "classmap" => $classMap));
+$a2 = new CT_A2();
+$a2->var1 = "one";
+$a2->var2 = "two";
+$client->test($a2);
+
+$soapRequest = $client->__getLastRequest();
+
+echo $soapRequest;
+
+$server = new SoapServer(dirname(__FILE__)."/bug36575.wsdl", array("classmap" => $classMap));
+$server->addFunction("test");
+$server->handle($soapRequest);
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:test.soap#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="urn:test.soap.types#" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test><a1 xsi:type="ns2:A2"><var1 xsi:type="xsd:string">one</var1><var2 xsi:type="xsd:string">two</var2></a1></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:test.soap#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="urn:test.soap.types#" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><result xsi:type="ns2:A3"><var1 xsi:type="xsd:string">one</var1><var2 xsi:type="xsd:string">var two</var2><var3 xsi:type="xsd:string">var three</var3></result></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/bugs/bug36629.phpt b/ext/soap/tests/bugs/bug36629.phpt
index b223453..2096da2 100755
--- a/ext/soap/tests/bugs/bug36629.phpt
+++ b/ext/soap/tests/bugs/bug36629.phpt
@@ -1,53 +1,53 @@
---TEST--
-Bug #36629 (SoapServer::handle() exits on SOAP faults)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function test1() {
-  throw new SoapFault("Server", "test1");
-}
-function test2() {
-  return new SoapFault("Server", "test2");
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction(array("test1","test2"));
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
-  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
-  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:si="http://soapinterop.org/xsd">
-  <SOAP-ENV:Body>
-    <ns1:test1 xmlns:ns1="http://testuri.org" />
-  </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-$server->handle($HTTP_RAW_POST_DATA);
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
-  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
-  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:si="http://soapinterop.org/xsd">
-  <SOAP-ENV:Body>
-    <ns1:test2 xmlns:ns1="http://testuri.org" />
-  </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-$server->handle($HTTP_RAW_POST_DATA);
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>test1</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>test2</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+Bug #36629 (SoapServer::handle() exits on SOAP faults)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+function test1() {
+  throw new SoapFault("Server", "test1");
+}
+function test2() {
+  return new SoapFault("Server", "test2");
+}
+
+$server = new soapserver(null,array('uri'=>"http://testuri.org"));
+$server->addfunction(array("test1","test2"));
+
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<SOAP-ENV:Envelope
+  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:si="http://soapinterop.org/xsd">
+  <SOAP-ENV:Body>
+    <ns1:test1 xmlns:ns1="http://testuri.org" />
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+EOF;
+$server->handle($HTTP_RAW_POST_DATA);
+
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<SOAP-ENV:Envelope
+  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:si="http://soapinterop.org/xsd">
+  <SOAP-ENV:Body>
+    <ns1:test2 xmlns:ns1="http://testuri.org" />
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+EOF;
+$server->handle($HTTP_RAW_POST_DATA);
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>test1</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>test2</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/bugs/bug36908.phpt b/ext/soap/tests/bugs/bug36908.phpt
index 588c559..cd0ea8b 100755
--- a/ext/soap/tests/bugs/bug36908.phpt
+++ b/ext/soap/tests/bugs/bug36908.phpt
@@ -1,46 +1,46 @@
---TEST--
-Bug #36908 (wsdl default value overrides value in soap request)
---SKIPIF--
-<?php 
-  if (!extension_loaded('soap')) die('skip soap extension not available');
-?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class PublisherService {
-  function add($publisher) {
-    return $publisher->region_id;
-  }
-}
-$input =
-'<?xml version="1.0" encoding="UTF-8"?>
-<soapenv:Envelope
-xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
-xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <soapenv:Body>
-    <ns1:add xmlns:ns1="urn:PublisherService" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
-      <publisher href="#id0"/>
-    </ns1:add>
-    <multiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
-xmlns:ns3="http://soap.dev/soap/types" id="id0" soapenc:root="0"
-soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
-xsi:type="ns3:publisher">
-      <region_id href="#id5"/>
-    </multiRef>
-    <multiRef xmlns:ns5="http://soap.dev/soap/types"
-xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" id="id5"
-soapenc:root="0"
-soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
-xsi:type="xsd:long">9</multiRef>
-  </soapenv:Body>
-</soapenv:Envelope>';
-ini_set('soap.wsdl_cache_enabled', false);
-$server = new SoapServer(dirname(__FILE__)."/bug36908.wsdl");
-$server->setClass("PublisherService");
-$server->handle($input);
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:PublisherService" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:addResponse><out xsi:type="xsd:string">9</out></ns1:addResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #36908 (wsdl default value overrides value in soap request)
+--SKIPIF--
+<?php 
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class PublisherService {
+  function add($publisher) {
+    return $publisher->region_id;
+  }
+}
+$input =
+'<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope
+xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <soapenv:Body>
+    <ns1:add xmlns:ns1="urn:PublisherService" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+      <publisher href="#id0"/>
+    </ns1:add>
+    <multiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+xmlns:ns3="http://soap.dev/soap/types" id="id0" soapenc:root="0"
+soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+xsi:type="ns3:publisher">
+      <region_id href="#id5"/>
+    </multiRef>
+    <multiRef xmlns:ns5="http://soap.dev/soap/types"
+xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" id="id5"
+soapenc:root="0"
+soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+xsi:type="xsd:long">9</multiRef>
+  </soapenv:Body>
+</soapenv:Envelope>';
+ini_set('soap.wsdl_cache_enabled', false);
+$server = new SoapServer(dirname(__FILE__)."/bug36908.wsdl");
+$server->setClass("PublisherService");
+$server->handle($input);
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:PublisherService" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:addResponse><out xsi:type="xsd:string">9</out></ns1:addResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug36999.phpt b/ext/soap/tests/bugs/bug36999.phpt
index 3ce8378..35fc61e 100755
--- a/ext/soap/tests/bugs/bug36999.phpt
+++ b/ext/soap/tests/bugs/bug36999.phpt
@@ -1,50 +1,50 @@
---TEST--
-Bug #36999 (xsd:long values clamped to LONG_MAX instead of using double)
---SKIPIF--
-<?php 
-  if (!extension_loaded('soap')) die('skip soap extension not available');
-?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-
-function echoLong($num) {
-  return $num;
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl) {
-    parent::__construct($wsdl);
-    $this->server = new SoapServer($wsdl);
-    $this->server->addFunction('echoLong');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-
-}
-
-$soap = new LocalSoapClient(dirname(__FILE__)."/bug36999.wsdl");
-
-function test($num) {
-  global $soap;
-  try {
-	  printf("%s %0.0f\n", gettype($num), $num);
-	  $ret = $soap->echoLong($num);
-	  printf("%s %0.0f\n", gettype($ret), $ret);
-	} catch (SoapFault $ex) {
-	  var_dump($ex);
-	}
-}
-test(3706790240);
-?>
---EXPECTF--
-%s 3706790240
-%s 3706790240
+--TEST--
+Bug #36999 (xsd:long values clamped to LONG_MAX instead of using double)
+--SKIPIF--
+<?php 
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+
+function echoLong($num) {
+  return $num;
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl) {
+    parent::__construct($wsdl);
+    $this->server = new SoapServer($wsdl);
+    $this->server->addFunction('echoLong');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+
+}
+
+$soap = new LocalSoapClient(dirname(__FILE__)."/bug36999.wsdl");
+
+function test($num) {
+  global $soap;
+  try {
+	  printf("%s %0.0f\n", gettype($num), $num);
+	  $ret = $soap->echoLong($num);
+	  printf("%s %0.0f\n", gettype($ret), $ret);
+	} catch (SoapFault $ex) {
+	  var_dump($ex);
+	}
+}
+test(3706790240);
+?>
+--EXPECTF--
+%s 3706790240
+%s 3706790240
diff --git a/ext/soap/tests/bugs/bug37013.phpt b/ext/soap/tests/bugs/bug37013.phpt
index 9566250..45f3142 100755
--- a/ext/soap/tests/bugs/bug37013.phpt
+++ b/ext/soap/tests/bugs/bug37013.phpt
@@ -1,58 +1,58 @@
---TEST--
-Bug #37013 (server hangs when returning circular object references)
---SKIPIF--
-<?php 
-  if (!extension_loaded('soap')) die('skip soap extension not available');
-?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$request = <<<REQUEST
-<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
-xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
-xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-<soapenv:Body>
-<ns2:getThingWithParent
- soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:ns2="urn:test.soapserver#"/>
-</soapenv:Body>
-
-</soapenv:Envelope>
-REQUEST;
-
-
-class ThingWithParent
-{
- var $parent;
- var $id;
- var $children;
- function __construct( $id, $parent ) {
-  $this->id = $id;
-  $this->parent = $parent;
- }
-}
-
-
-class MultiRefTest {
- public function getThingWithParent() {
-  $p = new ThingWithParent( 1, null );
-  $p2 = new ThingWithParent( 2, $p );
-  $p3 = new ThingWithParent( 3, $p );
-
-  $p->children = array( $p2, $p3 );
-
-  return $p2;
- }
-}
-
-
-$server = new SoapServer(dirname(__FILE__)."/bug37013.wsdl");
-$server->setClass( "MultiRefTest");
-$server->handle( $request );
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:test.soapserver#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getThingWithParentResponse><result id="ref1" xsi:type="SOAP-ENC:Struct"><parent id="ref2" xsi:type="SOAP-ENC:Struct"><parent xsi:nil="true"/><id xsi:type="xsd:int">1</id><children SOAP-ENC:arrayType="SOAP-ENC:Struct[2]" xsi:type="SOAP-ENC:Array"><item href="#ref1"/><item xsi:type="SOAP-ENC:Struct"><parent href="#ref2"/><id xsi:type="xsd:int">3</id><children xsi:nil="true"/></item></children></parent><id xsi:type="xsd:int">2</id><children xsi:nil="true"/></result></ns1:getThingWithParentResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #37013 (server hangs when returning circular object references)
+--SKIPIF--
+<?php 
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$request = <<<REQUEST
+<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
+xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+<soapenv:Body>
+<ns2:getThingWithParent
+ soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:ns2="urn:test.soapserver#"/>
+</soapenv:Body>
+
+</soapenv:Envelope>
+REQUEST;
+
+
+class ThingWithParent
+{
+ var $parent;
+ var $id;
+ var $children;
+ function __construct( $id, $parent ) {
+  $this->id = $id;
+  $this->parent = $parent;
+ }
+}
+
+
+class MultiRefTest {
+ public function getThingWithParent() {
+  $p = new ThingWithParent( 1, null );
+  $p2 = new ThingWithParent( 2, $p );
+  $p3 = new ThingWithParent( 3, $p );
+
+  $p->children = array( $p2, $p3 );
+
+  return $p2;
+ }
+}
+
+
+$server = new SoapServer(dirname(__FILE__)."/bug37013.wsdl");
+$server->setClass( "MultiRefTest");
+$server->handle( $request );
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:test.soapserver#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getThingWithParentResponse><result id="ref1" xsi:type="SOAP-ENC:Struct"><parent id="ref2" xsi:type="SOAP-ENC:Struct"><parent xsi:nil="true"/><id xsi:type="xsd:int">1</id><children SOAP-ENC:arrayType="SOAP-ENC:Struct[2]" xsi:type="SOAP-ENC:Array"><item href="#ref1"/><item xsi:type="SOAP-ENC:Struct"><parent href="#ref2"/><id xsi:type="xsd:int">3</id><children xsi:nil="true"/></item></children></parent><id xsi:type="xsd:int">2</id><children xsi:nil="true"/></result></ns1:getThingWithParentResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug37278.phpt b/ext/soap/tests/bugs/bug37278.phpt
index 5d133e9..f3fd7c1 100755
--- a/ext/soap/tests/bugs/bug37278.phpt
+++ b/ext/soap/tests/bugs/bug37278.phpt
@@ -1,24 +1,24 @@
---TEST--
-Bug #37278 (SOAP not respecting uri in __soapCall)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$options = array(
-  "location" => "test://",
-  "uri"      => "http://bricolage.sourceforge.net/Bric/SOAP/Auth",
-  "trace"    => 1);
-
-$client = new SoapClient(null, $options);
-
-$newNS = "http://bricolage.sourceforge.net/Bric/SOAP/Story";
-
-try {
-  $client->__soapCall("list_ids", array(), array("uri" => $newNS));
-} catch (Exception $e) {
-  print $client->__getLastRequest();
-}
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://bricolage.sourceforge.net/Bric/SOAP/Story" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:list_ids/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #37278 (SOAP not respecting uri in __soapCall)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$options = array(
+  "location" => "test://",
+  "uri"      => "http://bricolage.sourceforge.net/Bric/SOAP/Auth",
+  "trace"    => 1);
+
+$client = new SoapClient(null, $options);
+
+$newNS = "http://bricolage.sourceforge.net/Bric/SOAP/Story";
+
+try {
+  $client->__soapCall("list_ids", array(), array("uri" => $newNS));
+} catch (Exception $e) {
+  print $client->__getLastRequest();
+}
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://bricolage.sourceforge.net/Bric/SOAP/Story" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:list_ids/></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug38004.phpt b/ext/soap/tests/bugs/bug38004.phpt
index 295d335..6e92b19 100755
--- a/ext/soap/tests/bugs/bug38004.phpt
+++ b/ext/soap/tests/bugs/bug38004.phpt
@@ -1,42 +1,42 @@
---TEST--
-Bug #38004 (Parameters in SoapServer are decoded twice)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-function Test($param) {
-	global $g;
-	$g = $param->strA."\n".$param->strB."\n";
-	return $g;
-}
-
-class TestSoapClient extends SoapClient {
-  function __construct($wsdl) {
-    parent::__construct($wsdl);
-    $this->server = new SoapServer($wsdl);
-    $this->server->addFunction('Test');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-}
-
-$client = new TestSoapClient(dirname(__FILE__).'/bug38004.wsdl');
-$strA = 'test &amp; test';
-$strB = 'test & test';
-$res = $client->Test(array('strA'=>$strA, 'strB'=>$strB));
-print_r($res);
-print_r($g);
-?>
---EXPECT--
-test &amp; test
-test & test
-test &amp; test
-test & test
+--TEST--
+Bug #38004 (Parameters in SoapServer are decoded twice)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+function Test($param) {
+	global $g;
+	$g = $param->strA."\n".$param->strB."\n";
+	return $g;
+}
+
+class TestSoapClient extends SoapClient {
+  function __construct($wsdl) {
+    parent::__construct($wsdl);
+    $this->server = new SoapServer($wsdl);
+    $this->server->addFunction('Test');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+}
+
+$client = new TestSoapClient(dirname(__FILE__).'/bug38004.wsdl');
+$strA = 'test &amp; test';
+$strB = 'test & test';
+$res = $client->Test(array('strA'=>$strA, 'strB'=>$strB));
+print_r($res);
+print_r($g);
+?>
+--EXPECT--
+test &amp; test
+test & test
+test &amp; test
+test & test
diff --git a/ext/soap/tests/bugs/bug38005.phpt b/ext/soap/tests/bugs/bug38005.phpt
index 2095d0d..5a0d017 100755
--- a/ext/soap/tests/bugs/bug38005.phpt
+++ b/ext/soap/tests/bugs/bug38005.phpt
@@ -1,43 +1,43 @@
---TEST--
-Bug #38005 (SoapFault faultstring doesn't follow encoding rules)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-function Test($param) {
-	return new SoapFault('Test', 'This is our fault: Ä');
-}
-
-class TestSoapClient extends SoapClient {
-  function __construct($wsdl, $opt) {
-    parent::__construct($wsdl, $opt);
-    $this->server = new SoapServer($wsdl, $opt);
-    $this->server->addFunction('Test');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-}
-
-$client = new TestSoapClient(NULL, array(
-    'encoding' => 'ISO-8859-1',
-	'uri' => "test://",
-	'location' => "test://",
-	'soap_version'=>SOAP_1_2,
-	'trace'=>1, 
-	'exceptions'=>0));
-$res = $client->Test();
-echo($res->faultstring."\n");
-echo($client->__getLastResponse());
-?>
---EXPECT--
-This is our fault: Ä
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>Test</env:Value></env:Code><env:Reason><env:Text>This is our fault: Ä</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+Bug #38005 (SoapFault faultstring doesn't follow encoding rules)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+function Test($param) {
+	return new SoapFault('Test', 'This is our fault: Ä');
+}
+
+class TestSoapClient extends SoapClient {
+  function __construct($wsdl, $opt) {
+    parent::__construct($wsdl, $opt);
+    $this->server = new SoapServer($wsdl, $opt);
+    $this->server->addFunction('Test');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+}
+
+$client = new TestSoapClient(NULL, array(
+    'encoding' => 'ISO-8859-1',
+	'uri' => "test://",
+	'location' => "test://",
+	'soap_version'=>SOAP_1_2,
+	'trace'=>1, 
+	'exceptions'=>0));
+$res = $client->Test();
+echo($res->faultstring."\n");
+echo($client->__getLastResponse());
+?>
+--EXPECT--
+This is our fault: Ä
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>Test</env:Value></env:Code><env:Reason><env:Text>This is our fault: Ä</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/bugs/bug38055.phpt b/ext/soap/tests/bugs/bug38055.phpt
index 8704906..ee19cdc 100755
--- a/ext/soap/tests/bugs/bug38055.phpt
+++ b/ext/soap/tests/bugs/bug38055.phpt
@@ -1,41 +1,41 @@
---TEST--
-Bug #38055 (Wrong interpretation of boolean parameters)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-function Test($param) {
-	global $g1, $g2;
-	$g1 = $param->boolA;
-	$g2	= $param->boolB;
-	return 1;
-}
-
-class TestSoapClient extends SoapClient {
-  function __construct($wsdl) {
-    parent::__construct($wsdl);
-    $this->server = new SoapServer($wsdl);
-    $this->server->addFunction('Test');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-}
-
-$client = new TestSoapClient(dirname(__FILE__).'/bug38055.wsdl');
-$boolA = 1;
-$boolB = '1';
-$res = $client->Test(array('boolA'=>$boolA, 'boolB'=>$boolB));
-var_dump($g1);
-var_dump($g2);
-?>
---EXPECT--
-bool(true)
-bool(true)
+--TEST--
+Bug #38055 (Wrong interpretation of boolean parameters)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+function Test($param) {
+	global $g1, $g2;
+	$g1 = $param->boolA;
+	$g2	= $param->boolB;
+	return 1;
+}
+
+class TestSoapClient extends SoapClient {
+  function __construct($wsdl) {
+    parent::__construct($wsdl);
+    $this->server = new SoapServer($wsdl);
+    $this->server->addFunction('Test');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+}
+
+$client = new TestSoapClient(dirname(__FILE__).'/bug38055.wsdl');
+$boolA = 1;
+$boolB = '1';
+$res = $client->Test(array('boolA'=>$boolA, 'boolB'=>$boolB));
+var_dump($g1);
+var_dump($g2);
+?>
+--EXPECT--
+bool(true)
+bool(true)
diff --git a/ext/soap/tests/bugs/bug38067.phpt b/ext/soap/tests/bugs/bug38067.phpt
index 3ab1911..868b4f2 100755
--- a/ext/soap/tests/bugs/bug38067.phpt
+++ b/ext/soap/tests/bugs/bug38067.phpt
@@ -1,42 +1,42 @@
---TEST--
-Bug #38067 (Parameters are not decoded from utf-8 when using encoding option)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-function Test($param) {
-	global $g;
-	$g = $param->str;
-	return $g;
-}
-
-class TestSoapClient extends SoapClient {
-  function __construct($wsdl, $opt) {
-    parent::__construct($wsdl, $opt);
-    $this->server = new SoapServer($wsdl, $opt);
-    $this->server->addFunction('Test');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-}
-
-$client = new TestSoapClient(dirname(__FILE__).'/bug38067.wsdl',
-	array('encoding' => 'ISO-8859-1'));
-$str = 'test: Ä';
-$res = $client->Test(array('str'=>$str));
-echo $str."\n";
-echo $res."\n";
-echo $g."\n";
-?>
---EXPECT--
-test: Ä
-test: Ä
-test: Ä
+--TEST--
+Bug #38067 (Parameters are not decoded from utf-8 when using encoding option)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+function Test($param) {
+	global $g;
+	$g = $param->str;
+	return $g;
+}
+
+class TestSoapClient extends SoapClient {
+  function __construct($wsdl, $opt) {
+    parent::__construct($wsdl, $opt);
+    $this->server = new SoapServer($wsdl, $opt);
+    $this->server->addFunction('Test');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+}
+
+$client = new TestSoapClient(dirname(__FILE__).'/bug38067.wsdl',
+	array('encoding' => 'ISO-8859-1'));
+$str = 'test: Ä';
+$res = $client->Test(array('str'=>$str));
+echo $str."\n";
+echo $res."\n";
+echo $g."\n";
+?>
+--EXPECT--
+test: Ä
+test: Ä
+test: Ä
diff --git a/ext/soap/tests/bugs/bug39121.phpt b/ext/soap/tests/bugs/bug39121.phpt
index 30d60fb..5b3ccbc 100755
--- a/ext/soap/tests/bugs/bug39121.phpt
+++ b/ext/soap/tests/bugs/bug39121.phpt
@@ -1,73 +1,73 @@
---TEST--
-Bug #39121 (Incorrect return array handling in non-wsdl soap client)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class LocalSoapClient extends SoapClient {
-  function __doRequest($request, $location, $action, $version) {
-    return <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-        <soap:Body>
-                <getDIDAreaResponse xmlns="http://didx.org/GetList">
-                        <soapenc:Array soapenc:arrayType="xsd:string[2]" xsi:type="soapenc:Array">
-                                <item xsi:type="xsd:string">StateCode</item>
-                                <item xsi:type="xsd:string">description</item>
-                        </soapenc:Array>
-                        <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
-                                <item xsi:type="xsd:int">241</item>
-                                <item xsi:type="xsd:string">Carabobo</item>
-                        </soapenc:Array>
-                        <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
-                                <item xsi:type="xsd:int">243</item>
-                                <item xsi:type="xsd:string">Aragua and Carabobo</item>
-                        </soapenc:Array>
-                        <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
-                                <item xsi:type="xsd:int">261</item>
-                                <item xsi:type="xsd:string">Zulia</item>
-                        </soapenc:Array>
-                </getDIDAreaResponse>
-        </soap:Body>
-</soap:Envelope>
-EOF;
-  }
-}
-
-$client = new LocalSoapClient(NULL, array('location'=>'test://','uri'=>'test://'));
-print_r($client->getDIDAreaResponse());
-?>
---EXPECT--
-Array
-(
-    [Array] => Array
-        (
-            [0] => Array
-                (
-                    [0] => StateCode
-                    [1] => description
-                )
-
-            [1] => Array
-                (
-                    [0] => 241
-                    [1] => Carabobo
-                )
-
-            [2] => Array
-                (
-                    [0] => 243
-                    [1] => Aragua and Carabobo
-                )
-
-            [3] => Array
-                (
-                    [0] => 261
-                    [1] => Zulia
-                )
-
-        )
-
-)
+--TEST--
+Bug #39121 (Incorrect return array handling in non-wsdl soap client)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class LocalSoapClient extends SoapClient {
+  function __doRequest($request, $location, $action, $version) {
+    return <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
+        <soap:Body>
+                <getDIDAreaResponse xmlns="http://didx.org/GetList">
+                        <soapenc:Array soapenc:arrayType="xsd:string[2]" xsi:type="soapenc:Array">
+                                <item xsi:type="xsd:string">StateCode</item>
+                                <item xsi:type="xsd:string">description</item>
+                        </soapenc:Array>
+                        <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
+                                <item xsi:type="xsd:int">241</item>
+                                <item xsi:type="xsd:string">Carabobo</item>
+                        </soapenc:Array>
+                        <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
+                                <item xsi:type="xsd:int">243</item>
+                                <item xsi:type="xsd:string">Aragua and Carabobo</item>
+                        </soapenc:Array>
+                        <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
+                                <item xsi:type="xsd:int">261</item>
+                                <item xsi:type="xsd:string">Zulia</item>
+                        </soapenc:Array>
+                </getDIDAreaResponse>
+        </soap:Body>
+</soap:Envelope>
+EOF;
+  }
+}
+
+$client = new LocalSoapClient(NULL, array('location'=>'test://','uri'=>'test://'));
+print_r($client->getDIDAreaResponse());
+?>
+--EXPECT--
+Array
+(
+    [Array] => Array
+        (
+            [0] => Array
+                (
+                    [0] => StateCode
+                    [1] => description
+                )
+
+            [1] => Array
+                (
+                    [0] => 241
+                    [1] => Carabobo
+                )
+
+            [2] => Array
+                (
+                    [0] => 243
+                    [1] => Aragua and Carabobo
+                )
+
+            [3] => Array
+                (
+                    [0] => 261
+                    [1] => Zulia
+                )
+
+        )
+
+)
diff --git a/ext/soap/tests/bugs/bug39815.phpt b/ext/soap/tests/bugs/bug39815.phpt
index 25715bf..5f4eee4 100755
--- a/ext/soap/tests/bugs/bug39815.phpt
+++ b/ext/soap/tests/bugs/bug39815.phpt
@@ -1,50 +1,50 @@
---TEST--
-Bug #39815 (to_zval_double() in ext/soap/php_encoding.c is not locale-independent)
---SKIPIF--
-<?php 
-require_once('skipif.inc'); 
-if (!function_exists('setlocale')) die('skip setlocale() not available'); 
-if (!@setlocale(LC_ALL, 'sv_SE', 'sv_SE.ISO8859-1')) die('skip sv_SE locale not available');
-if (!@setlocale(LC_ALL, 'en_US', 'en_US.ISO8859-1')) die('skip en_US locale not available');
-?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-function test(){
-  return 123.456;
-}
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction('test');
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-
-}
-$x = new LocalSoapClient(NULL,array('location'=>'test://', 
-                                   'uri'=>'http://testuri.org',
-                                   "trace"=>1)); 
-setlocale(LC_ALL,"sv_SE","sv_SE.ISO8859-1");
-var_dump($x->test());
-echo $x->__getLastResponse();
-setlocale(LC_ALL,"en_US","en_US.ISO8859-1");
-var_dump($x->test());
-echo $x->__getLastResponse();
---EXPECT--
-float(123,456)
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><return xsi:type="xsd:float">123.456</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-float(123.456)
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><return xsi:type="xsd:float">123.456</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #39815 (to_zval_double() in ext/soap/php_encoding.c is not locale-independent)
+--SKIPIF--
+<?php 
+require_once('skipif.inc'); 
+if (!function_exists('setlocale')) die('skip setlocale() not available'); 
+if (!@setlocale(LC_ALL, 'sv_SE', 'sv_SE.ISO8859-1')) die('skip sv_SE locale not available');
+if (!@setlocale(LC_ALL, 'en_US', 'en_US.ISO8859-1')) die('skip en_US locale not available');
+?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+function test(){
+  return 123.456;
+}
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction('test');
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+
+}
+$x = new LocalSoapClient(NULL,array('location'=>'test://', 
+                                   'uri'=>'http://testuri.org',
+                                   "trace"=>1)); 
+setlocale(LC_ALL,"sv_SE","sv_SE.ISO8859-1");
+var_dump($x->test());
+echo $x->__getLastResponse();
+setlocale(LC_ALL,"en_US","en_US.ISO8859-1");
+var_dump($x->test());
+echo $x->__getLastResponse();
+--EXPECT--
+float(123,456)
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><return xsi:type="xsd:float">123.456</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+float(123.456)
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><return xsi:type="xsd:float">123.456</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug39832.phpt b/ext/soap/tests/bugs/bug39832.phpt
index 527ca89..6abc2f0 100755
--- a/ext/soap/tests/bugs/bug39832.phpt
+++ b/ext/soap/tests/bugs/bug39832.phpt
@@ -1,29 +1,29 @@
---TEST--
-Bug #39832 (SOAP Server: parameter not matching the WSDL specified type are set to 0)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test.pl"><SOAP-ENV:Body>
-<SOAP-ENV:Test>
-<parameters priority="high">
-<ns1:NetworkErrorCode>1</ns1:NetworkErrorCode>
-</parameters>
-</SOAP-ENV:Test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-EOF;
-
-function Test($x) {
-  return $x->priority;
-}
-
-$x = new SoapServer(dirname(__FILE__)."/bug39832.wsdl");
-$x->addFunction("Test");
-$x->handle($HTTP_RAW_POST_DATA);
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>SOAP-ERROR: Encoding: Violation of encoding rules</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #39832 (SOAP Server: parameter not matching the WSDL specified type are set to 0)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test.pl"><SOAP-ENV:Body>
+<SOAP-ENV:Test>
+<parameters priority="high">
+<ns1:NetworkErrorCode>1</ns1:NetworkErrorCode>
+</parameters>
+</SOAP-ENV:Test></SOAP-ENV:Body></SOAP-ENV:Envelope>
+EOF;
+
+function Test($x) {
+  return $x->priority;
+}
+
+$x = new SoapServer(dirname(__FILE__)."/bug39832.wsdl");
+$x->addFunction("Test");
+$x->handle($HTTP_RAW_POST_DATA);
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>SOAP-ERROR: Encoding: Violation of encoding rules</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug40609.phpt b/ext/soap/tests/bugs/bug40609.phpt
index 2c96a8f..198afc5 100755
--- a/ext/soap/tests/bugs/bug40609.phpt
+++ b/ext/soap/tests/bugs/bug40609.phpt
@@ -1,21 +1,21 @@
---TEST--
-Bug #40609 (Segfaults when using more than one SoapVar in a request)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled", 0);
-
-$c = new SoapClient(dirname(__FILE__)."/bug40609.wsdl", array('trace' => 1, 'exceptions' => 0));
-
-$c->update(array('symbol' => new SoapVar("<symbol>MSFT</symbol>", XSD_ANYXML),
-                 'price' =>  new SoapVar("<price>1000</price>", XSD_ANYXML)));
-echo $c->__getLastRequest();
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://quickstart.samples/xsd"><SOAP-ENV:Body><ns1:update><symbol>MSFT</symbol><price>1000</price></ns1:update></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+Bug #40609 (Segfaults when using more than one SoapVar in a request)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled", 0);
+
+$c = new SoapClient(dirname(__FILE__)."/bug40609.wsdl", array('trace' => 1, 'exceptions' => 0));
+
+$c->update(array('symbol' => new SoapVar("<symbol>MSFT</symbol>", XSD_ANYXML),
+                 'price' =>  new SoapVar("<price>1000</price>", XSD_ANYXML)));
+echo $c->__getLastRequest();
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://quickstart.samples/xsd"><SOAP-ENV:Body><ns1:update><symbol>MSFT</symbol><price>1000</price></ns1:update></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/bugs/bug41004.phpt b/ext/soap/tests/bugs/bug41004.phpt
index 743ae9d..992c6b7 100755
--- a/ext/soap/tests/bugs/bug41004.phpt
+++ b/ext/soap/tests/bugs/bug41004.phpt
@@ -1,36 +1,36 @@
---TEST--
-Bug #41004 (minOccurs="0" and null class member variable)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set('soap.wsdl_cache_enabled', false);
-
-class EchoBean{
-	public $mandatoryElement;
-	public $optionalElement;
-	
-}
-
-class EchoRequest{
-	public $in;
-}
-
-class EchoResponse{
-	public $out;
-}
-
-$wsdl = dirname(__FILE__)."/bug41004.wsdl";
-$classmap = array('EchoBean'=>'EchoBean','echo'=>'EchoRequest','echoResponse'=>'EchoResponse');
-$client = new SoapClient($wsdl, array('location'=>'test://',"classmap" => $classmap, 'exceptions'=>0, 'trace'=>1));
-$echo=new EchoRequest();
-$in=new EchoBean();
-$in->mandatoryElement="REV";
-$in->optionalElement=NULL;
-$echo->in=$in;
-$client->echo($echo);
-echo $client->__getLastRequest();
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Formation"><SOAP-ENV:Body><ns1:echo><in><mandatoryElement>REV</mandatoryElement></in></ns1:echo></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #41004 (minOccurs="0" and null class member variable)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+ini_set('soap.wsdl_cache_enabled', false);
+
+class EchoBean{
+	public $mandatoryElement;
+	public $optionalElement;
+	
+}
+
+class EchoRequest{
+	public $in;
+}
+
+class EchoResponse{
+	public $out;
+}
+
+$wsdl = dirname(__FILE__)."/bug41004.wsdl";
+$classmap = array('EchoBean'=>'EchoBean','echo'=>'EchoRequest','echoResponse'=>'EchoResponse');
+$client = new SoapClient($wsdl, array('location'=>'test://',"classmap" => $classmap, 'exceptions'=>0, 'trace'=>1));
+$echo=new EchoRequest();
+$in=new EchoBean();
+$in->mandatoryElement="REV";
+$in->optionalElement=NULL;
+$echo->in=$in;
+$client->echo($echo);
+echo $client->__getLastRequest();
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Formation"><SOAP-ENV:Body><ns1:echo><in><mandatoryElement>REV</mandatoryElement></in></ns1:echo></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug41337.phpt b/ext/soap/tests/bugs/bug41337.phpt
index 8f44e27..cd777d1 100755
--- a/ext/soap/tests/bugs/bug41337.phpt
+++ b/ext/soap/tests/bugs/bug41337.phpt
@@ -1,12 +1,12 @@
---TEST--
-Bug #41337 (WSDL parsing doesn't ignore non soap bindings)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled",0);
-$client = new SoapClient(dirname(__FILE__)."/bug41337.wsdl");
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #41337 (WSDL parsing doesn't ignore non soap bindings)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled",0);
+$client = new SoapClient(dirname(__FILE__)."/bug41337.wsdl");
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/ext/soap/tests/bugs/bug41337_2.phpt b/ext/soap/tests/bugs/bug41337_2.phpt
index 0e4504e..d594d25 100755
--- a/ext/soap/tests/bugs/bug41337_2.phpt
+++ b/ext/soap/tests/bugs/bug41337_2.phpt
@@ -1,12 +1,12 @@
---TEST--
-Bug #41337 (WSDL parsing doesn't ignore non soap bindings)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled",0);
-$client = new SoapClient(dirname(__FILE__)."/bug41337_2.wsdl");
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #41337 (WSDL parsing doesn't ignore non soap bindings)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled",0);
+$client = new SoapClient(dirname(__FILE__)."/bug41337_2.wsdl");
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/ext/soap/tests/bugs/bug41566.phpt b/ext/soap/tests/bugs/bug41566.phpt
index a18b596..03ecdde 100755
--- a/ext/soap/tests/bugs/bug41566.phpt
+++ b/ext/soap/tests/bugs/bug41566.phpt
@@ -1,65 +1,65 @@
---TEST--
-Bug #41566 (SOAP Server not properly generating href attributes)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function test() {
-  $aUser = new User();
-  $aUser->sName = 'newUser';
-
-  $aUsers = Array();
-  $aUsers[] = $aUser;
-  $aUsers[] = $aUser;
-  $aUsers[] = $aUser;
-  $aUsers[] = $aUser;
-  return $aUsers;
-}
-
-/* Simple User definition */
-Class User {
-  /** @var string */
-  public $sName;
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org", 'soap_version'=>SOAP_1_2));
-$server->addfunction("test");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
-  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
-  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:si="http://soapinterop.org/xsd">
-  <SOAP-ENV:Body>
-    <ns1:test xmlns:ns1="http://testuri.org" />
-  </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-ob_start();
-$server->handle($HTTP_RAW_POST_DATA);
-echo "ok\n";
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
-  xmlns:ns1="http://testuri.org" 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-  <env:Body>
-    <ns1:test env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
-  </env:Body>
-</env:Envelope>
-EOF;
-$server->handle($HTTP_RAW_POST_DATA);
-echo "ok\n";
-ob_flush();
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><return SOAP-ENC:arrayType="SOAP-ENC:Struct[4]" xsi:type="SOAP-ENC:Array"><item xsi:type="SOAP-ENC:Struct" id="ref1"><sName xsi:type="xsd:string">newUser</sName></item><item href="#ref1"/><item href="#ref1"/><item href="#ref1"/></return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://testuri.org" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:testResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="enc:Struct" enc:arraySize="4" xsi:type="enc:Array"><item xsi:type="enc:Struct" enc:id="ref1"><sName xsi:type="xsd:string">newUser</sName></item><item enc:ref="#ref1"/><item enc:ref="#ref1"/><item enc:ref="#ref1"/></return></ns1:testResponse></env:Body></env:Envelope>
-ok
+--TEST--
+Bug #41566 (SOAP Server not properly generating href attributes)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+function test() {
+  $aUser = new User();
+  $aUser->sName = 'newUser';
+
+  $aUsers = Array();
+  $aUsers[] = $aUser;
+  $aUsers[] = $aUser;
+  $aUsers[] = $aUser;
+  $aUsers[] = $aUser;
+  return $aUsers;
+}
+
+/* Simple User definition */
+Class User {
+  /** @var string */
+  public $sName;
+}
+
+$server = new soapserver(null,array('uri'=>"http://testuri.org", 'soap_version'=>SOAP_1_2));
+$server->addfunction("test");
+
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<SOAP-ENV:Envelope
+  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:si="http://soapinterop.org/xsd">
+  <SOAP-ENV:Body>
+    <ns1:test xmlns:ns1="http://testuri.org" />
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+EOF;
+ob_start();
+$server->handle($HTTP_RAW_POST_DATA);
+echo "ok\n";
+
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
+  xmlns:ns1="http://testuri.org" 
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+  <env:Body>
+    <ns1:test env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
+  </env:Body>
+</env:Envelope>
+EOF;
+$server->handle($HTTP_RAW_POST_DATA);
+echo "ok\n";
+ob_flush();
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:testResponse><return SOAP-ENC:arrayType="SOAP-ENC:Struct[4]" xsi:type="SOAP-ENC:Array"><item xsi:type="SOAP-ENC:Struct" id="ref1"><sName xsi:type="xsd:string">newUser</sName></item><item href="#ref1"/><item href="#ref1"/><item href="#ref1"/></return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://testuri.org" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:testResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="enc:Struct" enc:arraySize="4" xsi:type="enc:Array"><item xsi:type="enc:Struct" enc:id="ref1"><sName xsi:type="xsd:string">newUser</sName></item><item enc:ref="#ref1"/><item enc:ref="#ref1"/><item enc:ref="#ref1"/></return></ns1:testResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/bugs/bug42214.phpt b/ext/soap/tests/bugs/bug42214.phpt
index 216d789..a31f16d 100755
--- a/ext/soap/tests/bugs/bug42214.phpt
+++ b/ext/soap/tests/bugs/bug42214.phpt
@@ -1,24 +1,24 @@
---TEST--
-Bug #42214 (SoapServer sends clients internal PHP errors)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$request = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://localhost/server.php" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-EOF;
-
-function test() {
-	$a = $b;
-	obvious_error(); // will cause an error
-}
-
-$server = new SoapServer(NULL, array('uri' =>'http://localhost/server.php',
-	'send_errors'=>0));
-$server->addFunction('test');
-$server->handle($request);
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Internal Error</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+Bug #42214 (SoapServer sends clients internal PHP errors)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$request = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://localhost/server.php" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+EOF;
+
+function test() {
+	$a = $b;
+	obvious_error(); // will cause an error
+}
+
+$server = new SoapServer(NULL, array('uri' =>'http://localhost/server.php',
+	'send_errors'=>0));
+$server->addFunction('test');
+$server->handle($request);
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Internal Error</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug42326.phpt b/ext/soap/tests/bugs/bug42326.phpt
index 02ba9d0..2e6c7c3 100755
--- a/ext/soap/tests/bugs/bug42326.phpt
+++ b/ext/soap/tests/bugs/bug42326.phpt
@@ -1,49 +1,49 @@
---TEST--
-Bug #42326 (SoapServer crash)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$request = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.example.com/"><SOAP-ENV:Body><ns1:GetProductsRequest><time></time></ns1:GetProductsRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
-EOF;
-
-
-$soap_admin_classmap = array('productDetailsType' => 'SOAP_productDetailsType',
-                             'GetProductsRequest' => 'SOAP_GetProductsRequest',
-                             'GetProductsResponse' => 'SOAP_GetProductsResponse');
-
-class SOAP_productDetailsType {
-    public $id = 0;
-}
-
-class SOAP_GetProductsRequest {
-    public $time = '';
-}
-
-class SOAP_GetProductsResponse {
-    public $products;
-    function __construct(){
-        $this->products = new SOAP_productDetailsType();
-        
-    }
-}
-
-class SOAP_Admin {
-    public function GetProducts($time){
-        return new SOAP_GetProductsResponse();
-    }
-}
-
-$soap = new SoapServer(dirname(__FILE__).'/bug42326.wsdl', array('classmap' => $soap_admin_classmap));
-$soap->setClass('SOAP_Admin');
-ob_start();
-$soap->handle($request);
-ob_end_clean();
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #42326 (SoapServer crash)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$request = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.example.com/"><SOAP-ENV:Body><ns1:GetProductsRequest><time></time></ns1:GetProductsRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+EOF;
+
+
+$soap_admin_classmap = array('productDetailsType' => 'SOAP_productDetailsType',
+                             'GetProductsRequest' => 'SOAP_GetProductsRequest',
+                             'GetProductsResponse' => 'SOAP_GetProductsResponse');
+
+class SOAP_productDetailsType {
+    public $id = 0;
+}
+
+class SOAP_GetProductsRequest {
+    public $time = '';
+}
+
+class SOAP_GetProductsResponse {
+    public $products;
+    function __construct(){
+        $this->products = new SOAP_productDetailsType();
+        
+    }
+}
+
+class SOAP_Admin {
+    public function GetProducts($time){
+        return new SOAP_GetProductsResponse();
+    }
+}
+
+$soap = new SoapServer(dirname(__FILE__).'/bug42326.wsdl', array('classmap' => $soap_admin_classmap));
+$soap->setClass('SOAP_Admin');
+ob_start();
+$soap->handle($request);
+ob_end_clean();
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/ext/soap/tests/bugs/bug42359.phpt b/ext/soap/tests/bugs/bug42359.phpt
index 27cb42d..94738ff 100755
--- a/ext/soap/tests/bugs/bug42359.phpt
+++ b/ext/soap/tests/bugs/bug42359.phpt
@@ -1,20 +1,20 @@
---TEST--
-Bug #42326 (SoapServer crash)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$soap = new SoapClient(dirname(__FILE__)."/bug42359.wsdl");
-print_r($soap->__getTypes());
-?>
---EXPECT--
-Array
-(
-    [0] => list listItem {anonymous1}
-    [1] => string anonymous1
-    [2] => string enumItem
-    [3] => list listItem2 {enumItem}
-)
-
+--TEST--
+Bug #42326 (SoapServer crash)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$soap = new SoapClient(dirname(__FILE__)."/bug42359.wsdl");
+print_r($soap->__getTypes());
+?>
+--EXPECT--
+Array
+(
+    [0] => list listItem {anonymous1}
+    [1] => string anonymous1
+    [2] => string enumItem
+    [3] => list listItem2 {enumItem}
+)
+
diff --git a/ext/soap/tests/bugs/bug42488.phpt b/ext/soap/tests/bugs/bug42488.phpt
index 83120ab..4069c9f 100755
--- a/ext/soap/tests/bugs/bug42488.phpt
+++ b/ext/soap/tests/bugs/bug42488.phpt
@@ -1,22 +1,22 @@
---TEST--
-Bug #42488 (SoapServer reports an encoding error and the error itself breaks)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$request = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test:\" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getBadUTF/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-EOF;
-$soap = new SoapServer(NULL, array('uri'=>'test://'));
-function getBadUTF(){
-    return "stuff\x93thing";
-}
-$soap->addFunction('getBadUTF');
-$soap->handle($request);
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
+--TEST--
+Bug #42488 (SoapServer reports an encoding error and the error itself breaks)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$request = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test:\" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getBadUTF/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+EOF;
+$soap = new SoapServer(NULL, array('uri'=>'test://'));
+function getBadUTF(){
+    return "stuff\x93thing";
+}
+$soap->addFunction('getBadUTF');
+$soap->handle($request);
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>SOAP-ERROR: Encoding: string 'stuff\x93...' is not a valid utf-8 string</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
\ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug47273.phpt b/ext/soap/tests/bugs/bug47273.phpt
new file mode 100644
index 0000000..174948f
--- /dev/null
+++ b/ext/soap/tests/bugs/bug47273.phpt
@@ -0,0 +1,53 @@
+--TEST--
+Bug #47273 (Encoding bug in SoapServer->fault)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+unicode.script_encoding=ISO-8859-1
+unicode.output_encoding=ISO-8859-1
+--FILE--
+<?php
+$request1 = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://127.0.0.1:8080/test/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test1/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+EOF;
+$request2 = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://127.0.0.1:8080/test/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test2/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+EOF;
+
+class SoapFaultTest
+{
+    public function test1() {
+    	//  Test #1
+        return 'Test #1 exception with some special chars: Äßö';
+    }
+    public function test2() {    
+        //  Test #2
+	//throw new SoapFault('Server', 'Test #2 exception with some special chars: Äßö');
+        throw new Exception('Test #2 exception with some special chars: Äßö');
+    }
+}
+
+$server = new SoapServer(null, array(
+'uri' => "http://127.0.0.1:8080/test/",
+'encoding' => 'ISO-8859-1'));
+$server->setClass('SoapFaultTest');
+
+try {
+	$server->handle($request1);
+} catch (Exception $e) {
+	$server->fault("Sender", $e->getMessage());
+}
+try {
+        $server->handle($request2);
+} catch (Exception $e) {
+        $server->fault("Sender", $e->getMessage());
+}
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://127.0.0.1:8080/test/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test1Response><return xsi:type="xsd:string">Test #1 exception with some special chars: Äßö</return></ns1:test1Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>Sender</faultcode><faultstring>Test #2 exception with some special chars: Äßö</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+
diff --git a/ext/soap/tests/bugs/xml.xsd b/ext/soap/tests/bugs/xml.xsd
index 7d599db..abb844a 100644
--- a/ext/soap/tests/bugs/xml.xsd
+++ b/ext/soap/tests/bugs/xml.xsd
@@ -1,34 +1,34 @@
-<?xml version='1.0'?>
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
-
- <xs:attribute name="lang" type="xs:language">
-  <xs:annotation>
-   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
-         codes as the enumerated possible values . . .</xs:documentation>
-  </xs:annotation>
- </xs:attribute>
-
- <xs:attribute name="space" default="preserve">
-  <xs:simpleType>
-   <xs:restriction base="xs:NCName">
-    <xs:enumeration value="default"/>
-    <xs:enumeration value="preserve"/>
-   </xs:restriction>
-  </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="base" type="xs:anyURI">
-  <xs:annotation>
-   <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
-                     information about this attribute.</xs:documentation>
-  </xs:annotation>
- </xs:attribute>
-
- <xs:attributeGroup name="specialAttrs">
-  <xs:attribute ref="xml:base"/>
-  <xs:attribute ref="xml:lang"/>
-  <xs:attribute ref="xml:space"/>
- </xs:attributeGroup>
-
-</xs:schema>
+<?xml version='1.0'?>
+<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
+
+ <xs:attribute name="lang" type="xs:language">
+  <xs:annotation>
+   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
+         codes as the enumerated possible values . . .</xs:documentation>
+  </xs:annotation>
+ </xs:attribute>
+
+ <xs:attribute name="space" default="preserve">
+  <xs:simpleType>
+   <xs:restriction base="xs:NCName">
+    <xs:enumeration value="default"/>
+    <xs:enumeration value="preserve"/>
+   </xs:restriction>
+  </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="base" type="xs:anyURI">
+  <xs:annotation>
+   <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
+                     information about this attribute.</xs:documentation>
+  </xs:annotation>
+ </xs:attribute>
+
+ <xs:attributeGroup name="specialAttrs">
+  <xs:attribute ref="xml:base"/>
+  <xs:attribute ref="xml:lang"/>
+  <xs:attribute ref="xml:space"/>
+ </xs:attributeGroup>
+
+</xs:schema>
diff --git a/ext/soap/tests/classmap003.phpt b/ext/soap/tests/classmap003.phpt
index 30d86c4..ac87a16 100755
--- a/ext/soap/tests/classmap003.phpt
+++ b/ext/soap/tests/classmap003.phpt
@@ -1,54 +1,54 @@
---TEST--
-SOAP Classmap 3: encoding of inherited objects
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled",0);
-
-class A {
-  public $x;
-  function __construct($a){
-    $this->x = $a;
-  }
-}
-
-class B extends A {
-  public $y; 
-  function __construct($a){
-    parent::__construct($a);
-    $this->y = $a + 1;
-  }
-}
-
-function f(){
-  return new B(5);
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction("f");
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/classmap003.wsdl",
-    array('classmap'=>array('A'=>'A','B'=>'B')));
-print_r($client->f());
-?>
---EXPECT--
-B Object
-(
-    [y] => 6
-    [x] => 5
-)
+--TEST--
+SOAP Classmap 3: encoding of inherited objects
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled",0);
+
+class A {
+  public $x;
+  function __construct($a){
+    $this->x = $a;
+  }
+}
+
+class B extends A {
+  public $y; 
+  function __construct($a){
+    parent::__construct($a);
+    $this->y = $a + 1;
+  }
+}
+
+function f(){
+  return new B(5);
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction("f");
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+}
+
+$client = new LocalSoapClient(dirname(__FILE__)."/classmap003.wsdl",
+    array('classmap'=>array('A'=>'A','B'=>'B')));
+print_r($client->f());
+?>
+--EXPECT--
+B Object
+(
+    [y] => 6
+    [x] => 5
+)
diff --git a/ext/soap/tests/classmap004.phpt b/ext/soap/tests/classmap004.phpt
index 58f29f4..3b9d678 100755
--- a/ext/soap/tests/classmap004.phpt
+++ b/ext/soap/tests/classmap004.phpt
@@ -1,66 +1,66 @@
---TEST--
-SOAP Classmap 4: encoding of objects with __get()
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled",0);
-
-class A {
-  public $a;
-  function __construct($a){
-    $this->x = $a;
-  }
-  function __get($name) {
-    return @$this->a[$name];
-  }
-  function __set($name, $val) {
-    $this->a[$name] = $val;
-  }
-  function __unset($name) {
-    unset($this->a[$name]);
-  }
-}
-
-class B extends A {
-  function __construct($a){
-    parent::__construct($a);
-    $this->y = $a + 1;
-  }
-}
-
-function f(){
-  return new B(5);
-}
-
-class LocalSoapClient extends SoapClient {
-
-  function __construct($wsdl, $options) {
-    parent::__construct($wsdl, $options);
-    $this->server = new SoapServer($wsdl, $options);
-    $this->server->addFunction("f");
-  }
-
-  function __doRequest($request, $location, $action, $version) {
-    ob_start();
-    $this->server->handle($request);
-    $response = ob_get_contents();
-    ob_end_clean();
-    return $response;
-  }
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/classmap003.wsdl",
-    array('classmap'=>array('A'=>'A','B'=>'B')));
-print_r($client->f());
-?>
---EXPECT--
-B Object
-(
-    [a] => Array
-        (
-            [x] => 5
-            [y] => 6
-        )
-
-)
+--TEST--
+SOAP Classmap 4: encoding of objects with __get()
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+ini_set("soap.wsdl_cache_enabled",0);
+
+class A {
+  public $a;
+  function __construct($a){
+    $this->x = $a;
+  }
+  function __get($name) {
+    return @$this->a[$name];
+  }
+  function __set($name, $val) {
+    $this->a[$name] = $val;
+  }
+  function __unset($name) {
+    unset($this->a[$name]);
+  }
+}
+
+class B extends A {
+  function __construct($a){
+    parent::__construct($a);
+    $this->y = $a + 1;
+  }
+}
+
+function f(){
+  return new B(5);
+}
+
+class LocalSoapClient extends SoapClient {
+
+  function __construct($wsdl, $options) {
+    parent::__construct($wsdl, $options);
+    $this->server = new SoapServer($wsdl, $options);
+    $this->server->addFunction("f");
+  }
+
+  function __doRequest($request, $location, $action, $version) {
+    ob_start();
+    $this->server->handle($request);
+    $response = ob_get_contents();
+    ob_end_clean();
+    return $response;
+  }
+}
+
+$client = new LocalSoapClient(dirname(__FILE__)."/classmap003.wsdl",
+    array('classmap'=>array('A'=>'A','B'=>'B')));
+print_r($client->f());
+?>
+--EXPECT--
+B Object
+(
+    [a] => Array
+        (
+            [x] => 5
+            [y] => 6
+        )
+
+)
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt
index 0fdfd2c..f88cddd 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 001 (php/direct): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array("Hello World!"), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">Hello World!</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">Hello World!</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 001 (php/direct): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array("Hello World!"), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">Hello World!</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">Hello World!</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_001s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_001s.phpt
index 4bdfce4..a25eea5 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_001s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_001s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 001 (soap/direct): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array(new SoapParam(new SoapVar("Hello World!",XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">Hello World!</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">Hello World!</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 001 (soap/direct): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar("Hello World!",XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">Hello World!</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">Hello World!</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_001w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_001w.phpt
index 6c73518..2442933 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_001w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 001 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString("Hello World!");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">Hello World!</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">Hello World!</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World!");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">Hello World!</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">Hello World!</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_002p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_002p.phpt
index 8905ee5..a5c6242 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_002p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_002p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 002 (php/direct): echoString(empty)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array(""), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string"></param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string"></outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 002 (php/direct): echoString(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(""), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string"></param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string"></outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_002s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_002s.phpt
index b21af93..3a25624 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_002s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_002s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 002 (soap/direct): echoString(empty)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array(new SoapParam(new SoapVar("",XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string"></inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string"></outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 002 (soap/direct): echoString(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar("",XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string"></inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string"></outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_002w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_002w.phpt
index e320d9a..b2a21f3 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_002w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_002w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 002 (php/wsdl): echoString(empty)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString("");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string"></inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string"></outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 002 (php/wsdl): echoString(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string"></inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string"></outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt
index 2432bcb..8aadcbb 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 003 (php/direct): echoString(NULL)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array(NULL), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:nil="true"/></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:nil="true"/></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+SOAP Interop Round2 base 003 (php/direct): echoString(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(NULL), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:nil="true"/></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:nil="true"/></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
 ok
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt
index 4493294..e215ec1 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 003 (soap/direct): echoString(NULL)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array(new SoapParam(new SoapVar(NULL,XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:nil="true"/></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:nil="true"/></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+SOAP Interop Round2 base 003 (soap/direct): echoString(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar(NULL,XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:nil="true"/></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:nil="true"/></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
 ok
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt
index 2b8fb5a..7dbaa23 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 003 (php/wsdl): echoString(NULL)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString(NULL);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:nil="true"/></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:nil="true"/></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+SOAP Interop Round2 base 003 (php/wsdl): echoString(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(NULL);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:nil="true"/></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:nil="true"/></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
 ok
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_004p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_004p.phpt
index c9a2d20..cb56ce6 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_004p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_004p.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 004 (php/direct): echoString(entities)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array(">,<,&,\",',\\,\n"), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
-</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
-</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 004 (php/direct): echoString(entities)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(">,<,&,\",',\\,\n"), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_004s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_004s.phpt
index b75d984..20c899e 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_004s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_004s.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 004 (soap/direct): echoString(entities)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array(new SoapParam(new SoapVar(">,<,&,\",',\\,\n",XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
-</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
-</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 004 (soap/direct): echoString(entities)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar(">,<,&,\",',\\,\n",XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_004w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_004w.phpt
index c136090..2843519 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_004w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_004w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round2 base 004 (php/wsdl): echoString(entities)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString(">,<,&,\",',\\,\n");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
-</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
-</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 004 (php/wsdl): echoString(entities)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(">,<,&,\",',\\,\n");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_005p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_005p.phpt
index b4f2720..22bab4e 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_005p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_005p.phpt
@@ -1,20 +1,20 @@
---TEST--
-SOAP Interop Round2 base 005 (php/direct): echoString(utf-8)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
-<?php if (!function_exists('utf8_encode')) die('skip utf8_encode() not available'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array(utf8_encode('ỗÈéóÒ₧⅜ỗỸ')), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 005 (php/direct): echoString(utf-8)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php if (!function_exists('utf8_encode')) die('skip utf8_encode() not available'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(utf8_encode('ỗÈéóÒ₧⅜ỗỸ')), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt
index 11dbbbd..f94c06f 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt
@@ -1,20 +1,20 @@
---TEST--
-SOAP Interop Round2 base 005 (soap/direct): echoString(utf-8)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
-<?php if (!function_exists('utf8_encode')) die('skip utf8_encode() not available'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString", array(new SoapParam(new SoapVar(utf8_encode('ỗÈéóÒ₧⅜ỗỸ'),XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 005 (soap/direct): echoString(utf-8)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php if (!function_exists('utf8_encode')) die('skip utf8_encode() not available'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar(utf8_encode('ỗÈéóÒ₧⅜ỗỸ'),XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt
index 0b169f7..3bb1368 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round2 base 005 (php/wsdl): echoString(utf-8)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
-<?php if (!function_exists('utf8_encode')) die('skip utf8_encode() not available'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString(utf8_encode('ỗÈéóÒ₧⅜ỗỸ'));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 005 (php/wsdl): echoString(utf-8)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+<?php if (!function_exists('utf8_encode')) die('skip utf8_encode() not available'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(utf8_encode('ỗÈéóÒ₧⅜ỗỸ'));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">ỗÈéóÒ₧⅜ỗỸ</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt
index 627bf0c..a85d3c4 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 006 (php/direct): echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStringArray", array(array('good','bad')), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:string[2]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 006 (php/direct): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array(array('good','bad')), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:string[2]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_006s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_006s.phpt
index 77bb4a9..8ea498a 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_006s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_006s.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round2 base 006 (soap/direct): echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$param =  new SoapParam(new SoapVar(array(
-    new SoapVar('good', XSD_STRING),
-    new SoapVar('bad', XSD_STRING)
-  ), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 006 (soap/direct): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+    new SoapVar('good', XSD_STRING),
+    new SoapVar('bad', XSD_STRING)
+  ), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_006w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_006w.phpt
index c1e06fa..6b63f45 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_006w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_006w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 006 (php/wsdl): echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringArray(array('good','bad'));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 006 (php/wsdl): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array('good','bad'));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_007p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_007p.phpt
index 8b5a775..bfa5e1c 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_007p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_007p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 007 (php/direct): echoStringArray(one)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStringArray", array(array('good')), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:string[1]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">good</item></param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 007 (php/direct): echoStringArray(one)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array(array('good')), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:string[1]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">good</item></param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_007s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_007s.phpt
index 9c3cb1b..6d46588 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_007s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_007s.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round2 base 007 (soap/direct): echoStringArray(one)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$param =  new SoapParam(new SoapVar(array(
-    new SoapVar('good', XSD_STRING)
-  ), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 007 (soap/direct): echoStringArray(one)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+    new SoapVar('good', XSD_STRING)
+  ), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_007w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_007w.phpt
index 4ce57b6..53a9161 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_007w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_007w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 007 (php/wsdl): echoStringArray(one)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringArray(array('good'));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 007 (php/wsdl): echoStringArray(one)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array('good'));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_008p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_008p.phpt
index 23981bd..2112558 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_008p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_008p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 008 (php/direct): echoStringArray(empty)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStringArray", array(array()), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:ur-type[0]" xsi:type="SOAP-ENC:Array"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 008 (php/direct): echoStringArray(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array(array()), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:ur-type[0]" xsi:type="SOAP-ENC:Array"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_008s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_008s.phpt
index 3adcce4..2bae845 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_008s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_008s.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 008 (soap/direct): echoStringArray(empty)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$param =  new SoapParam(new SoapVar(array(
-  ), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:ur-type[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 008 (soap/direct): echoStringArray(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+  ), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:ur-type[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_008w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_008w.phpt
index d10752b..a99a0fc 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_008w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_008w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 008 (php/wsdl): echoStringArray(empty)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringArray(array());
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 008 (php/wsdl): echoStringArray(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array());
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt
index afd90fa..bee2f79 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 009 (php/direct): echoStringArray(NULL)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStringArray", array(NULL), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 xsi:nil="true"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 009 (php/direct): echoStringArray(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array(NULL), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 xsi:nil="true"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt
index f137151..6aec611 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt
@@ -1,20 +1,20 @@
---TEST--
-SOAP Interop Round2 base 009 (soap/direct): echoStringArray(NULL)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$param =  new SoapParam(new SoapVar(NULL, SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 009 (soap/direct): echoStringArray(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(NULL, SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt
index 3a0d18e..16ae634 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 009 (php/wsdl): echoStringArray(NULL)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringArray(NULL);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 009 (php/wsdl): echoStringArray(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(NULL);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray xsi:nil="true" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_010p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_010p.phpt
index a9f3ba5..9c2aa0f 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_010p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_010p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 010 (php/direct): echoInteger
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoInteger", array(34345), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoInteger><param0 xsi:type="xsd:int">34345</param0></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerResponse><outputInteger xsi:type="xsd:int">34345</outputInteger></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 010 (php/direct): echoInteger
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoInteger", array(34345), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoInteger><param0 xsi:type="xsd:int">34345</param0></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerResponse><outputInteger xsi:type="xsd:int">34345</outputInteger></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_010s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_010s.phpt
index 673f8e6..1f012ca 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_010s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_010s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 010 (soap/direct): echoInteger
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoInteger", array(new SoapParam(new soapVar(34345, XSD_INT), "inputInteger")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoInteger><inputInteger xsi:type="xsd:int">34345</inputInteger></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerResponse><outputInteger xsi:type="xsd:int">34345</outputInteger></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 010 (soap/direct): echoInteger
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoInteger", array(new SoapParam(new soapVar(34345, XSD_INT), "inputInteger")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoInteger><inputInteger xsi:type="xsd:int">34345</inputInteger></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerResponse><outputInteger xsi:type="xsd:int">34345</outputInteger></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_010w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_010w.phpt
index 41f45d0..c7689fa 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_010w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_010w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 010 (php/wsdl): echoInteger
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoInteger(34345);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoInteger><inputInteger xsi:type="xsd:int">34345</inputInteger></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerResponse><outputInteger xsi:type="xsd:int">34345</outputInteger></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 010 (php/wsdl): echoInteger
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoInteger(34345);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoInteger><inputInteger xsi:type="xsd:int">34345</inputInteger></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerResponse><outputInteger xsi:type="xsd:int">34345</outputInteger></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_011p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_011p.phpt
index c1add45..739ded9 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_011p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_011p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 011 (php/direct): echoIntegerArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoIntegerArray", array(array(1,234324324,2)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArray><param0 SOAP-ENC:arrayType="xsd:int[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></param0></ns1:echoIntegerArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArrayResponse><outputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></outputIntegerArray></ns1:echoIntegerArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 011 (php/direct): echoIntegerArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoIntegerArray", array(array(1,234324324,2)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArray><param0 SOAP-ENC:arrayType="xsd:int[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></param0></ns1:echoIntegerArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArrayResponse><outputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></outputIntegerArray></ns1:echoIntegerArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_011s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_011s.phpt
index 08a1f2f..d7699e2 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_011s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_011s.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP Interop Round2 base 011 (soap/direct): echoIntegerArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$param =  new SoapParam(new SoapVar(array(
-    new SoapVar(1,XSD_INT),
-    new SoapVar(234324324,XSD_INT),
-    new SoapVar(2,XSD_INT)
-  ), SOAP_ENC_ARRAY, "ArrayOfint","http://soapinterop.org/xsd"), "inputIntegerArray");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoIntegerArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArray><inputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></inputIntegerArray></ns1:echoIntegerArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArrayResponse><outputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></outputIntegerArray></ns1:echoIntegerArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 011 (soap/direct): echoIntegerArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+    new SoapVar(1,XSD_INT),
+    new SoapVar(234324324,XSD_INT),
+    new SoapVar(2,XSD_INT)
+  ), SOAP_ENC_ARRAY, "ArrayOfint","http://soapinterop.org/xsd"), "inputIntegerArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoIntegerArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArray><inputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></inputIntegerArray></ns1:echoIntegerArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArrayResponse><outputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></outputIntegerArray></ns1:echoIntegerArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_011w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_011w.phpt
index c56f2a4..05b27c8 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_011w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_011w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 011 (php/wsdl): echoIntegerArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoIntegerArray(array(1,234324324,2));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArray><inputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></inputIntegerArray></ns1:echoIntegerArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArrayResponse><outputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></outputIntegerArray></ns1:echoIntegerArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 011 (php/wsdl): echoIntegerArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoIntegerArray(array(1,234324324,2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArray><inputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></inputIntegerArray></ns1:echoIntegerArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArrayResponse><outputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></outputIntegerArray></ns1:echoIntegerArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt
index 1a8e186..7cee319 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 012 (php/direct): echoFloat
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoFloat", array(342.23), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloat><param0 xsi:type="xsd:float">342.23</param0></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatResponse><outputFloat xsi:type="xsd:float">342.23</outputFloat></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 012 (php/direct): echoFloat
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoFloat", array(342.23), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloat><param0 xsi:type="xsd:float">342.23</param0></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatResponse><outputFloat xsi:type="xsd:float">342.23</outputFloat></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt
index c235e73..e004339 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 012 (soap/direct): echoFloat
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoFloat", array(new SoapParam(new SoapVar(342.23,XSD_FLOAT),"inputFloat")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloat><inputFloat xsi:type="xsd:float">342.23</inputFloat></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatResponse><outputFloat xsi:type="xsd:float">342.23</outputFloat></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 012 (soap/direct): echoFloat
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoFloat", array(new SoapParam(new SoapVar(342.23,XSD_FLOAT),"inputFloat")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloat><inputFloat xsi:type="xsd:float">342.23</inputFloat></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatResponse><outputFloat xsi:type="xsd:float">342.23</outputFloat></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt
index f4e8b3f..63a506c 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round2 base 012 (php/wsdl): echoFloat
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoFloat(342.23);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloat><inputFloat xsi:type="xsd:float">342.23</inputFloat></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatResponse><outputFloat xsi:type="xsd:float">342.23</outputFloat></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 012 (php/wsdl): echoFloat
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoFloat(342.23);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloat><inputFloat xsi:type="xsd:float">342.23</inputFloat></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatResponse><outputFloat xsi:type="xsd:float">342.23</outputFloat></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt
index 0a1b9d1..c680182 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 013 (php/direct): echoFloatArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoFloatArray", array(array(1.3223,34.2,325.325)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArray><param0 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></param0></ns1:echoFloatArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArrayResponse><outputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></outputFloatArray></ns1:echoFloatArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 013 (php/direct): echoFloatArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoFloatArray", array(array(1.3223,34.2,325.325)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArray><param0 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></param0></ns1:echoFloatArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArrayResponse><outputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></outputFloatArray></ns1:echoFloatArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt
index f83e8f7..9ebc294 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt
@@ -1,26 +1,26 @@
---TEST--
-SOAP Interop Round2 base 013 (soap/direct): echoFloatArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$param =  new SoapParam(new SoapVar(array(
-    new SoapVar(1.3223, XSD_FLOAT),
-    new SoapVar(34.2, XSD_FLOAT),
-    new SoapVar(325.325, XSD_FLOAT)
-  ), SOAP_ENC_ARRAY, "ArrayOffloat","http://soapinterop.org/xsd"), "inputFloatArray");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoFloatArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArray><inputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></inputFloatArray></ns1:echoFloatArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArrayResponse><outputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></outputFloatArray></ns1:echoFloatArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 013 (soap/direct): echoFloatArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+    new SoapVar(1.3223, XSD_FLOAT),
+    new SoapVar(34.2, XSD_FLOAT),
+    new SoapVar(325.325, XSD_FLOAT)
+  ), SOAP_ENC_ARRAY, "ArrayOffloat","http://soapinterop.org/xsd"), "inputFloatArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoFloatArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArray><inputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></inputFloatArray></ns1:echoFloatArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArrayResponse><outputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></outputFloatArray></ns1:echoFloatArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt
index 31f2a9a..6c28380 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round2 base 013 (php/wsdl): echoFloatArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoFloatArray(array(1.3223,34.2,325.325));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArray><inputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></inputFloatArray></ns1:echoFloatArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArrayResponse><outputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></outputFloatArray></ns1:echoFloatArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 013 (php/wsdl): echoFloatArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoFloatArray(array(1.3223,34.2,325.325));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArray><inputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></inputFloatArray></ns1:echoFloatArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArrayResponse><outputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></outputFloatArray></ns1:echoFloatArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt
index 59608c2..61a2213 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt
@@ -1,29 +1,29 @@
---TEST--
-SOAP Interop Round2 base 014 (php/direct): echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStruct", array(new SOAPStruct('arg',34,325.325)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param0></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><outputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></outputStruct></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 014 (php/direct): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStruct", array(new SOAPStruct('arg',34,325.325)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param0></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><outputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></outputStruct></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt
index 191add3..681f604 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt
@@ -1,26 +1,26 @@
---TEST--
-SOAP Interop Round2 base 014 (soap/direct): echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$param = new SoapParam(new SoapVar(array(
-		new SoapVar('arg', XSD_STRING, null, null, 'varString'),
-		new SoapVar('34',  XSD_INT, null, null, 'varInt'),
-		new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
-  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"), "inputStruct");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStruct", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><outputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></outputStruct></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 014 (soap/direct): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+		new SoapVar('arg', XSD_STRING, null, null, 'varString'),
+		new SoapVar('34',  XSD_INT, null, null, 'varInt'),
+		new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
+  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"), "inputStruct");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStruct", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><outputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></outputStruct></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt
index d70ee79..b03cc19 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round2 base 014 (php/wsdl): echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStruct(new SOAPStruct('arg',34,325.325));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><outputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></outputStruct></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 014 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct(new SOAPStruct('arg',34,325.325));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><outputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></outputStruct></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt
index d6dc55b..930c277 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round2 base 015 (php/direct): echoStructArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-
-$struct1 = new SOAPStruct('arg',34,325.325);
-$struct2 = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStructArray", array(array($struct1,$struct2)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><param0 SOAP-ENC:arrayType="SOAP-ENC:Struct[2]" xsi:type="SOAP-ENC:Array"><item xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></param0></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 015 (php/direct): echoStructArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$struct1 = new SOAPStruct('arg',34,325.325);
+$struct2 = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStructArray", array(array($struct1,$struct2)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><param0 SOAP-ENC:arrayType="SOAP-ENC:Struct[2]" xsi:type="SOAP-ENC:Array"><item xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></param0></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt
index 7a50b9b..e1052df 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt
@@ -1,44 +1,44 @@
---TEST--
-SOAP Interop Round2 base 015 (soap/direct): echoStructArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-
-$struct1 = new SoapVar(array(
-		new SoapVar('arg', XSD_STRING, null, null, 'varString'),
-		new SoapVar('34',  XSD_INT, null, null, 'varInt'),
-		new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
-  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
-$struct2 = new SoapVar(array(
-		new SoapVar('arg', XSD_STRING, null, null, 'varString'),
-		new SoapVar('34',  XSD_INT, null, null, 'varInt'),
-		new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
-  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
-
-$param =   new SoapParam(new SoapVar(array(
-    $struct1,
-    $struct2
-  ),SOAP_ENC_ARRAY,"ArrayOfSOAPStruct","http://soapinterop.org/xsd"), "inputStructArray");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStructArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputStructArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 015 (soap/direct): echoStructArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$struct1 = new SoapVar(array(
+		new SoapVar('arg', XSD_STRING, null, null, 'varString'),
+		new SoapVar('34',  XSD_INT, null, null, 'varInt'),
+		new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
+  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
+$struct2 = new SoapVar(array(
+		new SoapVar('arg', XSD_STRING, null, null, 'varString'),
+		new SoapVar('34',  XSD_INT, null, null, 'varInt'),
+		new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
+  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
+
+$param =   new SoapParam(new SoapVar(array(
+    $struct1,
+    $struct2
+  ),SOAP_ENC_ARRAY,"ArrayOfSOAPStruct","http://soapinterop.org/xsd"), "inputStructArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStructArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputStructArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt
index e8cb17d..46b8d7d 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt
@@ -1,32 +1,32 @@
---TEST--
-SOAP Interop Round2 base 015 (php/wsdl): echoStructArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-
-$struct1 = new SOAPStruct('arg',34,325.325);
-$struct2 = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStructArray(array($struct1,$struct2));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputStructArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 015 (php/wsdl): echoStructArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$struct1 = new SOAPStruct('arg',34,325.325);
+$struct2 = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStructArray(array($struct1,$struct2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputStructArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_016p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_016p.phpt
index 5f83e37..0c3a028 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_016p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_016p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 016 (php/direct): echoVoid
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoVoid", array(), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 016 (php/direct): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoid", array(), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_016s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_016s.phpt
index 4215bac..24cd42b 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_016s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_016s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 016 (soap/direct): echoVoid
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoVoid", array(), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 016 (soap/direct): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoid", array(), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_016w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_016w.phpt
index f71d65f..11e379c 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_016w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_016w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 016 (php/wsdl): echoVoid
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoVoid();
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 016 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_017p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_017p.phpt
index b769fc0..5f6b3c3 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_017p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_017p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 017 (php/direct): echoBase64
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBase64", array('Nebraska'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64><param0 xsi:type="xsd:string">Nebraska</param0></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64Response><outputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</outputBase64></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 017 (php/direct): echoBase64
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBase64", array('Nebraska'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64><param0 xsi:type="xsd:string">Nebraska</param0></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64Response><outputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</outputBase64></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_017s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_017s.phpt
index 0e467a9..3e3c6e1 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_017s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_017s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 017 (soap/direct): echoBase64
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBase64", array(new SoapParam(new SoapVar('Nebraska',XSD_BASE64BINARY),"inputBase64")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64><inputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</inputBase64></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64Response><outputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</outputBase64></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 017 (soap/direct): echoBase64
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBase64", array(new SoapParam(new SoapVar('Nebraska',XSD_BASE64BINARY),"inputBase64")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64><inputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</inputBase64></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64Response><outputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</outputBase64></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_017w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_017w.phpt
index a6f77e3..e82360e 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_017w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_017w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 017 (php/wsdl): echoBase64
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoBase64('Nebraska');
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64><inputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</inputBase64></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64Response><outputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</outputBase64></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 017 (php/wsdl): echoBase64
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBase64('Nebraska');
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64><inputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</inputBase64></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64Response><outputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</outputBase64></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_018p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_018p.phpt
index 899db7b..3738148 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_018p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_018p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 018 (php/direct): echoHexBinary
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoHexBinary", array('soapx4'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinary><param0 xsi:type="xsd:string">soapx4</param0></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><outputHexBinary xsi:type="xsd:hexBinary">736F61707834</outputHexBinary></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 018 (php/direct): echoHexBinary
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoHexBinary", array('soapx4'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinary><param0 xsi:type="xsd:string">soapx4</param0></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><outputHexBinary xsi:type="xsd:hexBinary">736F61707834</outputHexBinary></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_018s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_018s.phpt
index 1e78255..a531069 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_018s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_018s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 018 (soap/direct): echoHexBinary
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoHexBinary", array(new SoapParam(new SoapVar('soapx4',XSD_HEXBINARY),"inputHexBinary")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinary><inputHexBinary xsi:type="xsd:hexBinary">736F61707834</inputHexBinary></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><outputHexBinary xsi:type="xsd:hexBinary">736F61707834</outputHexBinary></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 018 (soap/direct): echoHexBinary
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoHexBinary", array(new SoapParam(new SoapVar('soapx4',XSD_HEXBINARY),"inputHexBinary")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinary><inputHexBinary xsi:type="xsd:hexBinary">736F61707834</inputHexBinary></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><outputHexBinary xsi:type="xsd:hexBinary">736F61707834</outputHexBinary></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_018w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_018w.phpt
index 4dcf3e5..2c0380f 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_018w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_018w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 018 (php/wsdl): echoHexBinary
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoHexBinary('soapx4');
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinary><inputHexBinary xsi:type="xsd:hexBinary">736F61707834</inputHexBinary></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><outputHexBinary xsi:type="xsd:hexBinary">736F61707834</outputHexBinary></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 018 (php/wsdl): echoHexBinary
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoHexBinary('soapx4');
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinary><inputHexBinary xsi:type="xsd:hexBinary">736F61707834</inputHexBinary></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><outputHexBinary xsi:type="xsd:hexBinary">736F61707834</outputHexBinary></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_019p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_019p.phpt
index 0ce2894..a767301 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_019p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_019p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 019 (php/direct): echoDecimal
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoDecimal", array('12345.67890'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimal><param0 xsi:type="xsd:string">12345.67890</param0></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimalResponse><outputDecimal xsi:type="xsd:decimal">12345.67890</outputDecimal></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 019 (php/direct): echoDecimal
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoDecimal", array('12345.67890'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimal><param0 xsi:type="xsd:string">12345.67890</param0></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimalResponse><outputDecimal xsi:type="xsd:decimal">12345.67890</outputDecimal></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_019s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_019s.phpt
index d653b83..56bea8b 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_019s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_019s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 019 (soap/direct): echoDecimal
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoDecimal", array(new SoapParam(new SoapVar('12345.67890',XSD_DECIMAL), "inputDecimal")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimal><inputDecimal xsi:type="xsd:decimal">12345.67890</inputDecimal></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimalResponse><outputDecimal xsi:type="xsd:decimal">12345.67890</outputDecimal></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 019 (soap/direct): echoDecimal
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoDecimal", array(new SoapParam(new SoapVar('12345.67890',XSD_DECIMAL), "inputDecimal")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimal><inputDecimal xsi:type="xsd:decimal">12345.67890</inputDecimal></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimalResponse><outputDecimal xsi:type="xsd:decimal">12345.67890</outputDecimal></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_019w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_019w.phpt
index 8ae7e7e..45278ef 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_019w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_019w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 019 (php/wsdl): echoDecimal
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoDecimal('12345.67890');
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimal><inputDecimal xsi:type="xsd:decimal">12345.67890</inputDecimal></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimalResponse><outputDecimal xsi:type="xsd:decimal">12345.67890</outputDecimal></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 019 (php/wsdl): echoDecimal
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDecimal('12345.67890');
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimal><inputDecimal xsi:type="xsd:decimal">12345.67890</inputDecimal></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimalResponse><outputDecimal xsi:type="xsd:decimal">12345.67890</outputDecimal></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_020p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_020p.phpt
index 1e88073..4afe922 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_020p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_020p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 020 (php/direct): echoDate
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoDate", array('2001-05-24T17:31:41Z'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDate><param0 xsi:type="xsd:string">2001-05-24T17:31:41Z</param0></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDateResponse><outputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</outputDate></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 020 (php/direct): echoDate
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoDate", array('2001-05-24T17:31:41Z'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDate><param0 xsi:type="xsd:string">2001-05-24T17:31:41Z</param0></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDateResponse><outputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</outputDate></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_020s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_020s.phpt
index 0b04b03..6ced748 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_020s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_020s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 020 (soap/direct): echoDate
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoDate", array(new SoapParam(new SoapVar('2001-05-24T17:31:41Z', XSD_DATETIME), "inputDate")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDate><inputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</inputDate></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDateResponse><outputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</outputDate></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 020 (soap/direct): echoDate
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoDate", array(new SoapParam(new SoapVar('2001-05-24T17:31:41Z', XSD_DATETIME), "inputDate")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDate><inputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</inputDate></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDateResponse><outputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</outputDate></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_020w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_020w.phpt
index c3b8535..787d1e9 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_020w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_020w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 020 (php/wsdl): echoDate
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoDate('2001-05-24T17:31:41Z');
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDate><inputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</inputDate></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDateResponse><outputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</outputDate></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 020 (php/wsdl): echoDate
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDate('2001-05-24T17:31:41Z');
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDate><inputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</inputDate></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDateResponse><outputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</outputDate></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt
index c25eac4..69edf34 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 021 (php/direct): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBoolean", array(true), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:boolean">true</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 021 (php/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(true), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:boolean">true</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt
index 829ee3c..8f2a66f 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 021 (soap/direct): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(true, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">true</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 021 (soap/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(true, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">true</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt
index 54f8254..140a823 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 021 (php/wsdl): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoBoolean(true);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">true</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 021 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(true);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">true</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt
index d01623e..07322b9 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 022 (php/direct): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBoolean", array(false), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:boolean">false</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 022 (php/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(false), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:boolean">false</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt
index 039fd23..9f4309c 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 022 (soap/direct): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(false, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">false</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 022 (soap/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(false, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">false</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt
index 88722dc..699a5f5 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 022 (php/wsdl): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoBoolean(false);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">false</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 022 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(false);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">false</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt
index f21ccc1..65dcad2 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 023 (php/direct): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBoolean", array(1), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:int">1</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 023 (php/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(1), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:int">1</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt
index 296e4b1..8985f38 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 023 (soap/direct): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(1, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">true</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 023 (soap/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(1, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">true</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt
index f8a6b87..356cdcc 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 023 (php/wsdl): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoBoolean(1);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">true</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 023 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(1);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">true</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">true</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt
index 1deee18..f55f095 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 024 (php/direct): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBoolean", array(0), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:int">0</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 024 (php/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(0), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:int">0</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt
index c3166c1..f10e762 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP Interop Round2 base 024 (soap/direct): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(0, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">false</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 024 (soap/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(0, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">false</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt
index 4fefba4..9fde836 100644
--- a/ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt
+++ b/ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 base 024 (php/wsdl): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoBoolean(0);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_base.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">false</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 base 024 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(0);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">false</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">false</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt
index e3bc42f..88080cf 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 groupB 001 (php/direct): echoStructAsSimpleTypes
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStructAsSimpleTypes", array((object)array('varString'=>"arg",'varInt'=>34,'varFloat'=>34.345)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypes><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></param0></ns1:echoStructAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypesResponse><outputString xsi:type="xsd:string">arg</outputString><outputInteger xsi:type="xsd:int">34</outputInteger><outputFloat xsi:type="xsd:float">34.345</outputFloat></ns1:echoStructAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 001 (php/direct): echoStructAsSimpleTypes
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStructAsSimpleTypes", array((object)array('varString'=>"arg",'varInt'=>34,'varFloat'=>34.345)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypes><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></param0></ns1:echoStructAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypesResponse><outputString xsi:type="xsd:string">arg</outputString><outputInteger xsi:type="xsd:int">34</outputInteger><outputFloat xsi:type="xsd:float">34.345</outputFloat></ns1:echoStructAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt
index b0b40f7..3f59200 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt
@@ -1,26 +1,26 @@
---TEST--
-SOAP Interop Round2 groupB 001 (soap/direct): echoStructAsSimpleTypes
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$param = new SoapParam(new SoapVar(array(
-    new SoapVar("arg", XSD_STRING, null, null, "varString"),
-    new SoapVar(34, XSD_INT, null, null, "varInt"),
-    new SoapVar(34.345, XSD_FLOAT, null, null, "varFloat")
-  ), SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd"), "inputStruct");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoStructAsSimpleTypes", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypes><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></inputStruct></ns1:echoStructAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypesResponse><outputString xsi:type="xsd:string">arg</outputString><outputInteger xsi:type="xsd:int">34</outputInteger><outputFloat xsi:type="xsd:float">34.345</outputFloat></ns1:echoStructAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 001 (soap/direct): echoStructAsSimpleTypes
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+    new SoapVar("arg", XSD_STRING, null, null, "varString"),
+    new SoapVar(34, XSD_INT, null, null, "varInt"),
+    new SoapVar(34.345, XSD_FLOAT, null, null, "varFloat")
+  ), SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd"), "inputStruct");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStructAsSimpleTypes", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypes><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></inputStruct></ns1:echoStructAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypesResponse><outputString xsi:type="xsd:string">arg</outputString><outputInteger xsi:type="xsd:int">34</outputInteger><outputFloat xsi:type="xsd:float">34.345</outputFloat></ns1:echoStructAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt
index 8f9f822..2d7fb63 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round2 groupB 001 (php/wsdl): echoStructAsSimpleTypes
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStructAsSimpleTypes((object)array('varString'=>"arg",'varInt'=>34,'varFloat'=>34.345));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypes><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></inputStruct></ns1:echoStructAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypesResponse><outputString xsi:type="xsd:string">arg</outputString><outputInteger xsi:type="xsd:int">34</outputInteger><outputFloat xsi:type="xsd:float">34.345</outputFloat></ns1:echoStructAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 001 (php/wsdl): echoStructAsSimpleTypes
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStructAsSimpleTypes((object)array('varString'=>"arg",'varInt'=>34,'varFloat'=>34.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypes><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></inputStruct></ns1:echoStructAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypesResponse><outputString xsi:type="xsd:string">arg</outputString><outputInteger xsi:type="xsd:int">34</outputInteger><outputFloat xsi:type="xsd:float">34.345</outputFloat></ns1:echoStructAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt
index c6f04db..3dba334 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round2 groupB 002 (php/direct): echoSimpleTypesAsStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoSimpleTypesAsStruct", array("arg",34,34.345), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStruct><param0 xsi:type="xsd:string">arg</param0><param1 xsi:type="xsd:int">34</param1><param2 xsi:type="xsd:float">34.345</param2></ns1:echoSimpleTypesAsStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStructResponse><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></return></ns1:echoSimpleTypesAsStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 002 (php/direct): echoSimpleTypesAsStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoSimpleTypesAsStruct", array("arg",34,34.345), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStruct><param0 xsi:type="xsd:string">arg</param0><param1 xsi:type="xsd:int">34</param1><param2 xsi:type="xsd:float">34.345</param2></ns1:echoSimpleTypesAsStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStructResponse><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></return></ns1:echoSimpleTypesAsStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt
index 744b3de..bda5baa 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP Interop Round2 groupB 002 (soap/direct): echoSimpleTypesAsStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoSimpleTypesAsStruct", array(
-  new SoapParam(new SoapVar("arg",XSD_STRING), "inputString"),
-  new SoapParam(new SoapVar(34,XSD_INT), "inputInteger"),
-  new SoapParam(new SoapVar(34.345,XSD_FLOAT), "inputFloat")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStruct><inputString xsi:type="xsd:string">arg</inputString><inputInteger xsi:type="xsd:int">34</inputInteger><inputFloat xsi:type="xsd:float">34.345</inputFloat></ns1:echoSimpleTypesAsStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStructResponse><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></return></ns1:echoSimpleTypesAsStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 002 (soap/direct): echoSimpleTypesAsStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoSimpleTypesAsStruct", array(
+  new SoapParam(new SoapVar("arg",XSD_STRING), "inputString"),
+  new SoapParam(new SoapVar(34,XSD_INT), "inputInteger"),
+  new SoapParam(new SoapVar(34.345,XSD_FLOAT), "inputFloat")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStruct><inputString xsi:type="xsd:string">arg</inputString><inputInteger xsi:type="xsd:int">34</inputInteger><inputFloat xsi:type="xsd:float">34.345</inputFloat></ns1:echoSimpleTypesAsStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStructResponse><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></return></ns1:echoSimpleTypesAsStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt
index d04a3aa..c2b0c05 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round2 groupB 002 (php/wsdl): echoSimpleTypesAsStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoSimpleTypesAsStruct("arg",34,34.345);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStruct><inputString xsi:type="xsd:string">arg</inputString><inputInteger xsi:type="xsd:int">34</inputInteger><inputFloat xsi:type="xsd:float">34.345</inputFloat></ns1:echoSimpleTypesAsStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStructResponse><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></return></ns1:echoSimpleTypesAsStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 002 (php/wsdl): echoSimpleTypesAsStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSimpleTypesAsStruct("arg",34,34.345);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStruct><inputString xsi:type="xsd:string">arg</inputString><inputInteger xsi:type="xsd:int">34</inputInteger><inputFloat xsi:type="xsd:float">34.345</inputFloat></ns1:echoSimpleTypesAsStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStructResponse><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></return></ns1:echoSimpleTypesAsStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003p.phpt
index c8d8420..417ae10 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003p.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003p.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round2 groupB 003 (php/direct): echo2DStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$param = array(
-    array('row0col0', 'row0col1', 'row0col2'),
-    array('row1col0', 'row1col1', 'row1col2'));
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echo2DStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArray><param0 SOAP-ENC:arrayType="SOAP-ENC:Array[2]" xsi:type="SOAP-ENC:Array"><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item></item><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></item></param0></ns1:echo2DStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></return></ns1:echo2DStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 003 (php/direct): echo2DStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = array(
+    array('row0col0', 'row0col1', 'row0col2'),
+    array('row1col0', 'row1col1', 'row1col2'));
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echo2DStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArray><param0 SOAP-ENC:arrayType="SOAP-ENC:Array[2]" xsi:type="SOAP-ENC:Array"><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item></item><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></item></param0></ns1:echo2DStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></return></ns1:echo2DStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003s.phpt
index beb8ff9..59f2134 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003s.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003s.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round2 groupB 003 (soap/direct): echo2DStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$param = new SoapParam(new SoapVar(array(
-    new SoapVar(array(
-      new SoapVar('row0col0', XSD_STRING),
-      new SoapVar('row0col1', XSD_STRING),
-      new SoapVar('row0col2', XSD_STRING)
-    ), SOAP_ENC_ARRAY),
-    new SoapVar(array(
-      new SoapVar('row1col0', XSD_STRING),
-      new SoapVar('row1col1', XSD_STRING),
-      new SoapVar('row1col2', XSD_STRING)
-    ), SOAP_ENC_ARRAY)
-  ), SOAP_ENC_ARRAY, "ArrayOfString2D", "http://soapinterop.org/xsd"),"input2DStringArray");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echo2DStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArray><input2DStringArray SOAP-ENC:arrayType="SOAP-ENC:Array[2]" xsi:type="ns2:ArrayOfString2D"><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item></item><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></item></input2DStringArray></ns1:echo2DStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></return></ns1:echo2DStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 003 (soap/direct): echo2DStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+    new SoapVar(array(
+      new SoapVar('row0col0', XSD_STRING),
+      new SoapVar('row0col1', XSD_STRING),
+      new SoapVar('row0col2', XSD_STRING)
+    ), SOAP_ENC_ARRAY),
+    new SoapVar(array(
+      new SoapVar('row1col0', XSD_STRING),
+      new SoapVar('row1col1', XSD_STRING),
+      new SoapVar('row1col2', XSD_STRING)
+    ), SOAP_ENC_ARRAY)
+  ), SOAP_ENC_ARRAY, "ArrayOfString2D", "http://soapinterop.org/xsd"),"input2DStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echo2DStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArray><input2DStringArray SOAP-ENC:arrayType="SOAP-ENC:Array[2]" xsi:type="ns2:ArrayOfString2D"><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item></item><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></item></input2DStringArray></ns1:echo2DStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></return></ns1:echo2DStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003w.phpt
index cc5af03..cb89dc0 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003w.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003w.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP Interop Round2 groupB 003 (php/wsdl): echo2DStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$param = array(
-    array('row0col0', 'row0col1', 'row0col2'),
-    array('row1col0', 'row1col1', 'row1col2'));
-$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echo2DStringArray($param);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArray><input2DStringArray SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></input2DStringArray></ns1:echo2DStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></return></ns1:echo2DStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 003 (php/wsdl): echo2DStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$param = array(
+    array('row0col0', 'row0col1', 'row0col2'),
+    array('row1col0', 'row1col1', 'row1col2'));
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echo2DStringArray($param);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArray><input2DStringArray SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></input2DStringArray></ns1:echo2DStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></return></ns1:echo2DStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt
index e0147b0..fb5f485 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round2 groupB 004 (php/direct): echoNestedStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$param = (object)array(
-  'varString' => "arg",
-  'varInt' => 34,
-  'varFloat' => 123.45,
-  'varStruct' => (object)array(
-    'varString' => "arg2",
-    'varInt' => 342,
-    'varFloat' => 123.452,
-  ));
-
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoNestedStruct", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStruct><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></param0></ns1:echoNestedStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStructResponse><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></return></ns1:echoNestedStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 004 (php/direct): echoNestedStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$param = (object)array(
+  'varString' => "arg",
+  'varInt' => 34,
+  'varFloat' => 123.45,
+  'varStruct' => (object)array(
+    'varString' => "arg2",
+    'varInt' => 342,
+    'varFloat' => 123.452,
+  ));
+
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoNestedStruct", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStruct><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></param0></ns1:echoNestedStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStructResponse><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></return></ns1:echoNestedStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt
index c207e72..126bdff 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round2 groupB 004 (soap/direct): echoNestedStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$param = new SoapParam(new SoapVar(array(
-    new SoapVar("arg", XSD_STRING, null, null, "varString"),
-    new SoapVar(34, XSD_INT, null, null, "varInt"),
-    new SoapVar(123.45, XSD_FLOAT, null, null, "varFloat"),
-    new SoapVar(array(
-	    new SoapVar("arg2", XSD_STRING, null, null, "varString"),
-      new SoapVar(342, XSD_INT, null, null, "varInt"),
-      new SoapVar(123.452, XSD_FLOAT, null, null, "varFloat")
-    ), SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd", 'varStruct')
-  ), SOAP_ENC_OBJECT, "SOAPStructStruct", "http://soapinterop.org/xsd"), "inputStruct");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoNestedStruct", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStruct><inputStruct xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></inputStruct></ns1:echoNestedStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStructResponse><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></return></ns1:echoNestedStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 004 (soap/direct): echoNestedStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+    new SoapVar("arg", XSD_STRING, null, null, "varString"),
+    new SoapVar(34, XSD_INT, null, null, "varInt"),
+    new SoapVar(123.45, XSD_FLOAT, null, null, "varFloat"),
+    new SoapVar(array(
+	    new SoapVar("arg2", XSD_STRING, null, null, "varString"),
+      new SoapVar(342, XSD_INT, null, null, "varInt"),
+      new SoapVar(123.452, XSD_FLOAT, null, null, "varFloat")
+    ), SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd", 'varStruct')
+  ), SOAP_ENC_OBJECT, "SOAPStructStruct", "http://soapinterop.org/xsd"), "inputStruct");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoNestedStruct", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStruct><inputStruct xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></inputStruct></ns1:echoNestedStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStructResponse><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></return></ns1:echoNestedStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt
index 8dd3ae7..a51ab2b 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt
@@ -1,32 +1,32 @@
---TEST--
-SOAP Interop Round2 groupB 004 (php/wsdl): echoNestedStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$param = (object)array(
-  'varString' => "arg",
-  'varInt' => 34,
-  'varFloat' => 123.45,
-  'varStruct' => (object)array(
-    'varString' => "arg2",
-    'varInt' => 342,
-    'varFloat' => 123.452,
-  ));
-
-$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoNestedStruct($param);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStruct><inputStruct xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></inputStruct></ns1:echoNestedStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStructResponse><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></return></ns1:echoNestedStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 004 (php/wsdl): echoNestedStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$param = (object)array(
+  'varString' => "arg",
+  'varInt' => 34,
+  'varFloat' => 123.45,
+  'varStruct' => (object)array(
+    'varString' => "arg2",
+    'varInt' => 342,
+    'varFloat' => 123.452,
+  ));
+
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedStruct($param);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStruct><inputStruct xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></inputStruct></ns1:echoNestedStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStructResponse><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></return></ns1:echoNestedStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt
index e4a4b8e..3dd17e6 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt
@@ -1,26 +1,26 @@
---TEST--
-SOAP Interop Round2 groupB 005 (php/direct): echoNestedArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$param = (object)array(
-  'varString'=>'arg',
-  'varInt'=>34,
-  'varFloat'=>325.325,
-  'varArray' => array('red','blue','green'));
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoNestedArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArray><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></param0></ns1:echoNestedArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArrayResponse><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 005 (php/direct): echoNestedArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$param = (object)array(
+  'varString'=>'arg',
+  'varInt'=>34,
+  'varFloat'=>325.325,
+  'varArray' => array('red','blue','green'));
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoNestedArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArray><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></param0></ns1:echoNestedArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArrayResponse><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt
index b734e45..e8cacfa 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round2 groupB 005 (soap/direct): echoNestedArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$param = new SoapParam(new SoapVar(array(
-    new SoapVar("arg", XSD_STRING, null, null, "varString"),
-    new SoapVar(34, XSD_INT, null, null, "varInt"),
-    new SoapVar(325.325, XSD_FLOAT, null, null, "varFloat"),
-    new SoapVar(array(
-	    new SoapVar("red", XSD_STRING),
-	    new SoapVar("blue", XSD_STRING),
-	    new SoapVar("green", XSD_STRING),
-    ), SOAP_ENC_ARRAY, "ArrayOfString", "http://soapinterop.org/xsd", 'varArray')
-  ), SOAP_ENC_OBJECT, "SOAPArrayStruct", "http://soapinterop.org/xsd"), "inputStruct");
-$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoNestedArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArray><inputStruct xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></inputStruct></ns1:echoNestedArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArrayResponse><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 005 (soap/direct): echoNestedArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+    new SoapVar("arg", XSD_STRING, null, null, "varString"),
+    new SoapVar(34, XSD_INT, null, null, "varInt"),
+    new SoapVar(325.325, XSD_FLOAT, null, null, "varFloat"),
+    new SoapVar(array(
+	    new SoapVar("red", XSD_STRING),
+	    new SoapVar("blue", XSD_STRING),
+	    new SoapVar("green", XSD_STRING),
+    ), SOAP_ENC_ARRAY, "ArrayOfString", "http://soapinterop.org/xsd", 'varArray')
+  ), SOAP_ENC_OBJECT, "SOAPArrayStruct", "http://soapinterop.org/xsd"), "inputStruct");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoNestedArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArray><inputStruct xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></inputStruct></ns1:echoNestedArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArrayResponse><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt
index 7f76ff3..e11051f 100644
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt
+++ b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt
@@ -1,27 +1,27 @@
---TEST--
-SOAP Interop Round2 groupB 005 (php/wsdl): echoNestedArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$param = (object)array(
-  'varString'=>'arg',
-  'varInt'=>34,
-  'varFloat'=>325.325,
-  'varArray' => array('red','blue','green'));
-$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoNestedArray($param);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round2_groupB.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArray><inputStruct xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></inputStruct></ns1:echoNestedArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArrayResponse><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round2 groupB 005 (php/wsdl): echoNestedArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$param = (object)array(
+  'varString'=>'arg',
+  'varInt'=>34,
+  'varFloat'=>325.325,
+  'varArray' => array('red','blue','green'));
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedArray($param);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArray><inputStruct xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></inputStruct></ns1:echoNestedArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArrayResponse><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt
index 632d0a2..edff0a4 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round3 GroupD Compound1 001 (php/wsdl): echoPerson
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class Person {
-    function Person($a=NULL, $i=NULL, $n=NULL, $m=NULL) {
-        $this->Age = $a;
-        $this->ID = $i;
-        $this->Name = $n;
-        $this->Male = $m;
-    }
-}
-$person = new Person(32,12345,'Shane',TRUE);
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoPerson($person);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_compound1.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Person Name="Shane" Male="true"><ns1:Age>32</ns1:Age><ns1:ID>12345</ns1:ID></ns1:x_Person></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Person Name="Shane" Male="true"><ns1:Age>32</ns1:Age><ns1:ID>12345</ns1:ID></ns1:result_Person></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Compound1 001 (php/wsdl): echoPerson
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class Person {
+    function Person($a=NULL, $i=NULL, $n=NULL, $m=NULL) {
+        $this->Age = $a;
+        $this->ID = $i;
+        $this->Name = $n;
+        $this->Male = $m;
+    }
+}
+$person = new Person(32,12345,'Shane',TRUE);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoPerson($person);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_compound1.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Person Name="Shane" Male="true"><ns1:Age>32</ns1:Age><ns1:ID>12345</ns1:ID></ns1:x_Person></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Person Name="Shane" Male="true"><ns1:Age>32</ns1:Age><ns1:ID>12345</ns1:ID></ns1:result_Person></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_002w.phpt
index 2d8f91b..9b80248 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_002w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_002w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD Compound1 002 (php/wsdl): echoDocument
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoDocument("Test Document Here");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_compound1.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document>Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document>Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Compound1 002 (php/wsdl): echoDocument
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDocument("Test Document Here");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_compound1.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document>Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document>Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt
index a5f818c..d8dbf28 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD Compound1 003 (php/wsdl): echoDocument
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoDocument((object)array("_"=>"Test Document Here","ID"=>1));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_compound1.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document ID="1">Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document ID="1">Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Compound1 003 (php/wsdl): echoDocument
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDocument((object)array("_"=>"Test Document Here","ID"=>1));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_compound1.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document ID="1">Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document ID="1">Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt
index b5c00bd..b1a60df 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt
@@ -1,40 +1,40 @@
---TEST--
-SOAP Interop Round3 GroupD Compound2 001 (php/wsdl): echoEmployee
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class Person {
-    function Person($a=NULL, $i=NULL, $n=NULL, $m=NULL) {
-        $this->Age = $a;
-        $this->ID = $i;
-        $this->Name = $n;
-        $this->Male = $m;
-    }
-}
-class Employee {
-    function Employee($person=NULL,$id=NULL,$salary=NULL) {
-        $this->person = $person;
-        $this->ID = $id;
-        $this->salary = $salary;
-    }
-}
-$person = new Person(32,12345,'Shane',TRUE);
-$employee = new Employee($person,12345,1000000.00);
-
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound2.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoEmployee($employee);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_compound2.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/person" xmlns:ns2="http://soapinterop.org/employee"><SOAP-ENV:Body><ns2:x_Employee><ns2:person><ns1:Name>Shane</ns1:Name><ns1:Male>true</ns1:Male></ns2:person><ns2:salary>1000000</ns2:salary><ns2:ID>12345</ns2:ID></ns2:x_Employee></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/person" xmlns:ns2="http://soapinterop.org/employee"><SOAP-ENV:Body><ns2:result_Employee><ns2:person><ns1:Name>Shane</ns1:Name><ns1:Male>true</ns1:Male></ns2:person><ns2:salary>1000000</ns2:salary><ns2:ID>12345</ns2:ID></ns2:result_Employee></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Compound2 001 (php/wsdl): echoEmployee
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class Person {
+    function Person($a=NULL, $i=NULL, $n=NULL, $m=NULL) {
+        $this->Age = $a;
+        $this->ID = $i;
+        $this->Name = $n;
+        $this->Male = $m;
+    }
+}
+class Employee {
+    function Employee($person=NULL,$id=NULL,$salary=NULL) {
+        $this->person = $person;
+        $this->ID = $id;
+        $this->salary = $salary;
+    }
+}
+$person = new Person(32,12345,'Shane',TRUE);
+$employee = new Employee($person,12345,1000000.00);
+
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound2.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoEmployee($employee);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_compound2.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/person" xmlns:ns2="http://soapinterop.org/employee"><SOAP-ENV:Body><ns2:x_Employee><ns2:person><ns1:Name>Shane</ns1:Name><ns1:Male>true</ns1:Male></ns2:person><ns2:salary>1000000</ns2:salary><ns2:ID>12345</ns2:ID></ns2:x_Employee></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/person" xmlns:ns2="http://soapinterop.org/employee"><SOAP-ENV:Body><ns2:result_Employee><ns2:person><ns1:Name>Shane</ns1:Name><ns1:Male>true</ns1:Male></ns2:person><ns2:salary>1000000</ns2:salary><ns2:ID>12345</ns2:ID></ns2:result_Employee></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_001w.phpt
index f3f2ca2..9f6fc41 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD Doc Lit 001 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString("Hello World");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_002w.phpt
index 03c6b98..f3e035e 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_002w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_002w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD Doc Lit 002 (php/wsdl): echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringArray(array("one","two","three"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArrayParam><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:echoStringArrayParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArrayReturn><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:echoStringArrayReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit 002 (php/wsdl): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArrayParam><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:echoStringArrayParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArrayReturn><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:echoStringArrayReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt
index 3287931..2e74e7c 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round3 GroupD Doc Lit 003 (php/wsdl): echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStruct($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStructParam><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:echoStructParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStructReturn><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:echoStructReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit 003 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStructParam><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:echoStructParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStructReturn><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:echoStructReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_004w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_004w.phpt
index cf70980..32fedea 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_004w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_004w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD Doc Lit 004 (php/wsdl): echoVoid
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoVoid();
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body/></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body/></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit 004 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body/></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body/></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_001w.phpt
index 7c4403d..3fd9c5e 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD Doc Lit Parameters 001 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString(array("param0"=>"Hello World"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_doclitparams.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoString><ns1:param0>Hello World</ns1:param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringResponse><ns1:return>Hello World</ns1:return></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit Parameters 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(array("param0"=>"Hello World"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclitparams.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoString><ns1:param0>Hello World</ns1:param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringResponse><ns1:return>Hello World</ns1:return></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_002w.phpt
index a73efd2..564407d 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_002w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_002w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD Doc Lit Parameters 002 (php/wsdl): echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringArray(array("param0"=>array("one","two","three")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_doclitparams.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArray><ns1:param0><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArrayResponse><ns1:return><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:return></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit Parameters 002 (php/wsdl): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array("param0"=>array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclitparams.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArray><ns1:param0><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArrayResponse><ns1:return><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:return></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt
index 118ea91..26ce8de 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round3 GroupD Doc Lit Parameters 003 (php/wsdl): echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStruct(array("param0"=>$struct));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_doclitparams.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStruct><ns1:param0><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:param0></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStructResponse><ns1:return><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:return></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit Parameters 003 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct(array("param0"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclitparams.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStruct><ns1:param0><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:param0></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStructResponse><ns1:return><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:return></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_004w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_004w.phpt
index b3857d3..79b0ced 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_004w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_004w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD Doc Lit Parameters 004 (php/wsdl): echoVoid
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoVoid();
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_doclitparams.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit Parameters 004 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclitparams.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_emptysa_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_emptysa_001w.phpt
index e79a954..47e2900 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_emptysa_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_emptysa_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD EmptySA 001 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_emptysa.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString("Hello World");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_emptysa.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><a xsi:type="xsd:string">Hello World</a></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><Result xsi:type="xsd:string">Hello World</Result></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD EmptySA 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_emptysa.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_emptysa.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><a xsi:type="xsd:string">Hello World</a></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><Result xsi:type="xsd:string">Hello World</Result></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import1_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import1_001w.phpt
index eefac74..34eac1c 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import1_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import1_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD Import1 001 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import1.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString("Hello World");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_import1.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/echoString/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><x xsi:type="xsd:string">Hello World</x></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/echoStringResponse/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><Result xsi:type="xsd:string">Hello World</Result></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Import1 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import1.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_import1.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/echoString/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><x xsi:type="xsd:string">Hello World</x></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/echoStringResponse/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><Result xsi:type="xsd:string">Hello World</Result></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt
index 00b21a5..270b30f 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round3 GroupD Import2 001 (php/wsdl): echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import2.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStruct($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_import2.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><Result xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></Result></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Import2 001 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import2.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_import2.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><Result xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></Result></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt
index d111ad8..892ef45 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round3 GroupD Import3 001 (php/wsdl): echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import3.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStruct($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_import3.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><Result xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></Result></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Import3 001 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import3.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_import3.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><Result xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></Result></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt
index 47a5a6c..e4279fc 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round3 GroupD Import3 002 (php/wsdl): echoStructArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct1 = new SOAPStruct('arg',34,325.325);
-$struct2 = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import3.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStructArray(array($struct1,$struct2));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_import3.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://soapinterop.org/xsd2" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns3:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://soapinterop.org/xsd2" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><Result SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns3:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></Result></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD Import3 002 (php/wsdl): echoStructArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct1 = new SOAPStruct('arg',34,325.325);
+$struct2 = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import3.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStructArray(array($struct1,$struct2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_import3.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://soapinterop.org/xsd2" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns3:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://soapinterop.org/xsd2" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><Result SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns3:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></Result></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_001w.phpt
index af546c3..c70eae0 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD RPC Encoded 001 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString("Hello World");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">Hello World</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><return xsi:type="xsd:string">Hello World</return></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD RPC Encoded 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">Hello World</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><return xsi:type="xsd:string">Hello World</return></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_002w.phpt
index 4e61a92..839afde 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_002w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_002w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD RPC Encoded 002 (php/wsdl): echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringArray(array("one","two","three"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></return></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD RPC Encoded 002 (php/wsdl): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></return></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt
index 02f6c90..cc27d6f 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round3 GroupD RPC Encoded 003 (php/wsdl): echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStruct($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><param0 xsi:type="ns2:SOAPStruct"><varFloat xsi:type="xsd:float">325.325</varFloat><varInt xsi:type="xsd:int">34</varInt><varString xsi:type="xsd:string">arg</varString></param0></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><return xsi:type="ns2:SOAPStruct"><varFloat xsi:type="xsd:float">325.325</varFloat><varInt xsi:type="xsd:int">34</varInt><varString xsi:type="xsd:string">arg</varString></return></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD RPC Encoded 003 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><param0 xsi:type="ns2:SOAPStruct"><varFloat xsi:type="xsd:float">325.325</varFloat><varInt xsi:type="xsd:int">34</varInt><varString xsi:type="xsd:string">arg</varString></param0></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><return xsi:type="ns2:SOAPStruct"><varFloat xsi:type="xsd:float">325.325</varFloat><varInt xsi:type="xsd:int">34</varInt><varString xsi:type="xsd:string">arg</varString></return></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_004w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_004w.phpt
index 272a409..a6cbbe8 100644
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_004w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_004w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupD RPC Encoded 004 (php/wsdl): echoVoid
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoVoid();
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupD_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupD RPC Encoded 004 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt
index 48d7615..07b087e 100644
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt
@@ -1,37 +1,37 @@
---TEST--
-SOAP Interop Round3 GroupE List 001 (php/wsdl): echoLinkedList
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPList {
-    function SOAPList($s, $i, $c) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->child = $c;
-    }
-}
-$struct = new SOAPList('arg1',1,NULL);
-$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoLinkedList($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupE_list.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:nil="true" xsi:type="ns2:List"/></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:nil="true" xsi:type="ns2:List"/></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#5 (3) {
-  ["varInt"]=>
-  int(1)
-  ["varString"]=>
-  string(4) "arg1"
-  ["child"]=>
-  NULL
-}
-ok
+--TEST--
+SOAP Interop Round3 GroupE List 001 (php/wsdl): echoLinkedList
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1,NULL);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:nil="true" xsi:type="ns2:List"/></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:nil="true" xsi:type="ns2:List"/></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#5 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  NULL
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt
index fe4a678..efc25e2 100644
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt
@@ -1,44 +1,44 @@
---TEST--
-SOAP Interop Round3 GroupE List 002 (php/wsdl): echoLinkedList
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPList {
-    function SOAPList($s, $i, $c) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->child = $c;
-    }
-}
-$struct = new SOAPList('arg1',1, new SOAPList('arg2',2,NULL));
-$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoLinkedList($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupE_list.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:nil="true" xsi:type="ns2:List"/></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:nil="true" xsi:type="ns2:List"/></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#6 (3) {
-  ["varInt"]=>
-  int(1)
-  ["varString"]=>
-  string(4) "arg1"
-  ["child"]=>
-  object(stdClass)#7 (3) {
-    ["varInt"]=>
-    int(2)
-    ["varString"]=>
-    string(4) "arg2"
-    ["child"]=>
-    NULL
-  }
-}
-ok
+--TEST--
+SOAP Interop Round3 GroupE List 002 (php/wsdl): echoLinkedList
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1, new SOAPList('arg2',2,NULL));
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:nil="true" xsi:type="ns2:List"/></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:nil="true" xsi:type="ns2:List"/></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#6 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  object(stdClass)#7 (3) {
+    ["varInt"]=>
+    int(2)
+    ["varString"]=>
+    string(4) "arg2"
+    ["child"]=>
+    NULL
+  }
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt
index 803de63..705e203 100644
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt
@@ -1,51 +1,51 @@
---TEST--
-SOAP Interop Round3 GroupE List 003 (php/wsdl): echoLinkedList
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPList {
-    function SOAPList($s, $i, $c) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->child = $c;
-    }
-}
-$struct = new SOAPList('arg1',1,new SOAPList('arg2',2,new SOAPList('arg3',3,NULL)));
-$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoLinkedList($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupE_list.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="true" xsi:type="ns2:List"/></child></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="true" xsi:type="ns2:List"/></child></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#7 (3) {
-  ["varInt"]=>
-  int(1)
-  ["varString"]=>
-  string(4) "arg1"
-  ["child"]=>
-  object(stdClass)#8 (3) {
-    ["varInt"]=>
-    int(2)
-    ["varString"]=>
-    string(4) "arg2"
-    ["child"]=>
-    object(stdClass)#9 (3) {
-      ["varInt"]=>
-      int(3)
-      ["varString"]=>
-      string(4) "arg3"
-      ["child"]=>
-      NULL
-    }
-  }
-}
-ok
+--TEST--
+SOAP Interop Round3 GroupE List 003 (php/wsdl): echoLinkedList
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1,new SOAPList('arg2',2,new SOAPList('arg3',3,NULL)));
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="true" xsi:type="ns2:List"/></child></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="true" xsi:type="ns2:List"/></child></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#7 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  object(stdClass)#8 (3) {
+    ["varInt"]=>
+    int(2)
+    ["varString"]=>
+    string(4) "arg2"
+    ["child"]=>
+    object(stdClass)#9 (3) {
+      ["varInt"]=>
+      int(3)
+      ["varString"]=>
+      string(4) "arg3"
+      ["child"]=>
+      NULL
+    }
+  }
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt
index 0398141..ade6d83 100644
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round3 GroupE List 004 (php/wsdl): echoLinkedList
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPList {
-    function SOAPList($s, $i, $c) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->child = $c;
-    }
-}
-$struct = NULL;
-$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoLinkedList($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupE_list.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:nil="true" xsi:type="ns2:List"/></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:nil="true" xsi:type="ns2:List"/></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-NULL
-ok
+--TEST--
+SOAP Interop Round3 GroupE List 004 (php/wsdl): echoLinkedList
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = NULL;
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:nil="true" xsi:type="ns2:List"/></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:nil="true" xsi:type="ns2:List"/></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+NULL
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_005w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_005w.phpt
index a0c068c..8e7876f 100644
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_005w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_005w.phpt
@@ -1,73 +1,73 @@
---TEST--
-SOAP Interop Round3 GroupE List 005 (php/wsdl): echoLinkedList (cyclic)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPList {
-    function SOAPList($s, $i, $c) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->child = $c;
-    }
-}
-$struct = new SOAPList('arg1',1,new SOAPList('arg2',2,new SOAPList('arg3',3,NULL)));
-$struct->child->child->child = $struct;
-$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoLinkedList($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupE_list.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 id="ref1" xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child href="#ref1"/></child></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return id="ref1" xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child href="#ref1"/></child></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#7 (3) {
-  ["varInt"]=>
-  int(1)
-  ["varString"]=>
-  string(4) "arg1"
-  ["child"]=>
-  object(stdClass)#8 (3) {
-    ["varInt"]=>
-    int(2)
-    ["varString"]=>
-    string(4) "arg2"
-    ["child"]=>
-    object(stdClass)#9 (3) {
-      ["varInt"]=>
-      int(3)
-      ["varString"]=>
-      string(4) "arg3"
-      ["child"]=>
-      object(stdClass)#7 (3) {
-        ["varInt"]=>
-        int(1)
-        ["varString"]=>
-        string(4) "arg1"
-        ["child"]=>
-        object(stdClass)#8 (3) {
-          ["varInt"]=>
-          int(2)
-          ["varString"]=>
-          string(4) "arg2"
-          ["child"]=>
-          object(stdClass)#9 (3) {
-            ["varInt"]=>
-            int(3)
-            ["varString"]=>
-            string(4) "arg3"
-            ["child"]=>
-            *RECURSION*
-          }
-        }
-      }
-    }
-  }
-}
-ok
+--TEST--
+SOAP Interop Round3 GroupE List 005 (php/wsdl): echoLinkedList (cyclic)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1,new SOAPList('arg2',2,new SOAPList('arg3',3,NULL)));
+$struct->child->child->child = $struct;
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 id="ref1" xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child href="#ref1"/></child></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return id="ref1" xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child href="#ref1"/></child></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#7 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  object(stdClass)#8 (3) {
+    ["varInt"]=>
+    int(2)
+    ["varString"]=>
+    string(4) "arg2"
+    ["child"]=>
+    object(stdClass)#9 (3) {
+      ["varInt"]=>
+      int(3)
+      ["varString"]=>
+      string(4) "arg3"
+      ["child"]=>
+      object(stdClass)#7 (3) {
+        ["varInt"]=>
+        int(1)
+        ["varString"]=>
+        string(4) "arg1"
+        ["child"]=>
+        object(stdClass)#8 (3) {
+          ["varInt"]=>
+          int(2)
+          ["varString"]=>
+          string(4) "arg2"
+          ["child"]=>
+          object(stdClass)#9 (3) {
+            ["varInt"]=>
+            int(3)
+            ["varString"]=>
+            string(4) "arg3"
+            ["child"]=>
+            *RECURSION*
+          }
+        }
+      }
+    }
+  }
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_006w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_006w.phpt
index 590b6ee..6932d5c 100644
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_006w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_006w.phpt
@@ -1,66 +1,66 @@
---TEST--
-SOAP Interop Round3 GroupE List 006 (php/wsdl): echoLinkedList (cyclic)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPList {
-    function SOAPList($s, $i, $c) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->child = $c;
-    }
-}
-$struct = new SOAPList('arg1',1,new SOAPList('arg2',2,new SOAPList('arg3',3,NULL)));
-$struct->child->child->child = $struct->child;
-$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoLinkedList($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupE_list.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child id="ref1" xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child href="#ref1"/></child></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child id="ref1" xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child href="#ref1"/></child></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#7 (3) {
-  ["varInt"]=>
-  int(1)
-  ["varString"]=>
-  string(4) "arg1"
-  ["child"]=>
-  &object(stdClass)#8 (3) {
-    ["varInt"]=>
-    int(2)
-    ["varString"]=>
-    string(4) "arg2"
-    ["child"]=>
-    object(stdClass)#9 (3) {
-      ["varInt"]=>
-      int(3)
-      ["varString"]=>
-      string(4) "arg3"
-      ["child"]=>
-      object(stdClass)#8 (3) {
-        ["varInt"]=>
-        int(2)
-        ["varString"]=>
-        string(4) "arg2"
-        ["child"]=>
-        object(stdClass)#9 (3) {
-          ["varInt"]=>
-          int(3)
-          ["varString"]=>
-          string(4) "arg3"
-          ["child"]=>
-          *RECURSION*
-        }
-      }
-    }
-  }
-}
-ok
+--TEST--
+SOAP Interop Round3 GroupE List 006 (php/wsdl): echoLinkedList (cyclic)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1,new SOAPList('arg2',2,new SOAPList('arg3',3,NULL)));
+$struct->child->child->child = $struct->child;
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child id="ref1" xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child href="#ref1"/></child></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child id="ref1" xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child href="#ref1"/></child></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#7 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  &object(stdClass)#8 (3) {
+    ["varInt"]=>
+    int(2)
+    ["varString"]=>
+    string(4) "arg2"
+    ["child"]=>
+    object(stdClass)#9 (3) {
+      ["varInt"]=>
+      int(3)
+      ["varString"]=>
+      string(4) "arg3"
+      ["child"]=>
+      object(stdClass)#8 (3) {
+        ["varInt"]=>
+        int(2)
+        ["varString"]=>
+        string(4) "arg2"
+        ["child"]=>
+        object(stdClass)#9 (3) {
+          ["varInt"]=>
+          int(3)
+          ["varString"]=>
+          string(4) "arg3"
+          ["child"]=>
+          *RECURSION*
+        }
+      }
+    }
+  }
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_ext_001w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_ext_001w.phpt
index 847bfe0..bc6af1a 100644
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_ext_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_ext_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupF Extensibility 001 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupF_ext.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString("Hello World");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupF_ext.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupF Extensibility 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_ext.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_ext.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_extreq_001w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_extreq_001w.phpt
index 29680c6..fa8940e 100644
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_extreq_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_extreq_001w.phpt
@@ -1,17 +1,17 @@
---TEST--
-SOAP Interop Round3 GroupF Extensibility Required 001 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupF_extreq.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString("Hello World");
-echo $client->__getlastrequest();
-//$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-//include("round3_groupF_extreq.inc");
-echo "ok\n";
-?>
---EXPECTF--
-Fatal error: SOAP-ERROR: Parsing WSDL: Unknown required WSDL extension 'http://soapinterop.org/ext' in %sr3_groupF_extreq_001w.php on line %d
+--TEST--
+SOAP Interop Round3 GroupF Extensibility Required 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_extreq.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+//$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+//include("round3_groupF_extreq.inc");
+echo "ok\n";
+?>
+--EXPECTF--
+Fatal error: SOAP-ERROR: Parsing WSDL: Unknown required WSDL extension 'http://soapinterop.org/ext' in %sr3_groupF_extreq_001w.php on line %d
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_001w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_001w.phpt
index 578bfad..65bda0c 100644
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_001w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round3 GroupF Headers 001 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString("Hello World");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupF_headers.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupF Headers 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_headers.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_002w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_002w.phpt
index 4cee3e1..ae723a3 100644
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_002w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_002w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round3 GroupF Headers 002 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = new SoapHeader("http://soapinterop.org/xsd","Header1", array("int"=>34,"string"=>"arg"));
-$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString",array("Hello World"),null,$hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupF_headers.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Header><ns1:Header1><ns1:string>arg</ns1:string><ns1:int>34</ns1:int></ns1:Header1></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupF Headers 002 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/xsd","Header1", array("int"=>34,"string"=>"arg"));
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString",array("Hello World"),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_headers.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Header><ns1:Header1><ns1:string>arg</ns1:string><ns1:int>34</ns1:int></ns1:Header1></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_003w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_003w.phpt
index 6a4db2c..b4cb283 100644
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_003w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_003w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round3 GroupF Headers 003 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = new SoapHeader("http://soapinterop.org/xsd","Header2", array("int"=>34,"string"=>"arg"));
-$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString",array("Hello World"),null,$hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupF_headers.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Header><ns1:Header2><ns1:int>34</ns1:int><ns1:string>arg</ns1:string></ns1:Header2></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupF Headers 003 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/xsd","Header2", array("int"=>34,"string"=>"arg"));
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString",array("Hello World"),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_headers.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Header><ns1:Header2><ns1:int>34</ns1:int><ns1:string>arg</ns1:string></ns1:Header2></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_004w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_004w.phpt
index 3abe160..f0a427a 100644
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_004w.phpt
+++ b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_004w.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP Interop Round3 GroupF Headers 004 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = array(
-  new SoapHeader("http://soapinterop.org/xsd","Header1", array("int"=>34,"string"=>"arg1")),
-  new SoapHeader("http://soapinterop.org/xsd","Header2", array("int"=>43,"string"=>"arg2"))
-);
-$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoString",array("Hello World"),null,$hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round3_groupF_headers.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Header><ns1:Header1><ns1:string>arg1</ns1:string><ns1:int>34</ns1:int></ns1:Header1><ns1:Header2><ns1:int>43</ns1:int><ns1:string>arg2</ns1:string></ns1:Header2></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round3 GroupF Headers 004 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = array(
+  new SoapHeader("http://soapinterop.org/xsd","Header1", array("int"=>34,"string"=>"arg1")),
+  new SoapHeader("http://soapinterop.org/xsd","Header2", array("int"=>43,"string"=>"arg2"))
+);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString",array("Hello World"),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_headers.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Header><ns1:Header1><ns1:string>arg1</ns1:string><ns1:int>34</ns1:int></ns1:Header1><ns1:Header2><ns1:int>43</ns1:int><ns1:string>arg2</ns1:string></ns1:Header2></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt
index dccf40d..27a0c93 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 001 (php/wsdl): echoSOAPStructFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoSOAPStructFault($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoSOAPStructFaultRequest><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:echoSOAPStructFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoSOAPStructFault'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 001 (php/wsdl): echoSOAPStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSOAPStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoSOAPStructFaultRequest><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:echoSOAPStructFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoSOAPStructFault'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt
index 6f3fe53..1ed1fe7 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt
@@ -1,36 +1,36 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 002 (php/wsdl): echoBaseStructFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->structMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-$struct = new BaseStruct(new SOAPStruct("a1",11,12.345),11);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoBaseStructFault($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoBaseStructFaultRequest><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>11</ns1:shortMessage></ns2:echoBaseStructFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoBaseStructFault'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>11</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 002 (php/wsdl): echoBaseStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$struct = new BaseStruct(new SOAPStruct("a1",11,12.345),11);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBaseStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoBaseStructFaultRequest><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>11</ns1:shortMessage></ns2:echoBaseStructFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoBaseStructFault'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>11</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt
index 4b67bc8..fde7d75 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt
@@ -1,44 +1,44 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 003 (php/wsdl): echoExtendedStructFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->structMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-$struct = new ExtendedStruct(new SOAPStruct("a1",11,12.345),12,"arg",-3,5);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoExtendedStructFault($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoExtendedStructFaultRequest><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>12</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage></ns2:echoExtendedStructFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoExtendedStructFault'.</faultstring><detail><ns2:ExtendedStructPart><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>12</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage></ns2:ExtendedStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 003 (php/wsdl): echoExtendedStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+$struct = new ExtendedStruct(new SOAPStruct("a1",11,12.345),12,"arg",-3,5);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoExtendedStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoExtendedStructFaultRequest><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>12</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage></ns2:echoExtendedStructFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoExtendedStructFault'.</faultstring><detail><ns2:ExtendedStructPart><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>12</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage></ns2:ExtendedStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt
index 4838d97..d448974 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt
@@ -1,39 +1,39 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 004 (php/wsdl): echoMultipleFaults1(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->structMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-$s1 = new SOAPStruct('arg1',34,325.325);
-$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(array("whichFault" => 1,
-                                   "param1"     => $s1,
-                                   "param2"     => $s2));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>1</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg1</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 004 (php/wsdl): echoMultipleFaults1(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg1',34,325.325);
+$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 1,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>1</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg1</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt
index 923f04d..52451ac 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt
@@ -1,39 +1,39 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 005 (php/wsdl): echoMultipleFaults1(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->structMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-$s1 = new SOAPStruct('arg1',34,325.325);
-$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(array("whichFault" => 2,
-                                   "param1"     => $s1,
-                                   "param2"     => $s2));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>2</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>arg2</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:structMessage><ns1:shortMessage>12</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 005 (php/wsdl): echoMultipleFaults1(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg1',34,325.325);
+$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 2,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>2</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>arg2</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:structMessage><ns1:shortMessage>12</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt
index 5492187..c9ad1c5 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt
@@ -1,39 +1,39 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 006 (php/wsdl): echoMultipleFaults1(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->structMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-$s1 = new SOAPStruct('arg1',34,325.325);
-$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(array("whichFault" => 3,
-                                   "param1"     => $s1,
-                                   "param2"     => $s2));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>3</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg1</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 006 (php/wsdl): echoMultipleFaults1(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg1',34,325.325);
+$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 3,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>3</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg1</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_007w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_007w.phpt
index f790278..fac6c3b 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_007w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_007w.phpt
@@ -1,54 +1,54 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 007 (php/wsdl): echoMultipleFaults2(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->structMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-class MoreExtendedStruct extends ExtendedStruct {
-    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
-        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
-        $this->booleanMessage = $b;
-    }
-}
-$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
-$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
-$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(array("whichFault" => 1,
-                                   "param1"     => $s1,
-                                   "param2"     => $s2,
-                                   "param3"     => $s3));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>1</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>true</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>s1</ns1:varString><ns1:varInt>1</ns1:varInt><ns1:varFloat>1.1</ns1:varFloat></ns1:structMessage><ns1:shortMessage>1</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 007 (php/wsdl): echoMultipleFaults2(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
+$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 1,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2,
+                                   "param3"     => $s3));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>1</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>true</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>s1</ns1:varString><ns1:varInt>1</ns1:varInt><ns1:varFloat>1.1</ns1:varFloat></ns1:structMessage><ns1:shortMessage>1</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_008w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_008w.phpt
index 95c79ed..c020790 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_008w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_008w.phpt
@@ -1,54 +1,54 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 008 (php/wsdl): echoMultipleFaults2(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->structMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-class MoreExtendedStruct extends ExtendedStruct {
-    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
-        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
-        $this->booleanMessage = $b;
-    }
-}
-$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
-$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
-$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(array("whichFault" => 2,
-                                   "param1"     => $s1,
-                                   "param2"     => $s2,
-                                   "param3"     => $s3));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>2</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>true</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:ExtendedStructPart><ns1:structMessage><ns1:varString>s2</ns1:varString><ns1:varInt>2</ns1:varInt><ns1:varFloat>2.2</ns1:varFloat></ns1:structMessage><ns1:shortMessage>2</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage></ns2:ExtendedStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 008 (php/wsdl): echoMultipleFaults2(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
+$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 2,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2,
+                                   "param3"     => $s3));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>2</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>true</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:ExtendedStructPart><ns1:structMessage><ns1:varString>s2</ns1:varString><ns1:varInt>2</ns1:varInt><ns1:varFloat>2.2</ns1:varFloat></ns1:structMessage><ns1:shortMessage>2</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage></ns2:ExtendedStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_009w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_009w.phpt
index c33bc21..f3a07d7 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_009w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_009w.phpt
@@ -1,54 +1,54 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 009 (php/wsdl): echoMultipleFaults2(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->structMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-class MoreExtendedStruct extends ExtendedStruct {
-    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
-        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
-        $this->booleanMessage = $b;
-    }
-}
-$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
-$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
-$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(array("whichFault" => 3,
-                                   "param1"     => $s1,
-                                   "param2"     => $s2,
-                                   "param3"     => $s3));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>3</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>true</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:MoreExtendedStructPart><ns1:structMessage><ns1:varString>s3</ns1:varString><ns1:varInt>3</ns1:varInt><ns1:varFloat>3.3</ns1:varFloat></ns1:structMessage><ns1:shortMessage>3</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage><ns1:booleanMessage>true</ns1:booleanMessage></ns2:MoreExtendedStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 009 (php/wsdl): echoMultipleFaults2(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
+$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 3,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2,
+                                   "param3"     => $s3));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>3</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>true</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:MoreExtendedStructPart><ns1:structMessage><ns1:varString>s3</ns1:varString><ns1:varInt>3</ns1:varInt><ns1:varFloat>3.3</ns1:varFloat></ns1:structMessage><ns1:shortMessage>3</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage><ns1:booleanMessage>true</ns1:booleanMessage></ns2:MoreExtendedStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_010w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_010w.phpt
index 0d6c8c5..55d62c1 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_010w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_010w.phpt
@@ -1,54 +1,54 @@
---TEST--
-SOAP Interop Round4 GroupH Complex Doc Lit 010 (php/wsdl): echoMultipleFaults2(4)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->structMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-class MoreExtendedStruct extends ExtendedStruct {
-    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
-        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
-        $this->booleanMessage = $b;
-    }
-}
-$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
-$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
-$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(array("whichFault" => 4,
-                                   "param1"     => $s1,
-                                   "param2"     => $s2,
-                                   "param3"     => $s3));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>4</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>true</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>s1</ns1:varString><ns1:varInt>1</ns1:varInt><ns1:varFloat>1.1</ns1:varFloat></ns1:structMessage><ns1:shortMessage>1</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 010 (php/wsdl): echoMultipleFaults2(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
+$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 4,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2,
+                                   "param3"     => $s3));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>4</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>true</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>s1</ns1:varString><ns1:varInt>1</ns1:varInt><ns1:varFloat>1.1</ns1:varFloat></ns1:structMessage><ns1:shortMessage>1</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt
index 3c3a620..bf867d9 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 001 (php/wsdl): echoSOAPStructFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPStruct('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoSOAPStructFault(array("soapStruct"=>$struct));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSOAPStructFault><param xsi:type="ns2:SOAPStructFault"><soapStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></param></ns1:echoSOAPStructFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoSOAPStructFault'.</faultstring><detail><ns2:part1 xsi:type="ns1:SOAPStructFault"><soapStruct xsi:type="ns1:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></ns2:part1></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 001 (php/wsdl): echoSOAPStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSOAPStructFault(array("soapStruct"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSOAPStructFault><param xsi:type="ns2:SOAPStructFault"><soapStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></param></ns1:echoSOAPStructFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoSOAPStructFault'.</faultstring><detail><ns2:part1 xsi:type="ns1:SOAPStructFault"><soapStruct xsi:type="ns1:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></ns2:part1></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt
index a4f1197..6ac7641 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt
@@ -1,29 +1,29 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 002 (php/wsdl): echoBaseStructFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->floatMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-$struct = new BaseStruct(12.345,12);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoBaseStructFault($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBaseStructFault><param xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param></ns1:echoBaseStructFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoBaseStructFault'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 002 (php/wsdl): echoBaseStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$struct = new BaseStruct(12.345,12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBaseStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBaseStructFault><param xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param></ns1:echoBaseStructFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoBaseStructFault'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt
index 7b33e7a..dda5b69 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt
@@ -1,37 +1,37 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 003 (php/wsdl): echoExtendedStructFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->floatMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-$struct = new ExtendedStruct(12.345,12,"arg",-3,5);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoExtendedStructFault($struct);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoExtendedStructFault><param xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param></ns1:echoExtendedStructFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoExtendedStructFault'.</faultstring><detail><ns2:part3 xsi:type="ns1:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></ns2:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 003 (php/wsdl): echoExtendedStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+$struct = new ExtendedStruct(12.345,12,"arg",-3,5);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoExtendedStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoExtendedStructFault><param xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param></ns1:echoExtendedStructFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoExtendedStructFault'.</faultstring><detail><ns2:part3 xsi:type="ns1:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></ns2:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt
index 3e04b18..e4b2917 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt
@@ -1,37 +1,37 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 004 (php/wsdl): echoMultipleFaults1(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->floatMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-$s1 = new SOAPStruct('arg',34,325.325);
-$s2 = new BaseStruct(12.345,12);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(1,$s1,$s2);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param1><param2 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:type="ns1:SOAPStructFault"><soapStruct xsi:type="ns1:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></ns2:part1></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 004 (php/wsdl): echoMultipleFaults1(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg',34,325.325);
+$s2 = new BaseStruct(12.345,12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(1,$s1,$s2);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param1><param2 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:type="ns1:SOAPStructFault"><soapStruct xsi:type="ns1:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></ns2:part1></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt
index 7e935dc..074b258 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt
@@ -1,37 +1,37 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 005 (php/wsdl): echoMultipleFaults1(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->floatMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-$s1 = new SOAPStruct('arg',34,325.325);
-$s2 = new BaseStruct(12.345,12);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(2,$s1,$s2);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param1><param2 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 005 (php/wsdl): echoMultipleFaults1(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg',34,325.325);
+$s2 = new BaseStruct(12.345,12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(2,$s1,$s2);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param1><param2 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt
index 9d147c8..8fd9b39 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt
@@ -1,37 +1,37 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 006 (php/wsdl): echoMultipleFaults1(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPStruct {
-    function SOAPStruct($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->floatMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-$s1 = new SOAPStruct('arg',34,325.325);
-$s2 = new BaseStruct(12.345,12);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(3,$s1,$s2);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param1><param2 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:type="ns1:SOAPStructFault"><soapStruct xsi:type="ns1:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></ns2:part1></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 006 (php/wsdl): echoMultipleFaults1(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg',34,325.325);
+$s2 = new BaseStruct(12.345,12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(3,$s1,$s2);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param1><param2 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:type="ns1:SOAPStructFault"><soapStruct xsi:type="ns1:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></ns2:part1></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt
index 3a938c1..f54c188 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt
@@ -1,45 +1,45 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 007 (php/wsdl): echoMultipleFaults2(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->floatMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-class MoreExtendedStruct extends ExtendedStruct {
-    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
-        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
-        $this->booleanMessage = $b;
-    }
-}
-$s1 = new BaseStruct(12.345,1);
-$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
-$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(1,$s1,$s2,$s3);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 007 (php/wsdl): echoMultipleFaults2(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(12.345,1);
+$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(1,$s1,$s2,$s3);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt
index 72fc946..d6f16a7 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt
@@ -1,45 +1,45 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 008 (php/wsdl): echoMultipleFaults2(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->floatMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-class MoreExtendedStruct extends ExtendedStruct {
-    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
-        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
-        $this->booleanMessage = $b;
-    }
-}
-$s1 = new BaseStruct(12.345,1);
-$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
-$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(2,$s1,$s2,$s3);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part3 xsi:type="ns1:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></ns2:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 008 (php/wsdl): echoMultipleFaults2(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(12.345,1);
+$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(2,$s1,$s2,$s3);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part3 xsi:type="ns1:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></ns2:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt
index 429575d..2bf7341 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt
@@ -1,45 +1,45 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 009 (php/wsdl): echoMultipleFaults2(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->floatMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-class MoreExtendedStruct extends ExtendedStruct {
-    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
-        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
-        $this->booleanMessage = $b;
-    }
-}
-$s1 = new BaseStruct(12.345,1);
-$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
-$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(3,$s1,$s2,$s3);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part4 xsi:type="ns1:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></ns2:part4></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 009 (php/wsdl): echoMultipleFaults2(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(12.345,1);
+$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(3,$s1,$s2,$s3);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part4 xsi:type="ns1:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></ns2:part4></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt
index 2036992..f1eeac2 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt
@@ -1,45 +1,45 @@
---TEST--
-SOAP Interop Round4 GroupH Complex RPC Enc 010 (php/wsdl): echoMultipleFaults2(4)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class BaseStruct {
-    function BaseStruct($f, $s) {
-        $this->floatMessage = $f;
-        $this->shortMessage = $s;
-    }
-}
-class ExtendedStruct extends BaseStruct {
-    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
-        $this->BaseStruct($f,$s);
-        $this->stringMessage = $x1;
-        $this->intMessage = $x2;
-        $this->anotherIntMessage = $x3;
-    }
-}
-class MoreExtendedStruct extends ExtendedStruct {
-    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
-        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
-        $this->booleanMessage = $b;
-    }
-}
-$s1 = new BaseStruct(12.345,1);
-$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
-$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(4,$s1,$s2,$s3);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_complex_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">4</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 010 (php/wsdl): echoMultipleFaults2(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(12.345,1);
+$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(4,$s1,$s2,$s3);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">4</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_001w.phpt
index 80caaee..104f7f5 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_001w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 001 (php/wsdl): echoEmptyFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoEmptyFault();
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoEmptyFaultRequest/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoEmptyFault'.</faultstring><detail><ns1:EmptyPart/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 001 (php/wsdl): echoEmptyFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoEmptyFault();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoEmptyFaultRequest/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoEmptyFault'.</faultstring><detail><ns1:EmptyPart/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_002w.phpt
index 9439364..b713aed 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_002w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_002w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 002 (php/wsdl): echoStringFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringFault("Hello World");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoStringFaultRequest>Hello World</ns1:echoStringFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoStringFault'.</faultstring><detail><ns1:StringPart>Hello World</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 002 (php/wsdl): echoStringFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringFault("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoStringFaultRequest>Hello World</ns1:echoStringFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoStringFault'.</faultstring><detail><ns1:StringPart>Hello World</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_003w.phpt
index af58961..e203ea0 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_003w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_003w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 003 (php/wsdl): echoIntArrayFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoIntArrayFault(array(34,12.345));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoIntArrayFaultRequest><ns1:value>34</ns1:value><ns1:value>12</ns1:value></ns2:echoIntArrayFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoIntArrayFault'.</faultstring><detail><ns2:ArrayOfIntPart><ns1:value>34</ns1:value><ns1:value>12</ns1:value></ns2:ArrayOfIntPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 003 (php/wsdl): echoIntArrayFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoIntArrayFault(array(34,12.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoIntArrayFaultRequest><ns1:value>34</ns1:value><ns1:value>12</ns1:value></ns2:echoIntArrayFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoIntArrayFault'.</faultstring><detail><ns2:ArrayOfIntPart><ns1:value>34</ns1:value><ns1:value>12</ns1:value></ns2:ArrayOfIntPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt
index 2f51b54..f673ec0 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 004 (php/wsdl): echoMultipleFaults1(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(array("whichFault" => 1,
-                                   "param1" => "Hello world",
-                                   "param2" => array(12.345,45,678)));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:EmptyPart/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 004 (php/wsdl): echoMultipleFaults1(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 1,
+                                   "param1" => "Hello world",
+                                   "param2" => array(12.345,45,678)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:EmptyPart/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt
index c2fcf81..67db504 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 005 (php/wsdl): echoMultipleFaults1(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(array("whichFault" => 2,
-                                   "param1" => "Hello world",
-                                   "param2" => array(12.345,45,678)));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:StringPart>Hello world</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 005 (php/wsdl): echoMultipleFaults1(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 2,
+                                   "param1" => "Hello world",
+                                   "param2" => array(12.345,45,678)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:StringPart>Hello world</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt
index a25d056..7c6c1b5 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 006 (php/wsdl): echoMultipleFaults1(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(array("whichFault" => 3,
-                                   "param1" => "Hello world",
-                                   "param2" => array(12.345,45,678)));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:ArrayOfFloatPart><ns1:value>12.345</ns1:value><ns1:value>45</ns1:value><ns1:value>678</ns1:value></ns2:ArrayOfFloatPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 006 (php/wsdl): echoMultipleFaults1(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 3,
+                                   "param1" => "Hello world",
+                                   "param2" => array(12.345,45,678)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:ArrayOfFloatPart><ns1:value>12.345</ns1:value><ns1:value>45</ns1:value><ns1:value>678</ns1:value></ns2:ArrayOfFloatPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt
index 55dff3a..e8e9bba 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 007 (php/wsdl): echoMultipleFaults1(4)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(array("whichFault" => 4,
-                                   "param1" => "Hello world",
-                                   "param2" => array(12.345,45,678)));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>4</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:EmptyPart/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 007 (php/wsdl): echoMultipleFaults1(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 4,
+                                   "param1" => "Hello world",
+                                   "param2" => array(12.345,45,678)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>4</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:EmptyPart/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt
index f413256..5bd6b4c 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 008 (php/wsdl): echoMultipleFaults2(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(array("whichFault" => 1,
-                                   "param1" => "Hello world",
-                                   "param2" => 12.345,
-                                   "param3" => array("one","two","three")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:FloatPart>12.345</ns1:FloatPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 008 (php/wsdl): echoMultipleFaults2(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 1,
+                                   "param1" => "Hello world",
+                                   "param2" => 12.345,
+                                   "param3" => array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:FloatPart>12.345</ns1:FloatPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt
index 93d80f5..461a477 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 009 (php/wsdl): echoMultipleFaults2(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(array("whichFault" => 2,
-                                   "param1" => "Hello world",
-                                   "param2" => 12.345,
-                                   "param3" => array("one","two","three")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:StringPart>Hello world</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 009 (php/wsdl): echoMultipleFaults2(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 2,
+                                   "param1" => "Hello world",
+                                   "param2" => 12.345,
+                                   "param3" => array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:StringPart>Hello world</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt
index 815cd00..f312c36 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 010 (php/wsdl): echoMultipleFaults2(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(array("whichFault" => 3,
-                                   "param1" => "Hello world",
-                                   "param2" => 12.345,
-                                   "param3" => array("one","two","three")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:ArrayOfStringPart><ns1:value>one</ns1:value><ns1:value>two</ns1:value><ns1:value>three</ns1:value></ns2:ArrayOfStringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 010 (php/wsdl): echoMultipleFaults2(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 3,
+                                   "param1" => "Hello world",
+                                   "param2" => 12.345,
+                                   "param3" => array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:ArrayOfStringPart><ns1:value>one</ns1:value><ns1:value>two</ns1:value><ns1:value>three</ns1:value></ns2:ArrayOfStringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt
index d73b8f4..403cfaa 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 011 (php/wsdl): echoMultipleFaults2(4)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(array("whichFault" => 4,
-                                   "param1" => "Hello world",
-                                   "param2" => 12.345,
-                                   "param3" => array("one","two","three")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>4</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:FloatPart>12.345</ns1:FloatPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 011 (php/wsdl): echoMultipleFaults2(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 4,
+                                   "param1" => "Hello world",
+                                   "param2" => 12.345,
+                                   "param3" => array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>4</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:FloatPart>12.345</ns1:FloatPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_012w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_012w.phpt
index 2cacbec..e979765 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_012w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_012w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 012 (php/wsdl): echoMultipleFaults3(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults3(array("whichFault" => 1,
-                                   "param1" => "arg1",
-                                   "param2" => "arg2"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults3Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>arg1</ns1:param1><ns1:param2>arg2</ns1:param2></ns1:echoMultipleFaults3Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:StringPart>arg1</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 012 (php/wsdl): echoMultipleFaults3(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(array("whichFault" => 1,
+                                   "param1" => "arg1",
+                                   "param2" => "arg2"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults3Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>arg1</ns1:param1><ns1:param2>arg2</ns1:param2></ns1:echoMultipleFaults3Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:StringPart>arg1</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_013w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_013w.phpt
index 894546b..92e3e3d 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_013w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_013w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 013 (php/wsdl): echoMultipleFaults3(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults3(array("whichFault" => 2,
-                                   "param1" => "arg1",
-                                   "param2" => "arg2"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults3Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>arg1</ns1:param1><ns1:param2>arg2</ns1:param2></ns1:echoMultipleFaults3Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:String2Part>arg2</ns1:String2Part></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 013 (php/wsdl): echoMultipleFaults3(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(array("whichFault" => 2,
+                                   "param1" => "arg1",
+                                   "param2" => "arg2"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults3Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>arg1</ns1:param1><ns1:param2>arg2</ns1:param2></ns1:echoMultipleFaults3Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:String2Part>arg2</ns1:String2Part></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_014w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_014w.phpt
index 982d654..84875bd 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_014w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_014w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 014 (php/wsdl): echoMultipleFaults3(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults3(array("whichFault" => 3,
-                                   "param1" => "arg1",
-                                   "param2" => "arg2"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults3Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>arg1</ns1:param1><ns1:param2>arg2</ns1:param2></ns1:echoMultipleFaults3Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:StringPart>arg1</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 014 (php/wsdl): echoMultipleFaults3(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(array("whichFault" => 3,
+                                   "param1" => "arg1",
+                                   "param2" => "arg2"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults3Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>arg1</ns1:param1><ns1:param2>arg2</ns1:param2></ns1:echoMultipleFaults3Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:StringPart>arg1</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_015w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_015w.phpt
index 08250b0..0f61447 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_015w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_015w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 015 (php/wsdl): echoMultipleFaults4(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults4(array("whichFault" => 1,
-                                   "param1" => 162,
-                                   "param2" => 1));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults4Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>162</ns1:param1><ns1:param2>1</ns1:param2></ns1:echoMultipleFaults4Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:IntPart>162</ns1:IntPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 015 (php/wsdl): echoMultipleFaults4(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(array("whichFault" => 1,
+                                   "param1" => 162,
+                                   "param2" => 1));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults4Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>162</ns1:param1><ns1:param2>1</ns1:param2></ns1:echoMultipleFaults4Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:IntPart>162</ns1:IntPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_016w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_016w.phpt
index 75f612a..1b2379a 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_016w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_016w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 016 (php/wsdl): echoMultipleFaults4(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults4(array("whichFault" => 2,
-                                   "param1" => 162,
-                                   "param2" => 1));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults4Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>162</ns1:param1><ns1:param2>1</ns1:param2></ns1:echoMultipleFaults4Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:EnumPart>1</ns1:EnumPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 016 (php/wsdl): echoMultipleFaults4(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(array("whichFault" => 2,
+                                   "param1" => 162,
+                                   "param2" => 1));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults4Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>162</ns1:param1><ns1:param2>1</ns1:param2></ns1:echoMultipleFaults4Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:EnumPart>1</ns1:EnumPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_017w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_017w.phpt
index dcb257b..003f3ac 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_017w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_017w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupH Simple Doc Lit 017 (php/wsdl): echoMultipleFaults4(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults4(array("whichFault" => 3,
-                                   "param1" => 162,
-                                   "param2" => 1));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_doclit.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults4Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>162</ns1:param1><ns1:param2>1</ns1:param2></ns1:echoMultipleFaults4Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:IntPart>162</ns1:IntPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 017 (php/wsdl): echoMultipleFaults4(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(array("whichFault" => 3,
+                                   "param1" => 162,
+                                   "param2" => 1));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults4Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>162</ns1:param1><ns1:param2>1</ns1:param2></ns1:echoMultipleFaults4Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:IntPart>162</ns1:IntPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_001w.phpt
index 741b319..ba76cfe 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_001w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 001 (php/wsdl): echoEmptyFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoEmptyFault();
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoEmptyFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoEmptyFault'.</faultstring><detail><ns2:part1 xsi:nil="true" xsi:type="ns1:EmptyFault"/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 001 (php/wsdl): echoEmptyFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoEmptyFault();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoEmptyFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoEmptyFault'.</faultstring><detail><ns2:part1 xsi:nil="true" xsi:type="ns1:EmptyFault"/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_002w.phpt
index a86d969..0d82b67 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_002w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_002w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 002 (php/wsdl): echoStringFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringFault("Hello World");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringFault><param xsi:type="xsd:string">Hello World</param></ns1:echoStringFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoStringFault'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">Hello World</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 002 (php/wsdl): echoStringFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringFault("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringFault><param xsi:type="xsd:string">Hello World</param></ns1:echoStringFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoStringFault'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">Hello World</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_003w.phpt
index ee1287c..2925197 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_003w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_003w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 003 (php/wsdl): echoIntArrayFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoIntArrayFault(array(34,12.345));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntArrayFault><param SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns2:ArrayOfInt"><item xsi:type="xsd:int">34</item><item xsi:type="xsd:int">12</item></param></ns1:echoIntArrayFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoIntArrayFault'.</faultstring><detail><ns2:part5 SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns1:ArrayOfInt"><item xsi:type="xsd:int">34</item><item xsi:type="xsd:int">12</item></ns2:part5></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 003 (php/wsdl): echoIntArrayFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoIntArrayFault(array(34,12.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntArrayFault><param SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns2:ArrayOfInt"><item xsi:type="xsd:int">34</item><item xsi:type="xsd:int">12</item></param></ns1:echoIntArrayFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoIntArrayFault'.</faultstring><detail><ns2:part5 SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns1:ArrayOfInt"><item xsi:type="xsd:int">34</item><item xsi:type="xsd:int">12</item></ns2:part5></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt
index b68f97d..7926e15 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 004 (php/wsdl): echoMultipleFaults1(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(1,"Hello world",array(12.345,45,678));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:nil="true" xsi:type="ns1:EmptyFault"/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 004 (php/wsdl): echoMultipleFaults1(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(1,"Hello world",array(12.345,45,678));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:nil="true" xsi:type="ns1:EmptyFault"/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt
index 08cf59e..fb332a4 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 005 (php/wsdl): echoMultipleFaults1(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(2,"Hello world",array(12.345,45,678));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">Hello world</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 005 (php/wsdl): echoMultipleFaults1(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(2,"Hello world",array(12.345,45,678));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">Hello world</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt
index ea555ce..2ed546f 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 006 (php/wsdl): echoMultipleFaults1(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(3,"Hello world",array(12.345,45,678));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part7 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns1:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></ns2:part7></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 006 (php/wsdl): echoMultipleFaults1(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(3,"Hello world",array(12.345,45,678));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part7 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns1:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></ns2:part7></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt
index 62747e9..bd31aa3 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 007 (php/wsdl): echoMultipleFaults1(4)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults1(4,"Hello world",array(12.345,45,678));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">4</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:nil="true" xsi:type="ns1:EmptyFault"/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 007 (php/wsdl): echoMultipleFaults1(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(4,"Hello world",array(12.345,45,678));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">4</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:nil="true" xsi:type="ns1:EmptyFault"/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt
index 24299a6..e61e374 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 008 (php/wsdl): echoMultipleFaults2(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(1, "Hello World", 12.345, array("one","two","three"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:part4 xsi:type="xsd:float">12.345</ns1:part4></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 008 (php/wsdl): echoMultipleFaults2(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(1, "Hello World", 12.345, array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:part4 xsi:type="xsd:float">12.345</ns1:part4></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt
index eb3babd..d186947 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 009 (php/wsdl): echoMultipleFaults2(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(2, "Hello World", 12.345, array("one","two","three"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">Hello World</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 009 (php/wsdl): echoMultipleFaults2(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(2, "Hello World", 12.345, array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">Hello World</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt
index be57a23..3431180 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 010 (php/wsdl): echoMultipleFaults2(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(3, "Hello World", 12.345, array("one","two","three"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part6 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns1:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></ns2:part6></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 010 (php/wsdl): echoMultipleFaults2(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(3, "Hello World", 12.345, array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part6 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns1:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></ns2:part6></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt
index 00552ab..1d66e0c 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 011 (php/wsdl): echoMultipleFaults2(4)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults2(4, "Hello World", 12.345, array("one","two","three"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">4</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:part4 xsi:type="xsd:float">12.345</ns1:part4></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 011 (php/wsdl): echoMultipleFaults2(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(4, "Hello World", 12.345, array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/types" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">4</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:part4 xsi:type="xsd:float">12.345</ns1:part4></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_012w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_012w.phpt
index 05a7cfa..e6bbcc7 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_012w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_012w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 012 (php/wsdl): echoMultipleFaults3(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults3(1,"arg1","arg2");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults3><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:string">arg1</param1><param2 xsi:type="xsd:string">arg2</param2></ns1:echoMultipleFaults3></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl/fault1" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">arg1</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 012 (php/wsdl): echoMultipleFaults3(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(1,"arg1","arg2");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults3><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:string">arg1</param1><param2 xsi:type="xsd:string">arg2</param2></ns1:echoMultipleFaults3></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl/fault1" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">arg1</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_013w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_013w.phpt
index a282032..ba93028 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_013w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_013w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 013 (php/wsdl): echoMultipleFaults3(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults3(2,"arg1","arg2");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults3><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:string">arg1</param1><param2 xsi:type="xsd:string">arg2</param2></ns1:echoMultipleFaults3></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl/fault2" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">arg2</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 013 (php/wsdl): echoMultipleFaults3(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(2,"arg1","arg2");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults3><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:string">arg1</param1><param2 xsi:type="xsd:string">arg2</param2></ns1:echoMultipleFaults3></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl/fault2" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">arg2</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_014w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_014w.phpt
index aec5a39..e7449d9 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_014w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_014w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 014 (php/wsdl): echoMultipleFaults3(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults3(3,"arg1","arg2");
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults3><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:string">arg1</param1><param2 xsi:type="xsd:string">arg2</param2></ns1:echoMultipleFaults3></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl/fault1" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">arg1</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 014 (php/wsdl): echoMultipleFaults3(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(3,"arg1","arg2");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults3><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:string">arg1</param1><param2 xsi:type="xsd:string">arg2</param2></ns1:echoMultipleFaults3></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl/fault1" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">arg1</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_015w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_015w.phpt
index 2027f23..7da5cd5 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_015w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_015w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 015 (php/wsdl): echoMultipleFaults4(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults4(1, 162, 1);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults4><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:int">162</param1><param2 xsi:type="ns2:Enum">1</param2></ns1:echoMultipleFaults4></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:part3 xsi:type="xsd:int">162</ns1:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 015 (php/wsdl): echoMultipleFaults4(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(1, 162, 1);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults4><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:int">162</param1><param2 xsi:type="ns2:Enum">1</param2></ns1:echoMultipleFaults4></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:part3 xsi:type="xsd:int">162</ns1:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_016w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_016w.phpt
index 89bc04c..e44b743 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_016w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_016w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 016 (php/wsdl): echoMultipleFaults4(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults4(2, 162, 1);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults4><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:int">162</param1><param2 xsi:type="ns2:Enum">1</param2></ns1:echoMultipleFaults4></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns2:part9 xsi:type="ns1:Enum">1</ns2:part9></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 016 (php/wsdl): echoMultipleFaults4(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(2, 162, 1);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults4><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:int">162</param1><param2 xsi:type="ns2:Enum">1</param2></ns1:echoMultipleFaults4></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns2:part9 xsi:type="ns1:Enum">1</ns2:part9></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_017w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_017w.phpt
index ad8c875..f7de4aa 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_017w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_017w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH Simple RPC Enc 017 (php/wsdl): echoMultipleFaults4(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoMultipleFaults4(3, 162, 1);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_simple_rpcenc.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults4><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:int">162</param1><param2 xsi:type="ns2:Enum">1</param2></ns1:echoMultipleFaults4></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:part3 xsi:type="xsd:int">162</ns1:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 017 (php/wsdl): echoMultipleFaults4(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(3, 162, 1);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults4><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:int">162</param1><param2 xsi:type="ns2:Enum">1</param2></ns1:echoMultipleFaults4></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:part3 xsi:type="xsd:int">162</ns1:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_001w.phpt
index 9c82d2f..d7c5172 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_001w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH SoapFault 001 (php/wsdl): echoVersionMismatchFault(SOAP 1.1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_soapfault.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoVersionMismatchFault();
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_soapfault.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFaultResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH SoapFault 001 (php/wsdl): echoVersionMismatchFault(SOAP 1.1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_soapfault.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVersionMismatchFault();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_soapfault.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFaultResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_002w.phpt
index 49e78be..64ebf70 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_002w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_002w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH SoapFault 002 (php/wsdl): echoVersionMismatchFault(SOAP 1.2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_soapfault.wsdl",array("trace"=>1,"exceptions"=>0,"soap_version"=>SOAP_1_2));
-$client->echoVersionMismatchFault();
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_soapfault.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoVersionMismatchFault env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoVersionMismatchFaultResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupH SoapFault 002 (php/wsdl): echoVersionMismatchFault(SOAP 1.2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_soapfault.wsdl",array("trace"=>1,"exceptions"=>0,"soap_version"=>SOAP_1_2));
+$client->echoVersionMismatchFault();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_soapfault.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoVersionMismatchFault env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoVersionMismatchFaultResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_003w.phpt
index 8002838..ffed23b 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_003w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_003w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH SoapFault 003 (php/wsdl): echoVersionMismatchFault(unknown version)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://unknown.org/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-EOF;
-echo $HTTP_RAW_POST_DATA."\n";
-include("round4_groupH_soapfault.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://unknown.org/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:VersionMismatch</faultcode><faultstring>Wrong Version</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+SOAP Interop Round4 GroupH SoapFault 003 (php/wsdl): echoVersionMismatchFault(unknown version)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://unknown.org/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+EOF;
+echo $HTTP_RAW_POST_DATA."\n";
+include("round4_groupH_soapfault.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://unknown.org/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:VersionMismatch</faultcode><faultstring>Wrong Version</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_004w.phpt
index 117a51e..ad791dd 100644
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_004w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_004w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupH SoapFault 004 (php/wsdl): echoMustUnderstandFault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = new SoapHeader("http://soapinterop.org/wsdl", "UnknownHeaderRequest", "Hello World", 1);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupH_soapfault.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoVersionMismatchFault",array(), null, $hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupH_soapfault.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:UnknownHeaderRequest SOAP-ENV:mustUnderstand="1">Hello World</ns1:UnknownHeaderRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:MustUnderstand</faultcode><faultstring>Header not understood</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+SOAP Interop Round4 GroupH SoapFault 004 (php/wsdl): echoMustUnderstandFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/wsdl", "UnknownHeaderRequest", "Hello World", 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_soapfault.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVersionMismatchFault",array(), null, $hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_soapfault.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:UnknownHeaderRequest SOAP-ENV:mustUnderstand="1">Hello World</ns1:UnknownHeaderRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:MustUnderstand</faultcode><faultstring>Header not understood</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_001w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_001w.phpt
index 476b541..98ed58d 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_001w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_001w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 001 (php/wsdl): echoVoid
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoVoid();
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 001 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_002w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_002w.phpt
index a1921d1..67929f8 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_002w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_002w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 002 (php/wsdl): echoInteger
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoInteger(array("inputInteger"=>22));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoInteger><ns1:inputInteger>22</ns1:inputInteger></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoIntegerResponse><ns1:return>22</ns1:return></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 002 (php/wsdl): echoInteger
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoInteger(array("inputInteger"=>22));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoInteger><ns1:inputInteger>22</ns1:inputInteger></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoIntegerResponse><ns1:return>22</ns1:return></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt
index 01916d2..8ee9418 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 003 (php/wsdl): echoFloat
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoFloat(array("inputFloat"=>12.345));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloat><ns1:inputFloat>12.345</ns1:inputFloat></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloatResponse><ns1:return>12.345</ns1:return></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 003 (php/wsdl): echoFloat
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoFloat(array("inputFloat"=>12.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloat><ns1:inputFloat>12.345</ns1:inputFloat></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloatResponse><ns1:return>12.345</ns1:return></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_004w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_004w.phpt
index 528b5d1..25b056d 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_004w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_004w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 004 (php/wsdl): echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString(array("inputString"=>"Hello World"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoString><ns1:inputString>Hello World</ns1:inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringResponse><ns1:return>Hello World</ns1:return></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 004 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(array("inputString"=>"Hello World"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoString><ns1:inputString>Hello World</ns1:inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringResponse><ns1:return>Hello World</ns1:return></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_005w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_005w.phpt
index d51596c..8d552dc 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_005w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_005w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 005 (php/wsdl): echoString(empty)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoString(array());
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoString/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 005 (php/wsdl): echoString(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(array());
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoString/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_006w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_006w.phpt
index 0935a07e1e9f494e996533240af2c5d5a6df6967..2cc37b55b4d1df16c3de4b08be08e4b92fa41650 100644
GIT binary patch
delta 154
zcmX at jv6X{ES2x5pI7C->BBvEMm#%KGw`YK-8;~2IDhcFz`g!W=a;2n}q$Zcdm*!<A
z=clCF8cduh#SfHp^Yn2A%G%f$WE4!?n>ksX(TbHTH8~@H@@z)g$*qjWlXo&INrOcc
vl=8D<@|3K(?CpRWT_XZqoq={vmSt9-?8-cG@@A$?5PPvJGb0OEel`~X5qc{A

delta 182
zcmdnWahiiuS2x5pI7C;McOr)sFE5v_Zm_p!fTtTsz*kiUB;e`i3FL95q?V*6m&BLm
zWhUpRq}m$rPVANv0?E61`nZA=*w`0j6!1>mlF7(BS(ed?jh8DmIU|2^Kcg&AppwxT
zNUmX2l7|Q at DCK9z<SAM6a at pH~3~`MJaCHVbV=@=BI#8t{^Tf#unLtK?`HKyi8G#1o
IXY+Ca05>-)kN^Mx

diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_007w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_007w.phpt
index a6f52c9..6f1edbe 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_007w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_007w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 007 (php/wsdl): echoDate
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoDate(array("inputDate"=>"2002-12-22T21:41:17Z"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDate><ns1:inputDate>2002-12-22T21:41:17Z</ns1:inputDate></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDateResponse><ns1:return>2002-12-22T21:41:17Z</ns1:return></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 007 (php/wsdl): echoDate
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDate(array("inputDate"=>"2002-12-22T21:41:17Z"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDate><ns1:inputDate>2002-12-22T21:41:17Z</ns1:inputDate></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDateResponse><ns1:return>2002-12-22T21:41:17Z</ns1:return></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt
index 8da2ec0..d9dbed4 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 008 (php/wsdl): echoComplexType
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexType {
-    function SOAPComplexType($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPComplexType('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoComplexType(array("inputComplexType"=>$struct));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexType><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 008 (php/wsdl): echoComplexType
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexType(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexType><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt
index 5a66f12..41bf371 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 009 (php/wsdl): echoComplexType(minOccur=0)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexType {
-    function SOAPComplexType($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPComplexType('arg',34,325.325);
-unset($struct->varString);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoComplexType(array("inputComplexType"=>$struct));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexType><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 009 (php/wsdl): echoComplexType(minOccur=0)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+unset($struct->varString);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexType(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexType><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_010w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_010w.phpt
index 34ea9be..0621716 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_010w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_010w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 010 (php/wsdl): echoIntegerMultiOccurs
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoIntegerMultiOccurs(array("inputIntegerMultiOccurs"=>array(22,29,36)));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoIntegerMultiOccurs><ns1:inputIntegerMultiOccurs><ns1:int>22</ns1:int><ns1:int>29</ns1:int><ns1:int>36</ns1:int></ns1:inputIntegerMultiOccurs></ns1:echoIntegerMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoIntegerMultiOccursResponse><ns1:return>22</ns1:return><ns1:return>29</ns1:return><ns1:return>36</ns1:return></ns1:echoIntegerMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 010 (php/wsdl): echoIntegerMultiOccurs
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoIntegerMultiOccurs(array("inputIntegerMultiOccurs"=>array(22,29,36)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoIntegerMultiOccurs><ns1:inputIntegerMultiOccurs><ns1:int>22</ns1:int><ns1:int>29</ns1:int><ns1:int>36</ns1:int></ns1:inputIntegerMultiOccurs></ns1:echoIntegerMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoIntegerMultiOccursResponse><ns1:return>22</ns1:return><ns1:return>29</ns1:return><ns1:return>36</ns1:return></ns1:echoIntegerMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt
index d2051a7..9e064e8 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 011 (php/wsdl): echoFloatMultiOccurs
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoFloatMultiOccurs(array("inputFloatMultiOccurs"=>array(22.5,12.345)));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloatMultiOccurs><ns1:inputFloatMultiOccurs><ns1:float>22.5</ns1:float><ns1:float>12.345</ns1:float></ns1:inputFloatMultiOccurs></ns1:echoFloatMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloatMultiOccursResponse><ns1:return>22.5</ns1:return><ns1:return>12.345</ns1:return></ns1:echoFloatMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 011 (php/wsdl): echoFloatMultiOccurs
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoFloatMultiOccurs(array("inputFloatMultiOccurs"=>array(22.5,12.345)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloatMultiOccurs><ns1:inputFloatMultiOccurs><ns1:float>22.5</ns1:float><ns1:float>12.345</ns1:float></ns1:inputFloatMultiOccurs></ns1:echoFloatMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloatMultiOccursResponse><ns1:return>22.5</ns1:return><ns1:return>12.345</ns1:return></ns1:echoFloatMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_012w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_012w.phpt
index 7775a06..ecf1d53 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_012w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_012w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 012 (php/wsdl): echoStringMultiOccurs
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringMultiOccurs(array("inputStringMultiOccurs"=>array("arg1","arg2","arg3")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringMultiOccurs><ns1:inputStringMultiOccurs><ns1:string>arg1</ns1:string><ns1:string>arg2</ns1:string><ns1:string>arg3</ns1:string></ns1:inputStringMultiOccurs></ns1:echoStringMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringMultiOccursResponse><ns1:return>arg1</ns1:return><ns1:return>arg2</ns1:return><ns1:return>arg3</ns1:return></ns1:echoStringMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 012 (php/wsdl): echoStringMultiOccurs
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringMultiOccurs(array("inputStringMultiOccurs"=>array("arg1","arg2","arg3")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringMultiOccurs><ns1:inputStringMultiOccurs><ns1:string>arg1</ns1:string><ns1:string>arg2</ns1:string><ns1:string>arg3</ns1:string></ns1:inputStringMultiOccurs></ns1:echoStringMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringMultiOccursResponse><ns1:return>arg1</ns1:return><ns1:return>arg2</ns1:return><ns1:return>arg3</ns1:return></ns1:echoStringMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt
index 9f41321..c237ae2 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 013 (php/wsdl): echoStringMultiOccurs(nil)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoStringMultiOccurs(array("inputStringMultiOccurs"=>array("arg1",NULL,"arg3")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><ns1:echoStringMultiOccurs><ns1:inputStringMultiOccurs><ns1:string>arg1</ns1:string><ns1:string xsi:nil="true"/><ns1:string>arg3</ns1:string></ns1:inputStringMultiOccurs></ns1:echoStringMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringMultiOccursResponse><ns1:return>arg1</ns1:return><ns1:return/><ns1:return>arg3</ns1:return></ns1:echoStringMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 013 (php/wsdl): echoStringMultiOccurs(nil)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringMultiOccurs(array("inputStringMultiOccurs"=>array("arg1",NULL,"arg3")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><ns1:echoStringMultiOccurs><ns1:inputStringMultiOccurs><ns1:string>arg1</ns1:string><ns1:string xsi:nil="true"/><ns1:string>arg3</ns1:string></ns1:inputStringMultiOccurs></ns1:echoStringMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringMultiOccursResponse><ns1:return>arg1</ns1:return><ns1:return/><ns1:return>arg3</ns1:return></ns1:echoStringMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt
index dc443c3..f3150b5 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt
@@ -1,32 +1,32 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 014 (php/wsdl): echoComplexTypeMultiOccurs(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexType {
-    function SOAPComplexType($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct1 = new SOAPComplexType('arg',34,325.325);
-$struct2 = new SOAPComplexType('arg',34,325.325);
-$struct3 = new SOAPComplexType('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoComplexTypeMultiOccurs(array("inputComplexTypeMultiOccurs"=>array($struct1,$struct2,$struct3)));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccurs><ns2:inputComplexTypeMultiOccurs><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType></ns2:inputComplexTypeMultiOccurs></ns2:echoComplexTypeMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccursResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 014 (php/wsdl): echoComplexTypeMultiOccurs(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct1 = new SOAPComplexType('arg',34,325.325);
+$struct2 = new SOAPComplexType('arg',34,325.325);
+$struct3 = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexTypeMultiOccurs(array("inputComplexTypeMultiOccurs"=>array($struct1,$struct2,$struct3)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccurs><ns2:inputComplexTypeMultiOccurs><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType></ns2:inputComplexTypeMultiOccurs></ns2:echoComplexTypeMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccursResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt
index 0e8d9e2..6f07000 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 015 (php/wsdl): echoComplexTypeMultiOccurs(nil)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexType {
-    function SOAPComplexType($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct1 = new SOAPComplexType('arg',34,325.325);
-$struct2 = new SOAPComplexType('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoComplexTypeMultiOccurs(array("inputComplexTypeMultiOccurs"=>array($struct1,null,$struct2)));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccurs><ns2:inputComplexTypeMultiOccurs><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType><ns2:SOAPComplexType xsi:nil="true"/><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType></ns2:inputComplexTypeMultiOccurs></ns2:echoComplexTypeMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccursResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return><ns2:return/><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 015 (php/wsdl): echoComplexTypeMultiOccurs(nil)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct1 = new SOAPComplexType('arg',34,325.325);
+$struct2 = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexTypeMultiOccurs(array("inputComplexTypeMultiOccurs"=>array($struct1,null,$struct2)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccurs><ns2:inputComplexTypeMultiOccurs><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType><ns2:SOAPComplexType xsi:nil="true"/><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType></ns2:inputComplexTypeMultiOccurs></ns2:echoComplexTypeMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccursResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return><ns2:return/><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_016w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_016w.phpt
index 796747b..55366c7 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_016w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_016w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 016 (php/wsdl): echoDecimal
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoDecimal(array("inputDecimal"=>"123456789.123456789"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDecimal><ns1:inputDecimal>123456789.123456789</ns1:inputDecimal></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDecimalResponse><ns1:return>123456789.123456789</ns1:return></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 016 (php/wsdl): echoDecimal
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDecimal(array("inputDecimal"=>"123456789.123456789"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDecimal><ns1:inputDecimal>123456789.123456789</ns1:inputDecimal></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDecimalResponse><ns1:return>123456789.123456789</ns1:return></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt
index 5dd607d..20e3051 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 017 (php/wsdl): echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoBoolean(array("inputBoolean"=>true));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoBoolean><ns1:inputBoolean>true</ns1:inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoBooleanResponse><ns1:return>true</ns1:return></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 017 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(array("inputBoolean"=>true));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoBoolean><ns1:inputBoolean>true</ns1:inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoBooleanResponse><ns1:return>true</ns1:return></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_018w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_018w.phpt
index 57b2c63..1b60add 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_018w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_018w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 018 (php/wsdl): echoHexBinary
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoHexBinary(array("inputHexBinary"=>"\x80\xFF\x00\x01\x7F"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoHexBinary><ns1:inputHexBinary>80FF00017F</ns1:inputHexBinary></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><ns1:return>80FF00017F</ns1:return></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 018 (php/wsdl): echoHexBinary
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoHexBinary(array("inputHexBinary"=>"\x80\xFF\x00\x01\x7F"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoHexBinary><ns1:inputHexBinary>80FF00017F</ns1:inputHexBinary></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><ns1:return>80FF00017F</ns1:return></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt
index a3a17e0..ea9bb0f 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 019 (php/wsdl): echoComplexTypeAsSimpleTypes
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexType {
-    function SOAPComplexType($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPComplexType('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoComplexTypeAsSimpleTypes(array("inputComplexType"=>$struct));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeAsSimpleTypes><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexTypeAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoComplexTypeAsSimpleTypesResponse><ns1:outputString>arg</ns1:outputString><ns1:outputInteger>34</ns1:outputInteger><ns1:outputFloat>325.325</ns1:outputFloat></ns1:echoComplexTypeAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 019 (php/wsdl): echoComplexTypeAsSimpleTypes
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexTypeAsSimpleTypes(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeAsSimpleTypes><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexTypeAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoComplexTypeAsSimpleTypesResponse><ns1:outputString>arg</ns1:outputString><ns1:outputInteger>34</ns1:outputInteger><ns1:outputFloat>325.325</ns1:outputFloat></ns1:echoComplexTypeAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt
index 7b55ca5..1b6382c 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 020 (php/wsdl): echoComplexTypeAsSimpleTypes(minOccurs=0)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexType {
-    function SOAPComplexType($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPComplexType('arg',34,325.325);
-unset($struct->varString);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoComplexTypeAsSimpleTypes(array("inputComplexType"=>$struct));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeAsSimpleTypes><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexTypeAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoComplexTypeAsSimpleTypesResponse><ns1:outputInteger>34</ns1:outputInteger><ns1:outputFloat>325.325</ns1:outputFloat></ns1:echoComplexTypeAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 020 (php/wsdl): echoComplexTypeAsSimpleTypes(minOccurs=0)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+unset($struct->varString);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexTypeAsSimpleTypes(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeAsSimpleTypes><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexTypeAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoComplexTypeAsSimpleTypesResponse><ns1:outputInteger>34</ns1:outputInteger><ns1:outputFloat>325.325</ns1:outputFloat></ns1:echoComplexTypeAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt
index 824d35b..ad1e60a 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 021 (php/wsdl): echoSimpleTypesAsComplexType
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoSimpleTypesAsComplexType(array("inputInteger"=>34,
-                                            "inputFloat"=>12.345,
-                                            "inputString"=>"arg"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsComplexType><ns1:inputString>arg</ns1:inputString><ns1:inputInteger>34</ns1:inputInteger><ns1:inputFloat>12.345</ns1:inputFloat></ns1:echoSimpleTypesAsComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoSimpleTypesAsComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>12.345</ns1:varFloat></ns2:return></ns2:echoSimpleTypesAsComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 021 (php/wsdl): echoSimpleTypesAsComplexType
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSimpleTypesAsComplexType(array("inputInteger"=>34,
+                                            "inputFloat"=>12.345,
+                                            "inputString"=>"arg"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsComplexType><ns1:inputString>arg</ns1:inputString><ns1:inputInteger>34</ns1:inputInteger><ns1:inputFloat>12.345</ns1:inputFloat></ns1:echoSimpleTypesAsComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoSimpleTypesAsComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>12.345</ns1:varFloat></ns2:return></ns2:echoSimpleTypesAsComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt
index 8e0bd3e..e9ad5d7 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 022 (php/wsdl): echoSimpleTypesAsComplexType(minOccurs=0)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoSimpleTypesAsComplexType(array("inputInteger"=>34,
-                                            "inputFloat"=>12.345));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsComplexType><ns1:inputInteger>34</ns1:inputInteger><ns1:inputFloat>12.345</ns1:inputFloat></ns1:echoSimpleTypesAsComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoSimpleTypesAsComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:return></ns2:echoSimpleTypesAsComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 022 (php/wsdl): echoSimpleTypesAsComplexType(minOccurs=0)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSimpleTypesAsComplexType(array("inputInteger"=>34,
+                                            "inputFloat"=>12.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsComplexType><ns1:inputInteger>34</ns1:inputInteger><ns1:inputFloat>12.345</ns1:inputFloat></ns1:echoSimpleTypesAsComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoSimpleTypesAsComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:return></ns2:echoSimpleTypesAsComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt
index 652843b..d312dbf 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt
@@ -1,38 +1,38 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 023 (php/wsdl): echoNestedComplexType
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexType {
-    function SOAPComplexType($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-class SOAPComplexTypeComplexType {
-    function SOAPComplexTypeComplexType($s, $i, $f, $c) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-        $this->varComplexType = $c;
-    }
-}
-$struct = new SOAPComplexTypeComplexType("arg",34,12.345,new SOAPComplexType("arg",43,54.321));
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoNestedComplexType(array("inputComplexType"=>$struct));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexType><ns2:inputComplexType><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varComplexType><ns1:varInt>43</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>54.321</ns1:varFloat></ns1:varComplexType></ns2:inputComplexType></ns2:echoNestedComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexTypeResponse><ns2:return><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varComplexType><ns1:varInt>43</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>54.321</ns1:varFloat></ns1:varComplexType></ns2:return></ns2:echoNestedComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 023 (php/wsdl): echoNestedComplexType
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class SOAPComplexTypeComplexType {
+    function SOAPComplexTypeComplexType($s, $i, $f, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+        $this->varComplexType = $c;
+    }
+}
+$struct = new SOAPComplexTypeComplexType("arg",34,12.345,new SOAPComplexType("arg",43,54.321));
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedComplexType(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexType><ns2:inputComplexType><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varComplexType><ns1:varInt>43</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>54.321</ns1:varFloat></ns1:varComplexType></ns2:inputComplexType></ns2:echoNestedComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexTypeResponse><ns2:return><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varComplexType><ns1:varInt>43</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>54.321</ns1:varFloat></ns1:varComplexType></ns2:return></ns2:echoNestedComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt
index 07bd60f..dc4cdce 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt
@@ -1,32 +1,32 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 024 (php/wsdl): echoNestedComplexType(minOccurs=0)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexTypeComplexType {
-    function SOAPComplexTypeComplexType($s, $i, $f, $c) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-        $this->varComplexType = $c;
-    }
-}
-$struct = new SOAPComplexTypeComplexType("arg",34,12.345,NULL);
-unset($struct->varComplexType);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoNestedComplexType(array("inputComplexType"=>$struct));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexType><ns2:inputComplexType><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:inputComplexType></ns2:echoNestedComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexTypeResponse><ns2:return><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:return></ns2:echoNestedComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 024 (php/wsdl): echoNestedComplexType(minOccurs=0)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexTypeComplexType {
+    function SOAPComplexTypeComplexType($s, $i, $f, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+        $this->varComplexType = $c;
+    }
+}
+$struct = new SOAPComplexTypeComplexType("arg",34,12.345,NULL);
+unset($struct->varComplexType);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedComplexType(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexType><ns2:inputComplexType><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:inputComplexType></ns2:echoNestedComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexTypeResponse><ns2:return><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:return></ns2:echoNestedComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt
index 1690856..9ff6831 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 025 (php/wsdl): echoNestedMultiOccurs
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPMultiOccursComplexType {
-    function SOAPMultiOccursComplexType($s, $i, $f, $c) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-        $this->varMultiOccurs = $c;
-    }
-}
-$struct = new SOAPMultiOccursComplexType("arg",34,12.345,array("red","green","blue"));
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoNestedMultiOccurs(array("inputComplexType"=>$struct));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedMultiOccurs><ns2:inputComplexType><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varMultiOccurs><ns1:string>red</ns1:string><ns1:string>green</ns1:string><ns1:string>blue</ns1:string></ns1:varMultiOccurs></ns2:inputComplexType></ns2:echoNestedMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedMultiOccursResponse><ns2:return><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varMultiOccurs><ns1:string>red</ns1:string><ns1:string>green</ns1:string><ns1:string>blue</ns1:string></ns1:varMultiOccurs></ns2:return></ns2:echoNestedMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 025 (php/wsdl): echoNestedMultiOccurs
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPMultiOccursComplexType {
+    function SOAPMultiOccursComplexType($s, $i, $f, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+        $this->varMultiOccurs = $c;
+    }
+}
+$struct = new SOAPMultiOccursComplexType("arg",34,12.345,array("red","green","blue"));
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedMultiOccurs(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedMultiOccurs><ns2:inputComplexType><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varMultiOccurs><ns1:string>red</ns1:string><ns1:string>green</ns1:string><ns1:string>blue</ns1:string></ns1:varMultiOccurs></ns2:inputComplexType></ns2:echoNestedMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedMultiOccursResponse><ns2:return><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varMultiOccurs><ns1:string>red</ns1:string><ns1:string>green</ns1:string><ns1:string>blue</ns1:string></ns1:varMultiOccurs></ns2:return></ns2:echoNestedMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_026w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_026w.phpt
index 53fb977..3cec539 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_026w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_026w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 026 (php/wsdl): echoChoice
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoChoice(array("inputChoice"=>(object)array("name1"=>"Hello World")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoChoice><ns2:inputChoice><ns1:name1>Hello World</ns1:name1></ns2:inputChoice></ns2:echoChoice></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoChoiceResponse><ns2:return><ns1:name1>Hello World</ns1:name1></ns2:return></ns2:echoChoiceResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 026 (php/wsdl): echoChoice
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoChoice(array("inputChoice"=>(object)array("name1"=>"Hello World")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoChoice><ns2:inputChoice><ns1:name1>Hello World</ns1:name1></ns2:inputChoice></ns2:echoChoice></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoChoiceResponse><ns2:return><ns1:name1>Hello World</ns1:name1></ns2:return></ns2:echoChoiceResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_027w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_027w.phpt
index 974e579..c53b7aa 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_027w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_027w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 027 (php/wsdl): echoEnum
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoEnum(array("inputEnum"=>"bitTwo"));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoEnum><ns1:inputEnum>bitTwo</ns1:inputEnum></ns1:echoEnum></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoEnumResponse><ns1:return>bitTwo</ns1:return></ns1:echoEnumResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 027 (php/wsdl): echoEnum
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoEnum(array("inputEnum"=>"bitTwo"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoEnum><ns1:inputEnum>bitTwo</ns1:inputEnum></ns1:echoEnum></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoEnumResponse><ns1:return>bitTwo</ns1:return></ns1:echoEnumResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt
index 21c16a0..5751a46 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 028 (php/wsdl): echoAnyType
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-class SOAPComplexType {
-    function SOAPComplexType($s, $i, $f) {
-        $this->varString = $s;
-        $this->varInt = $i;
-        $this->varFloat = $f;
-    }
-}
-$struct = new SOAPComplexType('arg',34,325.325);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoAnyType(array('inputAnyType'=>new SoapVar($struct,SOAP_ENC_OBJECT,"SOAPComplexType","http://soapinterop.org/xsd")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoAnyType><ns2:inputAnyType xsi:type="ns1:SOAPComplexType"><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:inputAnyType></ns2:echoAnyType></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoAnyTypeResponse><ns2:return xsi:type="ns1:SOAPComplexType"><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoAnyTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 028 (php/wsdl): echoAnyType
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoAnyType(array('inputAnyType'=>new SoapVar($struct,SOAP_ENC_OBJECT,"SOAPComplexType","http://soapinterop.org/xsd")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoAnyType><ns2:inputAnyType xsi:type="ns1:SOAPComplexType"><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:inputAnyType></ns2:echoAnyType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoAnyTypeResponse><ns2:return xsi:type="ns1:SOAPComplexType"><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoAnyTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_029w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_029w.phpt
index a7db2ed..ddbe23a 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_029w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_029w.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 029 (php/wsdl): echoAnyElement
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoAnyElement(array("inputAny"=>array("any"=>"<bold>Hello World</bold>")));
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoAnyElement><ns1:inputAny><bold>Hello World</bold></ns1:inputAny></ns1:echoAnyElement></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoAnyElementResponse><ns1:return><bold>Hello World</bold></ns1:return></ns1:echoAnyElementResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 029 (php/wsdl): echoAnyElement
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoAnyElement(array("inputAny"=>array("any"=>"<bold>Hello World</bold>")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoAnyElement><ns1:inputAny><bold>Hello World</bold></ns1:inputAny></ns1:echoAnyElement></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoAnyElementResponse><ns1:return><bold>Hello World</bold></ns1:return></ns1:echoAnyElementResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_030w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_030w.phpt
index aeb3369..48c8c44 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_030w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_030w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 030 (php/wsdl): echoVoidSoapHeader(1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = new SoapHeader("http://soapinterop.org/","echoMeStringRequest", array("varString"=>"Hello World"), 1);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeStringRequest SOAP-ENV:mustUnderstand="1"><ns2:varString>Hello World</ns2:varString></ns3:echoMeStringRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeStringResponse><ns1:varString>Hello World</ns1:varString></ns2:echoMeStringResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 030 (php/wsdl): echoVoidSoapHeader(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeStringRequest", array("varString"=>"Hello World"), 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeStringRequest SOAP-ENV:mustUnderstand="1"><ns2:varString>Hello World</ns2:varString></ns3:echoMeStringRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeStringResponse><ns1:varString>Hello World</ns1:varString></ns2:echoMeStringResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_031w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_031w.phpt
index 412fdcf..c108fb6 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_031w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_031w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 031 (php/wsdl): echoVoidSoapHeader(2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = new SoapHeader("http://soapinterop.org/","echoMeStringRequest", array(), 1);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeStringRequest SOAP-ENV:mustUnderstand="1"/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Header><ns1:echoMeStringResponse/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 031 (php/wsdl): echoVoidSoapHeader(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeStringRequest", array(), 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeStringRequest SOAP-ENV:mustUnderstand="1"/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Header><ns1:echoMeStringResponse/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt
index e27b500..03b0385 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 032 (php/wsdl): echoVoidSoapHeader(3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = new SoapHeader("http://soapinterop.org/","echoMeComplexTypeRequest", array("varInt"=>34,"varString"=>"arg","varFloat"=>12.345), 1);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeComplexTypeRequest SOAP-ENV:mustUnderstand="1"><ns2:varString>arg</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>12.345</ns2:varFloat></ns3:echoMeComplexTypeRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeComplexTypeResponse><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:echoMeComplexTypeResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 032 (php/wsdl): echoVoidSoapHeader(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeComplexTypeRequest", array("varInt"=>34,"varString"=>"arg","varFloat"=>12.345), 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeComplexTypeRequest SOAP-ENV:mustUnderstand="1"><ns2:varString>arg</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>12.345</ns2:varFloat></ns3:echoMeComplexTypeRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeComplexTypeResponse><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:echoMeComplexTypeResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt
index a88be26..e28f180 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 033 (php/wsdl): echoVoidSoapHeader(4)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = new SoapHeader("http://soapinterop.org/","echoMeComplexTypeRequest", array("varInt"=>34,"varFloat"=>12.345), 1);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeComplexTypeRequest SOAP-ENV:mustUnderstand="1"><ns2:varInt>34</ns2:varInt><ns2:varFloat>12.345</ns2:varFloat></ns3:echoMeComplexTypeRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeComplexTypeResponse><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:echoMeComplexTypeResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 033 (php/wsdl): echoVoidSoapHeader(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeComplexTypeRequest", array("varInt"=>34,"varFloat"=>12.345), 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeComplexTypeRequest SOAP-ENV:mustUnderstand="1"><ns2:varInt>34</ns2:varInt><ns2:varFloat>12.345</ns2:varFloat></ns3:echoMeComplexTypeRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeComplexTypeResponse><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:echoMeComplexTypeResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_034w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_034w.phpt
index 08dab5c..3639400 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_034w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_034w.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 034 (php/wsdl): echoVoidSoapHeader(5)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = new SoapHeader("http://soapinterop.org/","echoMeStringRequest", array("varString"=>"Hello World"), 1, SOAP_ACTOR_NEXT);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeStringRequest SOAP-ENV:mustUnderstand="1" SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next"><ns2:varString>Hello World</ns2:varString></ns3:echoMeStringRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeStringResponse><ns1:varString>Hello World</ns1:varString></ns2:echoMeStringResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 034 (php/wsdl): echoVoidSoapHeader(5)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeStringRequest", array("varString"=>"Hello World"), 1, SOAP_ACTOR_NEXT);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeStringRequest SOAP-ENV:mustUnderstand="1" SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next"><ns2:varString>Hello World</ns2:varString></ns3:echoMeStringRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeStringResponse><ns1:varString>Hello World</ns1:varString></ns2:echoMeStringResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt
index 1126062..2b894a7 100644
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt
+++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 035 (php/wsdl): echoVoidSoapHeader(6)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-$hdr = new SoapHeader("http://soapinterop.org/","echoMeComplexTypeRequest", array("varInt"=>34,"varString"=>"arg","varFloat"=>12.345), 1, SOAP_ACTOR_NEXT);
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
-echo $client->__getlastrequest();
-$HTTP_RAW_POST_DATA = $client->__getlastrequest();
-include("round4_groupI_xsd.inc");
-echo "ok\n";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeComplexTypeRequest SOAP-ENV:mustUnderstand="1" SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next"><ns2:varString>arg</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>12.345</ns2:varFloat></ns3:echoMeComplexTypeRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeComplexTypeResponse><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:echoMeComplexTypeResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP Interop Round4 GroupI XSD 035 (php/wsdl): echoVoidSoapHeader(6)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+soap.wsdl_cache_enabled=0
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeComplexTypeRequest", array("varInt"=>34,"varString"=>"arg","varFloat"=>12.345), 1, SOAP_ACTOR_NEXT);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeComplexTypeRequest SOAP-ENV:mustUnderstand="1" SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next"><ns2:varString>arg</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>12.345</ns2:varFloat></ns3:echoMeComplexTypeRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeComplexTypeResponse><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:echoMeComplexTypeResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/schema/test_schema.inc b/ext/soap/tests/schema/test_schema.inc
index 8c7d9d0..bfc4ce0 100644
--- a/ext/soap/tests/schema/test_schema.inc
+++ b/ext/soap/tests/schema/test_schema.inc
@@ -1,77 +1,77 @@
-<?php
-$val = null;
-
-function test($input) {
-	global $val;
-	$val = $input;
-}
-
-function test_schema($schema,$type,$param,$style="rpc",$use="encoded", $attributeFormDefault='',$features=0) {
-  global $HTTP_RAW_POST_DATA, $val;
-$wsdl  = <<<EOF
-<definitions name="InteropTest"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
-    xmlns:tns="http://test-uri/"
-    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
-    xmlns="http://schemas.xmlsoap.org/wsdl/"
-    targetNamespace="http://test-uri/"
-    >
-  <types>
-  <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://test-uri/" $attributeFormDefault>
-   <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
-   <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
-  	$schema
-  </schema>
-  </types>
-  <message name="testMessage">
-  	<part name="testParam" $type/>
-  </message>
-	<portType name="testPortType">
-		<operation name="test">
-			<input message="testMessage"/>
-		</operation>
-	</portType>
-	<binding name="testBinding" type="testPortType">
-		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
-		<operation name="test">
-			<soap:operation soapAction="#test" style="$style"/>
-			<input>
-				<soap:body use="$use" namespace="http://test-uri/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-			</input>
-		</operation>
-	</binding>
-	<service name="testService">
-   <port name="testPort" binding="tns:testBinding">
-     <soap:address location="test://" /> 
-   </port>
- </service>
-</definitions>
-EOF;
-
-  $fname = tempnam ("./", "wsdl");
-  $f = fopen($fname,"w");
-  fwrite($f,$wsdl);
-  fclose($f);
-  ini_set("soap.wsdl_cache_enabled",0);
-  $x = new SoapClient($fname, array("trace"=>1,"exceptions"=>0,"features"=>$features));
-  $y = new SoapServer($fname, array("features"=>$features));
-	$y->addfunction("test");
-  unlink($fname);
-
-  $x->test($param);
-  $xml = xml_parser_create();
-  $req = $x->__getlastrequest();
-  if ($style == "rpc") {
-    $HTTP_RAW_POST_DATA = $req;
-    ob_start();
-    $y->handle($HTTP_RAW_POST_DATA);
-    ob_end_clean();
-    echo $req;
-    var_dump($val);
-  } else {
-    echo $req;
-  }
-}
-?>
+<?php
+$val = null;
+
+function test($input) {
+	global $val;
+	$val = $input;
+}
+
+function test_schema($schema,$type,$param,$style="rpc",$use="encoded", $attributeFormDefault='',$features=0) {
+  global $HTTP_RAW_POST_DATA, $val;
+$wsdl  = <<<EOF
+<definitions name="InteropTest"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+    xmlns:tns="http://test-uri/"
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    targetNamespace="http://test-uri/"
+    >
+  <types>
+  <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://test-uri/" $attributeFormDefault>
+   <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
+   <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
+  	$schema
+  </schema>
+  </types>
+  <message name="testMessage">
+  	<part name="testParam" $type/>
+  </message>
+	<portType name="testPortType">
+		<operation name="test">
+			<input message="testMessage"/>
+		</operation>
+	</portType>
+	<binding name="testBinding" type="testPortType">
+		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+		<operation name="test">
+			<soap:operation soapAction="#test" style="$style"/>
+			<input>
+				<soap:body use="$use" namespace="http://test-uri/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+			</input>
+		</operation>
+	</binding>
+	<service name="testService">
+   <port name="testPort" binding="tns:testBinding">
+     <soap:address location="test://" /> 
+   </port>
+ </service>
+</definitions>
+EOF;
+
+  $fname = tempnam ("./", "wsdl");
+  $f = fopen($fname,"w");
+  fwrite($f,$wsdl);
+  fclose($f);
+  ini_set("soap.wsdl_cache_enabled",0);
+  $x = new SoapClient($fname, array("trace"=>1,"exceptions"=>0,"features"=>$features));
+  $y = new SoapServer($fname, array("features"=>$features));
+	$y->addfunction("test");
+  unlink($fname);
+
+  $x->test($param);
+  $xml = xml_parser_create();
+  $req = $x->__getlastrequest();
+  if ($style == "rpc") {
+    $HTTP_RAW_POST_DATA = $req;
+    ob_start();
+    $y->handle($HTTP_RAW_POST_DATA);
+    ob_end_clean();
+    echo $req;
+    var_dump($val);
+  } else {
+    echo $req;
+  }
+}
+?>
diff --git a/ext/soap/tests/setheaders.phpt b/ext/soap/tests/setheaders.phpt
index 7b3684b..cb90d37 100755
--- a/ext/soap/tests/setheaders.phpt
+++ b/ext/soap/tests/setheaders.phpt
@@ -1,38 +1,38 @@
---TEST--
-SOAP: SoapClient::__setHeaders
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(NULL, array("location"=>"test://","uri"=>"test://",
-  "exceptions"=>0,"trace"=>1));
-$client->test();
-echo $client->__getLastRequest();
-$client->__setSoapHeaders(new SoapHeader("test://","HDR1"));
-$client->test();
-echo $client->__getLastRequest();
-$client->test();
-echo $client->__getLastRequest();
-$client->__setSoapHeaders();
-$client->test();
-echo $client->__getLastRequest();
-$client->__setSoapHeaders(array(new SoapHeader("test://","HDR1"),new SoapHeader("test://","HDR2")));
-$client->test();
-echo $client->__getLastRequest();
-$h = array(new SoapHeader("test://","HDR0"));
-$client->__soapCall("test", array(), null, $h);
-echo $client->__getLastRequest();
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:HDR1/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:HDR1/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:HDR1/><ns1:HDR2/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:HDR0/><ns1:HDR1/><ns1:HDR2/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+--TEST--
+SOAP: SoapClient::__setHeaders
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL, array("location"=>"test://","uri"=>"test://",
+  "exceptions"=>0,"trace"=>1));
+$client->test();
+echo $client->__getLastRequest();
+$client->__setSoapHeaders(new SoapHeader("test://","HDR1"));
+$client->test();
+echo $client->__getLastRequest();
+$client->test();
+echo $client->__getLastRequest();
+$client->__setSoapHeaders();
+$client->test();
+echo $client->__getLastRequest();
+$client->__setSoapHeaders(array(new SoapHeader("test://","HDR1"),new SoapHeader("test://","HDR2")));
+$client->test();
+echo $client->__getLastRequest();
+$h = array(new SoapHeader("test://","HDR0"));
+$client->__soapCall("test", array(), null, $h);
+echo $client->__getLastRequest();
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:HDR1/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:HDR1/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:HDR1/><ns1:HDR2/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="test://" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:HDR0/><ns1:HDR1/><ns1:HDR2/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:test/></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/soap12/T01.phpt b/ext/soap/tests/soap12/T01.phpt
index f48ec9a..d584812 100644
--- a/ext/soap/tests/soap12/T01.phpt
+++ b/ext/soap/tests/soap12/T01.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T01 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T01 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T02.phpt b/ext/soap/tests/soap12/T02.phpt
index f63c8a0..db2c260 100644
--- a/ext/soap/tests/soap12/T02.phpt
+++ b/ext/soap/tests/soap12/T02.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T02 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:role="http://example.org/ts-tests/C">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T02 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:role="http://example.org/ts-tests/C">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T03.phpt b/ext/soap/tests/soap12/T03.phpt
index 42770c6..19c29dd 100644
--- a/ext/soap/tests/soap12/T03.phpt
+++ b/ext/soap/tests/soap12/T03.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP 1.2: T03 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T03 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T04.phpt b/ext/soap/tests/soap12/T04.phpt
index 18c98e7..7445cae 100644
--- a/ext/soap/tests/soap12/T04.phpt
+++ b/ext/soap/tests/soap12/T04.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T04 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T04 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T05.phpt b/ext/soap/tests/soap12/T05.phpt
index c5fc5b4..187eb2e 100644
--- a/ext/soap/tests/soap12/T05.phpt
+++ b/ext/soap/tests/soap12/T05.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T05 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:role="http://example.org/ts-tests/B">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T05 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:role="http://example.org/ts-tests/B">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T10.phpt b/ext/soap/tests/soap12/T10.phpt
index 8e0ddca..54186f6 100644
--- a/ext/soap/tests/soap12/T10.phpt
+++ b/ext/soap/tests/soap12/T10.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T10 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests" 
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T10 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests" 
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T11.phpt b/ext/soap/tests/soap12/T11.phpt
index c708fdc..3423d54 100644
--- a/ext/soap/tests/soap12/T11.phpt
+++ b/ext/soap/tests/soap12/T11.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T11 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
-          env:mustUnderstand="false">foo</test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T11 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
+          env:mustUnderstand="false">foo</test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T12.phpt b/ext/soap/tests/soap12/T12.phpt
index fa75806..c67917f 100644
--- a/ext/soap/tests/soap12/T12.phpt
+++ b/ext/soap/tests/soap12/T12.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T12 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
-          env:mustUnderstand="1">foo</test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T12 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
+          env:mustUnderstand="1">foo</test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T13.phpt b/ext/soap/tests/soap12/T13.phpt
index 82a91a9..95e1c8a 100644
--- a/ext/soap/tests/soap12/T13.phpt
+++ b/ext/soap/tests/soap12/T13.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T13 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
-          env:mustUnderstand="true">foo</test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T13 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
+          env:mustUnderstand="true">foo</test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T14.phpt b/ext/soap/tests/soap12/T14.phpt
index 2f0257d..dbf4e1b 100644
--- a/ext/soap/tests/soap12/T14.phpt
+++ b/ext/soap/tests/soap12/T14.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T14 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
-          env:mustUnderstand="wrong">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T14 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
+          env:mustUnderstand="wrong">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T15.phpt b/ext/soap/tests/soap12/T15.phpt
index 71dba3d..546f942 100644
--- a/ext/soap/tests/soap12/T15.phpt
+++ b/ext/soap/tests/soap12/T15.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T15 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests"
-          env:role="http://example.org/ts-tests/B"
-          env:mustUnderstand="1">foo</test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T15 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests"
+          env:role="http://example.org/ts-tests/B"
+          env:mustUnderstand="1">foo</test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T19.phpt b/ext/soap/tests/soap12/T19.phpt
index d09487d..8ddb5b4 100644
--- a/ext/soap/tests/soap12/T19.phpt
+++ b/ext/soap/tests/soap12/T19.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T19 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/none"
-          env:mustUnderstand="true">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T19 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/none"
+          env:mustUnderstand="true">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T22.phpt b/ext/soap/tests/soap12/T22.phpt
index 1bccec6..5844550 100644
--- a/ext/soap/tests/soap12/T22.phpt
+++ b/ext/soap/tests/soap12/T22.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T22 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests" 
-          env:mustUnderstand = "1">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-    <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body><ns1:responseOk>foo</ns1:responseOk></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T22 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests" 
+          env:mustUnderstand = "1">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+    <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body><ns1:responseOk>foo</ns1:responseOk></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T23.phpt b/ext/soap/tests/soap12/T23.phpt
index 7a2804f..c676fb1 100644
--- a/ext/soap/tests/soap12/T23.phpt
+++ b/ext/soap/tests/soap12/T23.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T23 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests" 
-          env:mustUnderstand="1">foo</test:Unknown>
-    <test:echoOk xmlns:test="http://example.org/ts-tests" 
-          env:mustUnderstand="wrong">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T23 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests" 
+          env:mustUnderstand="1">foo</test:Unknown>
+    <test:echoOk xmlns:test="http://example.org/ts-tests" 
+          env:mustUnderstand="wrong">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T24.phpt b/ext/soap/tests/soap12/T24.phpt
index 856b9a4..ebee3b7 100644
--- a/ext/soap/tests/soap12/T24.phpt
+++ b/ext/soap/tests/soap12/T24.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP 1.2: T24 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://wrong-version/"> 
-  <env:Body>
-    <test:echoOk xmlns:test="http://example.org/ts-tests">
-      foo
-    </test:echoOk>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:VersionMismatch</env:Value></env:Code><env:Reason><env:Text>Wrong Version</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T24 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://wrong-version/"> 
+  <env:Body>
+    <test:echoOk xmlns:test="http://example.org/ts-tests">
+      foo
+    </test:echoOk>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:VersionMismatch</env:Value></env:Code><env:Reason><env:Text>Wrong Version</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T25.phpt b/ext/soap/tests/soap12/T25.phpt
index 9d20a29..ac45e9c 100644
--- a/ext/soap/tests/soap12/T25.phpt
+++ b/ext/soap/tests/soap12/T25.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP 1.2: T25 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<!DOCTYPE env:Envelope SYSTEM "env.dtd"[]>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Body>
-    <test:echoOk xmlns:test="http://example.org/ts-tests">
-      foo
-    </test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T25 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<!DOCTYPE env:Envelope SYSTEM "env.dtd"[]>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Body>
+    <test:echoOk xmlns:test="http://example.org/ts-tests">
+      foo
+    </test:echoOk>
+ </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T26.phpt b/ext/soap/tests/soap12/T26.phpt
index 1f93e2c..53c8cec 100644
--- a/ext/soap/tests/soap12/T26.phpt
+++ b/ext/soap/tests/soap12/T26.phpt
@@ -1,21 +1,21 @@
---TEST--
-SOAP 1.2: T26 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-<?xml-stylesheet href="http://example.org/ts-tests/sub.xsl" type = "text/xsl"?>
-  <env:Body>
-    <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Body><ns1:responseOk>foo</ns1:responseOk></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T26 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+<?xml-stylesheet href="http://example.org/ts-tests/sub.xsl" type = "text/xsl"?>
+  <env:Body>
+    <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Body><ns1:responseOk>foo</ns1:responseOk></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T27.phpt b/ext/soap/tests/soap12/T27.phpt
index e165e04..6371113 100644
--- a/ext/soap/tests/soap12/T27.phpt
+++ b/ext/soap/tests/soap12/T27.phpt
@@ -1,29 +1,29 @@
---TEST--
-SOAP 1.2: T27 echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <env:Body>
-    <test:echoStringArray xmlns:test="http://example.org/ts-tests" 
-          xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <test:array enc:itemType="xs:string" enc:arraySize="1">
-        <a>
-          <b>1</b>
-        </a>
-      </test:array>		
-    </test:echoStringArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of encoding rules</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
-
+--TEST--
+SOAP 1.2: T27 echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <env:Body>
+    <test:echoStringArray xmlns:test="http://example.org/ts-tests" 
+          xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <test:array enc:itemType="xs:string" enc:arraySize="1">
+        <a>
+          <b>1</b>
+        </a>
+      </test:array>		
+    </test:echoStringArray>
+ </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of encoding rules</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+
diff --git a/ext/soap/tests/soap12/T28.phpt b/ext/soap/tests/soap12/T28.phpt
index d9890cf..6118b47 100644
--- a/ext/soap/tests/soap12/T28.phpt
+++ b/ext/soap/tests/soap12/T28.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP 1.2: T28 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Body env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-    <test:echoOk xmlns:test="http://example.org/ts-tests" >
-      foo
-    </test:echoOk>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>encodingStyle cannot be specified on the Body</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
-
+--TEST--
+SOAP 1.2: T28 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Body env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+    <test:echoOk xmlns:test="http://example.org/ts-tests" >
+      foo
+    </test:echoOk>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>encodingStyle cannot be specified on the Body</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+
diff --git a/ext/soap/tests/soap12/T29.phpt b/ext/soap/tests/soap12/T29.phpt
index 31efc22..3784da4 100644
--- a/ext/soap/tests/soap12/T29.phpt
+++ b/ext/soap/tests/soap12/T29.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T29 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:role="http://example.org/ts-tests/Czzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T29 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:role="http://example.org/ts-tests/Czzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T30.phpt b/ext/soap/tests/soap12/T30.phpt
index ab94cc2..c2e008e 100644
--- a/ext/soap/tests/soap12/T30.phpt
+++ b/ext/soap/tests/soap12/T30.phpt
@@ -1,20 +1,20 @@
---TEST--
-SOAP 1.2: T30 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
-  <env:Body>
-    <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://example.org/ts-tests"><SOAP-ENV:Body><ns1:responseOk>foo</ns1:responseOk></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
+--TEST--
+SOAP 1.2: T30 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
+  <env:Body>
+    <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://example.org/ts-tests"><SOAP-ENV:Body><ns1:responseOk>foo</ns1:responseOk></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T31.phpt b/ext/soap/tests/soap12/T31.phpt
index 1533657..04f0353 100644
--- a/ext/soap/tests/soap12/T31.phpt
+++ b/ext/soap/tests/soap12/T31.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP 1.2: T31 returnVoid
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Body>
-    <test:returnVoid xmlns:test="http://example.org/ts-tests">
-    </test:returnVoid>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:returnVoidResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
-ok
-
+--TEST--
+SOAP 1.2: T31 returnVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Body>
+    <test:returnVoid xmlns:test="http://example.org/ts-tests">
+    </test:returnVoid>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:returnVoidResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
+ok
+
diff --git a/ext/soap/tests/soap12/T32.phpt b/ext/soap/tests/soap12/T32.phpt
index f317127..8f77873 100644
--- a/ext/soap/tests/soap12/T32.phpt
+++ b/ext/soap/tests/soap12/T32.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP 1.2: T32 echoHeader
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:requiredHeader xmlns:test="http://example.org/ts-tests"
-          env:mustUnderstand="true">foo</test:requiredHeader>
-  </env:Header>
-  <env:Body>
-    <test:echoHeader xmlns:test="http://example.org/ts-tests">
-    </test:echoHeader>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Body><ns1:echoHeaderResponse>foo</ns1:echoHeaderResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T32 echoHeader
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:requiredHeader xmlns:test="http://example.org/ts-tests"
+          env:mustUnderstand="true">foo</test:requiredHeader>
+  </env:Header>
+  <env:Body>
+    <test:echoHeader xmlns:test="http://example.org/ts-tests">
+    </test:echoHeader>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Body><ns1:echoHeaderResponse>foo</ns1:echoHeaderResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T33.phpt b/ext/soap/tests/soap12/T33.phpt
index a75bf33..00ded87 100644
--- a/ext/soap/tests/soap12/T33.phpt
+++ b/ext/soap/tests/soap12/T33.phpt
@@ -1,20 +1,20 @@
---TEST--
-SOAP 1.2: T33 nonexistentMethod
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Body>
-    <test:DoesNotExist xmlns:test="http://example.org/ts-tests">
-  </test:DoesNotExist>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>rpc:ProcedureNotPresent</env:Value></env:Code><env:Reason><env:Text>Procedure not present</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T33 nonexistentMethod
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Body>
+    <test:DoesNotExist xmlns:test="http://example.org/ts-tests">
+  </test:DoesNotExist>
+ </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>rpc:ProcedureNotPresent</env:Value></env:Code><env:Reason><env:Text>Procedure not present</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T34.phpt b/ext/soap/tests/soap12/T34.phpt
index d72e117..39e0095 100644
--- a/ext/soap/tests/soap12/T34.phpt
+++ b/ext/soap/tests/soap12/T34.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T34 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests" 
-          xmlns:env1="http://schemas.xmlsoap.org/soap/envelope/"
-          env1:mustUnderstand="true">foo</test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T34 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests" 
+          xmlns:env1="http://schemas.xmlsoap.org/soap/envelope/"
+          env1:mustUnderstand="true">foo</test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T35.phpt b/ext/soap/tests/soap12/T35.phpt
index 3cb4a75..a736010 100644
--- a/ext/soap/tests/soap12/T35.phpt
+++ b/ext/soap/tests/soap12/T35.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T35 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests"
-          env:mustUnderstand="1">
-      foo
-    </test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T35 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests"
+          env:mustUnderstand="1">
+      foo
+    </test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T36.phpt b/ext/soap/tests/soap12/T36.phpt
index f818d44..d625813 100644
--- a/ext/soap/tests/soap12/T36.phpt
+++ b/ext/soap/tests/soap12/T36.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T36 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests"
-          env:mustUnderstand="1" 
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T36 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests"
+          env:mustUnderstand="1" 
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T37.phpt b/ext/soap/tests/soap12/T37.phpt
index 133676c..cdce8a4 100644
--- a/ext/soap/tests/soap12/T37.phpt
+++ b/ext/soap/tests/soap12/T37.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T37 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T37 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T38_1.phpt b/ext/soap/tests/soap12/T38_1.phpt
index 057d800..30007e5 100644
--- a/ext/soap/tests/soap12/T38_1.phpt
+++ b/ext/soap/tests/soap12/T38_1.phpt
@@ -1,27 +1,27 @@
---TEST--
-SOAP 1.2: T38.1 doubleHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests"
-          env:mustUnderstand="false" 
-          env:role="http://example.org/ts-tests/C">foo</test:Unknown>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:mustUnderstand="0" 
-          env:role="http://example.org/ts-tests/C">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T38.1 doubleHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests"
+          env:mustUnderstand="false" 
+          env:role="http://example.org/ts-tests/C">foo</test:Unknown>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:mustUnderstand="0" 
+          env:role="http://example.org/ts-tests/C">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T38_2.phpt b/ext/soap/tests/soap12/T38_2.phpt
index f4ee9f4..efff2f4 100644
--- a/ext/soap/tests/soap12/T38_2.phpt
+++ b/ext/soap/tests/soap12/T38_2.phpt
@@ -1,27 +1,27 @@
---TEST--
-SOAP 1.2: T38.2 doubleHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:mustUnderstand="true" 
-          env:role="http://example.org/ts-tests/C">foo</test:echoOk>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:mustUnderstand="1" 
-          env:role="http://example.org/ts-tests/C">bar</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk><ns1:responseOk>bar</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T38.2 doubleHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:mustUnderstand="true" 
+          env:role="http://example.org/ts-tests/C">foo</test:echoOk>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:mustUnderstand="1" 
+          env:role="http://example.org/ts-tests/C">bar</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk><ns1:responseOk>bar</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T39.phpt b/ext/soap/tests/soap12/T39.phpt
index 874dcb9..2b29562 100644
--- a/ext/soap/tests/soap12/T39.phpt
+++ b/ext/soap/tests/soap12/T39.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP 1.2: T39 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://example.org/ts-tests"
-          env:mustUnderstand="9">foo</test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T39 unknownHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://example.org/ts-tests"
+          env:mustUnderstand="9">foo</test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T40.phpt b/ext/soap/tests/soap12/T40.phpt
index 4730c82..27b4a21 100644
--- a/ext/soap/tests/soap12/T40.phpt
+++ b/ext/soap/tests/soap12/T40.phpt
@@ -1,26 +1,26 @@
---TEST--
-SOAP 1.2: T40 echoOK
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:Unknown xmlns:test="http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" 
-          env:mustUnderstand="false">
-      foo
-    </test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
+--TEST--
+SOAP 1.2: T40 echoOK
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:Unknown xmlns:test="http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" 
+          env:mustUnderstand="false">
+      foo
+    </test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
 ok
\ No newline at end of file
diff --git a/ext/soap/tests/soap12/T41.phpt b/ext/soap/tests/soap12/T41.phpt
index 4f55270..f874adc 100644
--- a/ext/soap/tests/soap12/T41.phpt
+++ b/ext/soap/tests/soap12/T41.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP 1.2: T41 echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoStruct xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStruct xsi:type="ns1:SOAPStruct"
-                   xmlns:ns1="http://example.org/ts-tests/xsd">
-        <varInt xsi:type="xsd:int">42</varInt>
-        <varFloat xsi:type="xsd:float">0.005</varFloat>
-        <varString xsi:type="xsd:string">hello world</varString>
-      </inputStruct>
-    </test:echoStruct>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></return></ns1:echoStructResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T41 echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoStruct xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStruct xsi:type="ns1:SOAPStruct"
+                   xmlns:ns1="http://example.org/ts-tests/xsd">
+        <varInt xsi:type="xsd:int">42</varInt>
+        <varFloat xsi:type="xsd:float">0.005</varFloat>
+        <varString xsi:type="xsd:string">hello world</varString>
+      </inputStruct>
+    </test:echoStruct>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></return></ns1:echoStructResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T42.phpt b/ext/soap/tests/soap12/T42.phpt
index 87e0a77..e45d42b 100644
--- a/ext/soap/tests/soap12/T42.phpt
+++ b/ext/soap/tests/soap12/T42.phpt
@@ -1,41 +1,41 @@
---TEST--
-SOAP 1.2: T42 echoStructArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoStructArray xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStructArray enc:itemType="ns1:SOAPStruct"
-                        enc:arraySize="2"
-                        xmlns:ns1="http://example.org/ts-tests/xsd"
-                        xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-        <item xsi:type="ns1:SOAPStruct">
-          <varInt xsi:type="xsd:int">42</varInt>
-          <varFloat xsi:type="xsd:float">0.005</varFloat>
-          <varString xsi:type="xsd:string">hello world</varString>
-        </item>
-        <item xsi:type="ns1:SOAPStruct">
-          <varInt xsi:type="xsd:int">43</varInt>
-          <varFloat xsi:type="xsd:float">0.123</varFloat>
-          <varString xsi:type="xsd:string">bye world</varString>
-        </item>
-      </inputStructArray>
-    </test:echoStructArray>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStructArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="ns2:SOAPStruct" enc:arraySize="2" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">bye world</varString><varInt xsi:type="xsd:int">43</varInt><varFloat xsi:type="xsd:float">0.123</varFloat></item></return></ns1:echoStructArrayResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T42 echoStructArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoStructArray xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStructArray enc:itemType="ns1:SOAPStruct"
+                        enc:arraySize="2"
+                        xmlns:ns1="http://example.org/ts-tests/xsd"
+                        xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+        <item xsi:type="ns1:SOAPStruct">
+          <varInt xsi:type="xsd:int">42</varInt>
+          <varFloat xsi:type="xsd:float">0.005</varFloat>
+          <varString xsi:type="xsd:string">hello world</varString>
+        </item>
+        <item xsi:type="ns1:SOAPStruct">
+          <varInt xsi:type="xsd:int">43</varInt>
+          <varFloat xsi:type="xsd:float">0.123</varFloat>
+          <varString xsi:type="xsd:string">bye world</varString>
+        </item>
+      </inputStructArray>
+    </test:echoStructArray>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStructArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="ns2:SOAPStruct" enc:arraySize="2" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">bye world</varString><varInt xsi:type="xsd:int">43</varInt><varFloat xsi:type="xsd:float">0.123</varFloat></item></return></ns1:echoStructArrayResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T43.phpt b/ext/soap/tests/soap12/T43.phpt
index 9168fbb..7dd6316 100644
--- a/ext/soap/tests/soap12/T43.phpt
+++ b/ext/soap/tests/soap12/T43.phpt
@@ -1,30 +1,30 @@
---TEST--
-SOAP 1.2: T43 echoStructAsSimpleTypes
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoStructAsSimpleTypes xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStruct xsi:type="ns1:SOAPStruct"
-                   xmlns:ns1="http://example.org/ts-tests/xsd">
-        <varInt xsi:type="xsd:int">42</varInt>
-        <varFloat xsi:type="xsd:float">0.005</varFloat>
-        <varString xsi:type="xsd:string">hello world</varString>
-      </inputStruct>
-    </test:echoStructAsSimpleTypes>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoStructAsSimpleTypesResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><outputString xsi:type="xsd:string">hello world</outputString><outputInteger xsi:type="xsd:int">42</outputInteger><outputFloat xsi:type="xsd:float">0.005</outputFloat></ns1:echoStructAsSimpleTypesResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T43 echoStructAsSimpleTypes
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoStructAsSimpleTypes xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStruct xsi:type="ns1:SOAPStruct"
+                   xmlns:ns1="http://example.org/ts-tests/xsd">
+        <varInt xsi:type="xsd:int">42</varInt>
+        <varFloat xsi:type="xsd:float">0.005</varFloat>
+        <varString xsi:type="xsd:string">hello world</varString>
+      </inputStruct>
+    </test:echoStructAsSimpleTypes>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoStructAsSimpleTypesResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><outputString xsi:type="xsd:string">hello world</outputString><outputInteger xsi:type="xsd:int">42</outputInteger><outputFloat xsi:type="xsd:float">0.005</outputFloat></ns1:echoStructAsSimpleTypesResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T44.phpt b/ext/soap/tests/soap12/T44.phpt
index a53b85a..3e307c1 100644
--- a/ext/soap/tests/soap12/T44.phpt
+++ b/ext/soap/tests/soap12/T44.phpt
@@ -1,27 +1,27 @@
---TEST--
-SOAP 1.2: T44 echoSimpleTypesAsStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoSimpleTypesAsStruct xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputInt xsi:type="xsd:int">42</inputInt>
-      <inputFloat xsi:type="xsd:float">0.005</inputFloat>
-      <inputString xsi:type="xsd:string">hello world</inputString>
-    </test:echoSimpleTypesAsStruct>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoSimpleTypesAsStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></return></ns1:echoSimpleTypesAsStructResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T44 echoSimpleTypesAsStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoSimpleTypesAsStruct xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputInt xsi:type="xsd:int">42</inputInt>
+      <inputFloat xsi:type="xsd:float">0.005</inputFloat>
+      <inputString xsi:type="xsd:string">hello world</inputString>
+    </test:echoSimpleTypesAsStruct>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoSimpleTypesAsStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></return></ns1:echoSimpleTypesAsStructResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T45.phpt b/ext/soap/tests/soap12/T45.phpt
index a1e3a78..24db941 100644
--- a/ext/soap/tests/soap12/T45.phpt
+++ b/ext/soap/tests/soap12/T45.phpt
@@ -1,35 +1,35 @@
---TEST--
-SOAP 1.2: T45 echoNestedStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoNestedStruct xmlns:test="http://example.org/ts-tests"
-       env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStruct xsi:type="ns1:SOAPStructStruct"
-                   xmlns:ns1="http://example.org/ts-tests/xsd">
-        <varInt xsi:type="xsd:int">42</varInt>
-        <varFloat xsi:type="xsd:float">0.005</varFloat>
-        <varString xsi:type="xsd:string">hello world</varString>
-        <varStruct xsi:type="ns1:SOAPStruct">
-          <varInt xsi:type="xsd:int">99</varInt>
-          <varFloat xsi:type="xsd:float">5.5</varFloat>
-          <varString xsi:type="xsd:string">nested struct</varString>
-        </varStruct>
-      </inputStruct>
-    </test:echoNestedStruct>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoNestedStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">nested struct</varString><varInt xsi:type="xsd:int">99</varInt><varFloat xsi:type="xsd:float">5.5</varFloat></varStruct></return></ns1:echoNestedStructResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T45 echoNestedStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoNestedStruct xmlns:test="http://example.org/ts-tests"
+       env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStruct xsi:type="ns1:SOAPStructStruct"
+                   xmlns:ns1="http://example.org/ts-tests/xsd">
+        <varInt xsi:type="xsd:int">42</varInt>
+        <varFloat xsi:type="xsd:float">0.005</varFloat>
+        <varString xsi:type="xsd:string">hello world</varString>
+        <varStruct xsi:type="ns1:SOAPStruct">
+          <varInt xsi:type="xsd:int">99</varInt>
+          <varFloat xsi:type="xsd:float">5.5</varFloat>
+          <varString xsi:type="xsd:string">nested struct</varString>
+        </varStruct>
+      </inputStruct>
+    </test:echoNestedStruct>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoNestedStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">nested struct</varString><varInt xsi:type="xsd:int">99</varInt><varFloat xsi:type="xsd:float">5.5</varFloat></varStruct></return></ns1:echoNestedStructResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T46.phpt b/ext/soap/tests/soap12/T46.phpt
index 9298a55..8098ef7 100644
--- a/ext/soap/tests/soap12/T46.phpt
+++ b/ext/soap/tests/soap12/T46.phpt
@@ -1,36 +1,36 @@
---TEST--
-SOAP 1.2: T46 echoNestedArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoNestedArray xmlns:test="http://exaple.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStruct xsi:type="ns1:SOAPArrayStruct"
-                   xmlns:ns1="http://example.org/ts-tests/xsd">
-        <varInt xsi:type="xsd:int">42</varInt>
-        <varFloat xsi:type="xsd:float">0.005</varFloat>
-        <varString xsi:type="xsd:string">hello world</varString>
-        <varArray enc:itemType="xsd:string" enc:arraySize="3"
-		          xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-          <item xsi:type="xsd:string">red</item>
-          <item xsi:type="xsd:string">blue</item>
-          <item xsi:type="xsd:string">green</item>
-        </varArray>
-      </inputStruct>
-    </test:echoNestedArray>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoNestedArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat><varArray enc:itemType="xsd:string" enc:arraySize="3" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T46 echoNestedArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoNestedArray xmlns:test="http://exaple.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStruct xsi:type="ns1:SOAPArrayStruct"
+                   xmlns:ns1="http://example.org/ts-tests/xsd">
+        <varInt xsi:type="xsd:int">42</varInt>
+        <varFloat xsi:type="xsd:float">0.005</varFloat>
+        <varString xsi:type="xsd:string">hello world</varString>
+        <varArray enc:itemType="xsd:string" enc:arraySize="3"
+		          xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+          <item xsi:type="xsd:string">red</item>
+          <item xsi:type="xsd:string">blue</item>
+          <item xsi:type="xsd:string">green</item>
+        </varArray>
+      </inputStruct>
+    </test:echoNestedArray>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoNestedArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat><varArray enc:itemType="xsd:string" enc:arraySize="3" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T47.phpt b/ext/soap/tests/soap12/T47.phpt
index 852dec0..a449d20 100644
--- a/ext/soap/tests/soap12/T47.phpt
+++ b/ext/soap/tests/soap12/T47.phpt
@@ -1,31 +1,31 @@
---TEST--
-SOAP 1.2: T47 echoFloatArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-precision=14
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoFloatArray xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputFloatArray enc:itemType="xsd:float" enc:arraySize="2"
-                       xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-        <item xsi:type="xsd:float">5.5</item>
-        <item xsi:type="xsd:float">12999.9</item>
-      </inputFloatArray>
-    </test:echoFloatArray>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoFloatArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:float" enc:arraySize="2" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">5.5</item><item xsi:type="xsd:float">12999.9</item></return></ns1:echoFloatArrayResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T47 echoFloatArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoFloatArray xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputFloatArray enc:itemType="xsd:float" enc:arraySize="2"
+                       xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+        <item xsi:type="xsd:float">5.5</item>
+        <item xsi:type="xsd:float">12999.9</item>
+      </inputFloatArray>
+    </test:echoFloatArray>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoFloatArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:float" enc:arraySize="2" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">5.5</item><item xsi:type="xsd:float">12999.9</item></return></ns1:echoFloatArrayResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T48.phpt b/ext/soap/tests/soap12/T48.phpt
index f82ac6c..f7cf0fe 100644
--- a/ext/soap/tests/soap12/T48.phpt
+++ b/ext/soap/tests/soap12/T48.phpt
@@ -1,29 +1,29 @@
---TEST--
-SOAP 1.2: T48 echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoStringArray xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStringArray enc:itemType="xsd:string" enc:arraySize="2"
-                        xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-        <item xsi:type="xsd:string">hello</item>
-        <item xsi:type="xsd:string">world</item>
-      </inputStringArray>
-    </test:echoStringArray>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:string" enc:arraySize="2" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">hello</item><item xsi:type="xsd:string">world</item></return></ns1:echoStringArrayResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T48 echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoStringArray xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStringArray enc:itemType="xsd:string" enc:arraySize="2"
+                        xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+        <item xsi:type="xsd:string">hello</item>
+        <item xsi:type="xsd:string">world</item>
+      </inputStringArray>
+    </test:echoStringArray>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:string" enc:arraySize="2" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">hello</item><item xsi:type="xsd:string">world</item></return></ns1:echoStringArrayResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T49.phpt b/ext/soap/tests/soap12/T49.phpt
index 2923a9e..9687d03 100644
--- a/ext/soap/tests/soap12/T49.phpt
+++ b/ext/soap/tests/soap12/T49.phpt
@@ -1,29 +1,29 @@
---TEST--
-SOAP 1.2: T49 echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoStringArray xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStringArray enc:arraySize="2"
-                        xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-        <item xsi:type="xsd:string">hello</item>
-        <item xsi:type="xsd:string">world</item>
-      </inputStringArray>
-    </test:echoStringArray>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:string" enc:arraySize="2" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">hello</item><item xsi:type="xsd:string">world</item></return></ns1:echoStringArrayResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T49 echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoStringArray xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStringArray enc:arraySize="2"
+                        xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+        <item xsi:type="xsd:string">hello</item>
+        <item xsi:type="xsd:string">world</item>
+      </inputStringArray>
+    </test:echoStringArray>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:string" enc:arraySize="2" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">hello</item><item xsi:type="xsd:string">world</item></return></ns1:echoStringArrayResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T50.phpt b/ext/soap/tests/soap12/T50.phpt
index 91a2a52..e3fcc0c 100644
--- a/ext/soap/tests/soap12/T50.phpt
+++ b/ext/soap/tests/soap12/T50.phpt
@@ -1,29 +1,29 @@
---TEST--
-SOAP 1.2: T50 echoIntegerArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoIntegerArray xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputIntegerArray enc:itemType="xsd:int" enc:arraySize="2"
-                         xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-        <item xsi:type="xsd:int">100</item>
-        <item xsi:type="xsd:int">200</item>
-      </inputIntegerArray>
-    </test:echoIntegerArray>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoIntegerArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:int" enc:arraySize="2" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">100</item><item xsi:type="xsd:int">200</item></return></ns1:echoIntegerArrayResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T50 echoIntegerArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoIntegerArray xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputIntegerArray enc:itemType="xsd:int" enc:arraySize="2"
+                         xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+        <item xsi:type="xsd:int">100</item>
+        <item xsi:type="xsd:int">200</item>
+      </inputIntegerArray>
+    </test:echoIntegerArray>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoIntegerArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:int" enc:arraySize="2" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">100</item><item xsi:type="xsd:int">200</item></return></ns1:echoIntegerArrayResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T51.phpt b/ext/soap/tests/soap12/T51.phpt
index dbb908a..9776576 100644
--- a/ext/soap/tests/soap12/T51.phpt
+++ b/ext/soap/tests/soap12/T51.phpt
@@ -1,27 +1,27 @@
---TEST--
-SOAP 1.2: T51 echoBase64
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <env:Body>
-    <test:echoBase64 xmlns:test="http://example.org/ts-tests"
-       env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputBase64 xsi:type="xsd:base64Binary">
-        YUdWc2JHOGdkMjl5YkdRPQ==
-      </inputBase64>
-    </test:echoBase64>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoBase64Response env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:base64Binary">YUdWc2JHOGdkMjl5YkdRPQ==</return></ns1:echoBase64Response></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T51 echoBase64
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <env:Body>
+    <test:echoBase64 xmlns:test="http://example.org/ts-tests"
+       env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputBase64 xsi:type="xsd:base64Binary">
+        YUdWc2JHOGdkMjl5YkdRPQ==
+      </inputBase64>
+    </test:echoBase64>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoBase64Response env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:base64Binary">YUdWc2JHOGdkMjl5YkdRPQ==</return></ns1:echoBase64Response></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T52.phpt b/ext/soap/tests/soap12/T52.phpt
index 91da146..9d75fb9 100644
--- a/ext/soap/tests/soap12/T52.phpt
+++ b/ext/soap/tests/soap12/T52.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP 1.2: T52 echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoBoolean xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputBoolean xsi:type="xsd:boolean">1</inputBoolean>
-    </test:echoBoolean>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoBooleanResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">true</return></ns1:echoBooleanResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T52 echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoBoolean xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputBoolean xsi:type="xsd:boolean">1</inputBoolean>
+    </test:echoBoolean>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoBooleanResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">true</return></ns1:echoBooleanResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T53.phpt b/ext/soap/tests/soap12/T53.phpt
index 989f756..c1c8fe6 100644
--- a/ext/soap/tests/soap12/T53.phpt
+++ b/ext/soap/tests/soap12/T53.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP 1.2: T53 echoDate
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoDate xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputDate xsi:type="xsd:date">1956-10-18T22:20:00-07:00</inputDate>
-    </test:echoDate>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoDateResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:dateTime">1956-10-18T22:20:00-07:00</return></ns1:echoDateResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T53 echoDate
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoDate xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputDate xsi:type="xsd:date">1956-10-18T22:20:00-07:00</inputDate>
+    </test:echoDate>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoDateResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:dateTime">1956-10-18T22:20:00-07:00</return></ns1:echoDateResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T54.phpt b/ext/soap/tests/soap12/T54.phpt
index 07bd511..ba3ed35 100644
--- a/ext/soap/tests/soap12/T54.phpt
+++ b/ext/soap/tests/soap12/T54.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP 1.2: T54 echoDecimal
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoDecimal xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputDecimal xsi:type="xsd:decimal">123.45678901234567890</inputDecimal>
-    </test:echoDecimal>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoDecimalResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:decimal">123.45678901234567890</return></ns1:echoDecimalResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T54 echoDecimal
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoDecimal xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputDecimal xsi:type="xsd:decimal">123.45678901234567890</inputDecimal>
+    </test:echoDecimal>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoDecimalResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:decimal">123.45678901234567890</return></ns1:echoDecimalResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T55.phpt b/ext/soap/tests/soap12/T55.phpt
index cf10443..1c12e50 100644
--- a/ext/soap/tests/soap12/T55.phpt
+++ b/ext/soap/tests/soap12/T55.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP 1.2: T55 echoFloat
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoFloat xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputFloat xsi:type="xsd:float">0.005</inputFloat>
-    </test:echoFloat>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoFloatResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:float">0.005</return></ns1:echoFloatResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T55 echoFloat
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoFloat xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputFloat xsi:type="xsd:float">0.005</inputFloat>
+    </test:echoFloat>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoFloatResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:float">0.005</return></ns1:echoFloatResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T56.phpt b/ext/soap/tests/soap12/T56.phpt
index 3bd835e..ca13427 100644
--- a/ext/soap/tests/soap12/T56.phpt
+++ b/ext/soap/tests/soap12/T56.phpt
@@ -1,34 +1,34 @@
---TEST--
-SOAP 1.2: T56 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-              xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-  <env:Header>
-    <test:DataHolder xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <test:Data enc:id="data-1" xsi:type="xsd:string">
-        hello world
-      </test:Data>
-    </test:DataHolder>
-  </env:Header>
-  <env:Body>
-    <test:echoString xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputString enc:ref="#data-2" xsi:type="xsd:string" />
-    </test:echoString>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Unresolved reference '#data-2'</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
-
+--TEST--
+SOAP 1.2: T56 echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+  <env:Header>
+    <test:DataHolder xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <test:Data enc:id="data-1" xsi:type="xsd:string">
+        hello world
+      </test:Data>
+    </test:DataHolder>
+  </env:Header>
+  <env:Body>
+    <test:echoString xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputString enc:ref="#data-2" xsi:type="xsd:string" />
+    </test:echoString>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Unresolved reference '#data-2'</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+
diff --git a/ext/soap/tests/soap12/T57.phpt b/ext/soap/tests/soap12/T57.phpt
index 8f7bc2e..ad3e9ef 100644
--- a/ext/soap/tests/soap12/T57.phpt
+++ b/ext/soap/tests/soap12/T57.phpt
@@ -1,32 +1,32 @@
---TEST--
-SOAP 1.2: T57 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-              xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-  <env:Header>
-    <test:DataHolder xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <test:Data enc:id="data" xsi:type="xsd:string">hello world</test:Data>
-    </test:DataHolder>
-  </env:Header>
-  <env:Body>
-    <test:echoString xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <test:inputString enc:ref="#data" xsi:type="xsd:string" />
-    </test:echoString>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T57 echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+  <env:Header>
+    <test:DataHolder xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <test:Data enc:id="data" xsi:type="xsd:string">hello world</test:Data>
+    </test:DataHolder>
+  </env:Header>
+  <env:Body>
+    <test:echoString xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <test:inputString enc:ref="#data" xsi:type="xsd:string" />
+    </test:echoString>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T58.phpt b/ext/soap/tests/soap12/T58.phpt
index 08164b9..1c3e8ba 100644
--- a/ext/soap/tests/soap12/T58.phpt
+++ b/ext/soap/tests/soap12/T58.phpt
@@ -1,28 +1,28 @@
---TEST--
-SOAP 1.2: T58 echoIntegerArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoIntegerArray xmlns:test="http://example.org/ts-tests" 
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputIntegerArray enc:itemType="xsd:int" enc:arraySize="1"
-                   xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-        <a><b>1</b></a>
-      </inputIntegerArray>		
-    </test:echoIntegerArray>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of encoding rules</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
-
+--TEST--
+SOAP 1.2: T58 echoIntegerArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoIntegerArray xmlns:test="http://example.org/ts-tests" 
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputIntegerArray enc:itemType="xsd:int" enc:arraySize="1"
+                   xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+        <a><b>1</b></a>
+      </inputIntegerArray>		
+    </test:echoIntegerArray>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of encoding rules</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+
diff --git a/ext/soap/tests/soap12/T59.phpt b/ext/soap/tests/soap12/T59.phpt
index ebde376..2ceef32 100644
--- a/ext/soap/tests/soap12/T59.phpt
+++ b/ext/soap/tests/soap12/T59.phpt
@@ -1,28 +1,28 @@
---TEST--
-SOAP 1.2: T59 echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoStringArray xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStringArray enc:itemType="xsd:string" 
-                        xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-        <item enc:id="data" xsi:type="xsd:string" enc:ref="#data">hello</item>
-        <item>world</item>
-      </inputStringArray>
-    </test:echoStringArray>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of id and ref information items '#data'</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T59 echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoStringArray xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStringArray enc:itemType="xsd:string" 
+                        xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+        <item enc:id="data" xsi:type="xsd:string" enc:ref="#data">hello</item>
+        <item>world</item>
+      </inputStringArray>
+    </test:echoStringArray>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of id and ref information items '#data'</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T60.phpt b/ext/soap/tests/soap12/T60.phpt
index a93accb..234ef4c 100644
--- a/ext/soap/tests/soap12/T60.phpt
+++ b/ext/soap/tests/soap12/T60.phpt
@@ -1,29 +1,29 @@
---TEST--
-SOAP 1.2: T60 countItems
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:countItems xmlns:test="http://example.org/ts-tests"
-          xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStringArray enc:itemType="xsd:string" enc:arraySize="*">
-        <item xsi:type="xsd:string">hello</item>
-        <item xsi:type="xsd:string">world</item>
-      </inputStringArray>
-    </test:countItems>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:countItemsResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:int">2</return></ns1:countItemsResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T60 countItems
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:countItems xmlns:test="http://example.org/ts-tests"
+          xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStringArray enc:itemType="xsd:string" enc:arraySize="*">
+        <item xsi:type="xsd:string">hello</item>
+        <item xsi:type="xsd:string">world</item>
+      </inputStringArray>
+    </test:countItems>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:countItemsResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:int">2</return></ns1:countItemsResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T61.phpt b/ext/soap/tests/soap12/T61.phpt
index bc157d9..b688a79 100644
--- a/ext/soap/tests/soap12/T61.phpt
+++ b/ext/soap/tests/soap12/T61.phpt
@@ -1,28 +1,28 @@
---TEST--
-SOAP 1.2: T61 countItems
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:countItems xmlns:test="http://example.org/ts-tests"
-          xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputStringArray enc:itemType="xsd:string" enc:arraySize="2 *">
-        <item xsi:type="xsd:string">hello</item>
-        <item xsi:type="xsd:string">world</item>
-      </inputStringArray>
-    </test:countItems>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: '*' may only be first arraySize value in list</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T61 countItems
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:countItems xmlns:test="http://example.org/ts-tests"
+          xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputStringArray enc:itemType="xsd:string" enc:arraySize="2 *">
+        <item xsi:type="xsd:string">hello</item>
+        <item xsi:type="xsd:string">world</item>
+      </inputStringArray>
+    </test:countItems>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: '*' may only be first arraySize value in list</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T63.phpt b/ext/soap/tests/soap12/T63.phpt
index 9b5f90c..5a41ef0 100644
--- a/ext/soap/tests/soap12/T63.phpt
+++ b/ext/soap/tests/soap12/T63.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP 1.2: T63 validateCountryCode
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:validateCountryCode xmlns:test="http://example.org/ts-tests"
-          env:role="http://example.org/ts-tests/C"
-          env:mustUnderstand="1">ABCD</test:validateCountryCode>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:validateCountryCodeFault>Country code must be 2 letters.</ns1:validateCountryCodeFault></env:Header><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>Not a valid country code</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T63 validateCountryCode
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:validateCountryCode xmlns:test="http://example.org/ts-tests"
+          env:role="http://example.org/ts-tests/C"
+          env:mustUnderstand="1">ABCD</test:validateCountryCode>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:validateCountryCodeFault>Country code must be 2 letters.</ns1:validateCountryCodeFault></env:Header><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>Not a valid country code</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T64.phpt b/ext/soap/tests/soap12/T64.phpt
index d8e3f3d..24e62ec 100644
--- a/ext/soap/tests/soap12/T64.phpt
+++ b/ext/soap/tests/soap12/T64.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T64 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<!DOCTYPE DOC [
-<!NOTATION application_xml SYSTEM 'http://www.isi.edu/in-notes/iana/assignments/media-types/application/xml'>
-]>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
- <env:Body>
-    <test:echoOk xmlns:test="http://example.org/ts-tests">
-      foo
-    </test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T64 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<!DOCTYPE DOC [
+<!NOTATION application_xml SYSTEM 'http://www.isi.edu/in-notes/iana/assignments/media-types/application/xml'>
+]>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+ <env:Body>
+    <test:echoOk xmlns:test="http://example.org/ts-tests">
+      foo
+    </test:echoOk>
+ </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T65.phpt b/ext/soap/tests/soap12/T65.phpt
index 35bbb24..cd96d4a 100644
--- a/ext/soap/tests/soap12/T65.phpt
+++ b/ext/soap/tests/soap12/T65.phpt
@@ -1,26 +1,26 @@
---TEST--
-SOAP 1.2: T65 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<!DOCTYPE DOC [
-<!ELEMENT Envelope (Body) >
-<!ELEMENT Body (echoOk) >
-<!ELEMENT echoOk (#PCDATA) >
-]>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Body>
-    <test:echoOk xmlns:test="http://example.org/ts-tests">
-      foo
-    </test:echoOk>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T65 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<!DOCTYPE DOC [
+<!ELEMENT Envelope (Body) >
+<!ELEMENT Body (echoOk) >
+<!ELEMENT echoOk (#PCDATA) >
+]>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Body>
+    <test:echoOk xmlns:test="http://example.org/ts-tests">
+      foo
+    </test:echoOk>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T66.phpt b/ext/soap/tests/soap12/T66.phpt
index 9b326f8..cc7cc2e 100644
--- a/ext/soap/tests/soap12/T66.phpt
+++ b/ext/soap/tests/soap12/T66.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T66 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' encoding='UTF8'?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T66 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' encoding='UTF8'?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T67.phpt b/ext/soap/tests/soap12/T67.phpt
index 58ebaf0..ddc527a 100644
--- a/ext/soap/tests/soap12/T67.phpt
+++ b/ext/soap/tests/soap12/T67.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T67 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' standalone='yes'?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
- <env:Header>
-  <test:echoOk xmlns:test="http://example.org/ts-tests"
-        env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T67 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' standalone='yes'?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+ <env:Header>
+  <test:echoOk xmlns:test="http://example.org/ts-tests"
+        env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
+ </env:Header>
+ <env:Body>
+ </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T68.phpt b/ext/soap/tests/soap12/T68.phpt
index a1a9919..a791519 100644
--- a/ext/soap/tests/soap12/T68.phpt
+++ b/ext/soap/tests/soap12/T68.phpt
@@ -1,32 +1,32 @@
---TEST--
-SOAP 1.2: T68 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-
-
- <env:Header           >
-
-                          <test:echoOk xmlns:test="http://example.org/ts-tests"
-        env:role="http://www.w3.org/2003/05/soap-envelope/role/next"  >foo</test:echoOk>
-  
-
- </env:Header>
- <env:Body>
- 
-            
- </env:Body>
- 
- 
-
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T68 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+
+
+ <env:Header           >
+
+                          <test:echoOk xmlns:test="http://example.org/ts-tests"
+        env:role="http://www.w3.org/2003/05/soap-envelope/role/next"  >foo</test:echoOk>
+  
+
+ </env:Header>
+ <env:Body>
+ 
+            
+ </env:Body>
+ 
+ 
+
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T69.phpt b/ext/soap/tests/soap12/T69.phpt
index 1d874bc..0fb02de 100644
--- a/ext/soap/tests/soap12/T69.phpt
+++ b/ext/soap/tests/soap12/T69.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP 1.2: T69 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
-	<test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
- </env:Header>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>Body must be present in a SOAP envelope</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T69 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
+ <env:Header>
+	<test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
+ </env:Header>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>Body must be present in a SOAP envelope</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T70.phpt b/ext/soap/tests/soap12/T70.phpt
index 8bffb19..3622c32 100644
--- a/ext/soap/tests/soap12/T70.phpt
+++ b/ext/soap/tests/soap12/T70.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T70 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
-  <env:Header>
-	<test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-  <Trailer>
-  </Trailer>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>A SOAP 1.2 envelope can contain only Header and Body</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T70 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
+  <env:Header>
+	<test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+  <Trailer>
+  </Trailer>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>A SOAP 1.2 envelope can contain only Header and Body</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T71.phpt b/ext/soap/tests/soap12/T71.phpt
index 137f9c3..fdb5b8d 100644
--- a/ext/soap/tests/soap12/T71.phpt
+++ b/ext/soap/tests/soap12/T71.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T71 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-     attr1="a-value">
-  <env:Header>
-	<test:echoOk xmlns:test="http://example.org/ts-tests">
-      foo
-    </test:echoOk>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>A SOAP Envelope element cannot have non Namespace qualified attributes</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T71 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+     attr1="a-value">
+  <env:Header>
+	<test:echoOk xmlns:test="http://example.org/ts-tests">
+      foo
+    </test:echoOk>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>A SOAP Envelope element cannot have non Namespace qualified attributes</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T72.phpt b/ext/soap/tests/soap12/T72.phpt
index e3d10d1..b8f5060 100644
--- a/ext/soap/tests/soap12/T72.phpt
+++ b/ext/soap/tests/soap12/T72.phpt
@@ -1,22 +1,22 @@
---TEST--
-SOAP 1.2: T72 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
-              env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-  <env:Body>
-    <test:echoOk xmlns:test="http://example.org/ts-tests">
-      foo
-    </test:echoOk>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>encodingStyle cannot be specified on the Envelope</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T72 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
+              env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+  <env:Body>
+    <test:echoOk xmlns:test="http://example.org/ts-tests">
+      foo
+    </test:echoOk>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>encodingStyle cannot be specified on the Envelope</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T73.phpt b/ext/soap/tests/soap12/T73.phpt
index 2b632e5..9143e58 100644
--- a/ext/soap/tests/soap12/T73.phpt
+++ b/ext/soap/tests/soap12/T73.phpt
@@ -1,26 +1,26 @@
---TEST--
-SOAP 1.2: T73 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoString xmlns:test="http://example.org/ts-tests"
-                     env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <test:inputString xsi:type="xsd:string"
-            env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">hello world</test:inputString>
-    </test:echoString>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T73 echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoString xmlns:test="http://example.org/ts-tests"
+                     env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <test:inputString xsi:type="xsd:string"
+            env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">hello world</test:inputString>
+    </test:echoString>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T74.phpt b/ext/soap/tests/soap12/T74.phpt
index 6ab7194..703e187 100644
--- a/ext/soap/tests/soap12/T74.phpt
+++ b/ext/soap/tests/soap12/T74.phpt
@@ -1,28 +1,28 @@
---TEST--
-SOAP 1.2: T74 doubleHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Header>
-    <test:echoOk xmlns:test="http://example.org/ts-tests"
-          env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
-    <test:Unknown xmlns:test="http://example.org/ts-tests">
-      <test:raiseFault env:mustUnderstand="1" 
-            env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
-      </test:raiseFault>
-    </test:Unknown>
-  </env:Header>
-  <env:Body>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T74 doubleHdr
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Header>
+    <test:echoOk xmlns:test="http://example.org/ts-tests"
+          env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
+    <test:Unknown xmlns:test="http://example.org/ts-tests">
+      <test:raiseFault env:mustUnderstand="1" 
+            env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
+      </test:raiseFault>
+    </test:Unknown>
+  </env:Header>
+  <env:Body>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T75.phpt b/ext/soap/tests/soap12/T75.phpt
index ed36e2b..3e2166d 100644
--- a/ext/soap/tests/soap12/T75.phpt
+++ b/ext/soap/tests/soap12/T75.phpt
@@ -1,28 +1,28 @@
---TEST--
-SOAP 1.2: T75 echoResolvedRef
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
- <env:Header>
-  <test:echoResolvedRef xmlns:test="http://example.org/ts-tests"
-        env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
-        env:mustUnderstand="1">
-    <test:RelativeReference xml:base="http://example.org/today/"
-          xlink:href="new.xml"
-          xmlns:xlink="http://www.w3.org/1999/xlink" />
-  </test:echoResolvedRef>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseResolvedRef>http://example.org/today/new.xml</ns1:responseResolvedRef></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T75 echoResolvedRef
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+ <env:Header>
+  <test:echoResolvedRef xmlns:test="http://example.org/ts-tests"
+        env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
+        env:mustUnderstand="1">
+    <test:RelativeReference xml:base="http://example.org/today/"
+          xlink:href="new.xml"
+          xmlns:xlink="http://www.w3.org/1999/xlink" />
+  </test:echoResolvedRef>
+ </env:Header>
+ <env:Body>
+ </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseResolvedRef>http://example.org/today/new.xml</ns1:responseResolvedRef></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T76_1.phpt b/ext/soap/tests/soap12/T76_1.phpt
index 33f97c3..e97c179 100644
--- a/ext/soap/tests/soap12/T76_1.phpt
+++ b/ext/soap/tests/soap12/T76_1.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP 1.2: T76.1 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:echoString xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputString xsi:type="xsd:string">hello world</inputString>
-    </test:echoString>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T76.1 echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:echoString xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputString xsi:type="xsd:string">hello world</inputString>
+    </test:echoString>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T76_2.phpt b/ext/soap/tests/soap12/T76_2.phpt
index d21d15f..cc6ea0d 100644
--- a/ext/soap/tests/soap12/T76_2.phpt
+++ b/ext/soap/tests/soap12/T76_2.phpt
@@ -1,32 +1,32 @@
---TEST--
-SOAP 1.2: T76.2 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-              xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
-  <env:Header>
-    <test:DataHolder xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <test:Data enc:id="data" xsi:type="xsd:string">hello world</test:Data>
-    </test:DataHolder>
-  </env:Header>
-  <env:Body>
-    <test:echoString xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputString enc:ref="data" xsi:type="xsd:string" />
-    </test:echoString>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T76.2 echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
+  <env:Header>
+    <test:DataHolder xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <test:Data enc:id="data" xsi:type="xsd:string">hello world</test:Data>
+    </test:DataHolder>
+  </env:Header>
+  <env:Body>
+    <test:echoString xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputString enc:ref="data" xsi:type="xsd:string" />
+    </test:echoString>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T77_1.phpt b/ext/soap/tests/soap12/T77_1.phpt
index 59b7929..d847b6c 100644
--- a/ext/soap/tests/soap12/T77_1.phpt
+++ b/ext/soap/tests/soap12/T77_1.phpt
@@ -1,25 +1,25 @@
---TEST--
-SOAP 1.2: T77.1 isNil
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:isNil xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputString xsi:nil="1" />
-    </test:isNil>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">true</return></ns1:isNilResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T77.1 isNil
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:isNil xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputString xsi:nil="1" />
+    </test:isNil>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">true</return></ns1:isNilResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T77_2.phpt b/ext/soap/tests/soap12/T77_2.phpt
index 3d8e995..c829b57 100644
--- a/ext/soap/tests/soap12/T77_2.phpt
+++ b/ext/soap/tests/soap12/T77_2.phpt
@@ -1,24 +1,24 @@
---TEST--
-SOAP 1.2: T77.2 isNil
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:isNil xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-    </test:isNil>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">true</return></ns1:isNilResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T77.2 isNil
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:isNil xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+    </test:isNil>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">true</return></ns1:isNilResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T77_3.phpt b/ext/soap/tests/soap12/T77_3.phpt
index 3eda19e..0e1355a 100644
--- a/ext/soap/tests/soap12/T77_3.phpt
+++ b/ext/soap/tests/soap12/T77_3.phpt
@@ -1,27 +1,27 @@
---TEST--
-SOAP 1.2: T77.3 isNul
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
-              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <env:Body>
-    <test:isNil xmlns:test="http://example.org/ts-tests"
-          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
-      <inputString xsi:type="xsd:string">
-        This is a string
-      </inputString>
-    </test:isNil>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">false</return></ns1:isNilResponse></env:Body></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T77.3 isNul
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
+              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <env:Body>
+    <test:isNil xmlns:test="http://example.org/ts-tests"
+          env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
+      <inputString xsi:type="xsd:string">
+        This is a string
+      </inputString>
+    </test:isNil>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">false</return></ns1:isNilResponse></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T78.phpt b/ext/soap/tests/soap12/T78.phpt
index 24e8462..63d13c7 100644
--- a/ext/soap/tests/soap12/T78.phpt
+++ b/ext/soap/tests/soap12/T78.phpt
@@ -1,23 +1,23 @@
---TEST--
-SOAP 1.2: T78 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
- <env:Header>
-  <test:echoOk xmlns:test="http://example.org/ts-tests"
-        env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
+--TEST--
+SOAP 1.2: T78 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version='1.0' ?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+ <env:Header>
+  <test:echoOk xmlns:test="http://example.org/ts-tests"
+        env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:echoOk>
+ </env:Header>
+ <env:Body>
+ </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
+ok
diff --git a/ext/soap/tests/soap12/T80.phpt b/ext/soap/tests/soap12/T80.phpt
index 7b1588c..1ac114b 100644
--- a/ext/soap/tests/soap12/T80.phpt
+++ b/ext/soap/tests/soap12/T80.phpt
@@ -1,19 +1,19 @@
---TEST--
-SOAP 1.2: T80 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
-  <env:Body>
-    <test:echoOk xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://example.org/PoisonEncoding">foo</test:echoOk>
-  </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:DataEncodingUnknown</env:Value></env:Code><env:Reason><env:Text>Unknown Data Encoding Style</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
+--TEST--
+SOAP 1.2: T80 echoOk
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
+  <env:Body>
+    <test:echoOk xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://example.org/PoisonEncoding">foo</test:echoOk>
+  </env:Body>
+</env:Envelope>
+EOF;
+include "soap12-test.inc";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:DataEncodingUnknown</env:Value></env:Code><env:Reason><env:Text>Unknown Data Encoding Style</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/soap12-test.inc b/ext/soap/tests/soap12/soap12-test.inc
index 7b2e2ef..fbdc855 100644
--- a/ext/soap/tests/soap12/soap12-test.inc
+++ b/ext/soap/tests/soap12/soap12-test.inc
@@ -1,131 +1,131 @@
-<?php
-class Soap12test {
-	public $header;
-
-	function echoOk($x) {
-  	return $x;
-	}
-
-	function echoString($inputString) {
-		return $inputString;
-	}
-
-	function echoStringArray($inputStringArray) {
-		return $inputStringArray;
-	}
-
-	function echoInteger($inputInteger) {
-		return $inputInteger;
-	}
-
-	function echoIntegerArray($inputIntegerArray) {
-		return $inputIntegerArray;
-	}
-
-	function echoFloat($inputFloat) {
-		return $inputFloat;
-	}
-
-	function echoFloatArray($inputFloatArray) {
-		return $inputFloatArray;
-  }
-
-	function echoStruct($x) {
-  	return $x;
-	}
-
-	function echoStructArray($x) {
-  	return $x;
-	}
-
-	function echoVoid() {
-		return NULL;
-	}
-
-	function echoBase64($b_encoded) {
-		return $b_encoded;
-  }
-
-	function echoDate($timeInstant) {
-		return $timeInstant;
-	}
-
-	function echoHexBinary($hb) {
-		return $hb;
-	}
-
-	function echoDecimal($dec) {
-		return $dec;
-	}
-
-	function echoBoolean($boolean) {
-		return $boolean;
-	}
-
-	function echoStructAsSimpleTypes ($struct) {
-		 return array('outputString'  => $struct->varString,
-		              'outputInteger' => $struct->varInt,
-		              'outputFloat'   => $struct->varFloat);
-	}
-
-	function echoSimpleTypesAsStruct($string, $int, $float) {
-		return (object)array("varString" => $string,
-		 										 "varInt"    => $int,
-	  										 "varFloat"  => $float);
-	}
-
-	function echoNestedStruct($struct) {
-		return $struct;
-	}
-
-	function echo2DStringArray($ary) {
-		return $ary;
-	}
-
-	function echoNestedArray($ary) {
-		return $ary;
-	}
-
-	function countItems($input) {
-		return count($input);
-	}
-
-	function isNil($input) {
-		return is_null($input);
-	}
-
-	function returnVoid() {
-	}
-
-	function emptyBody() {
-	}
-
-	function requiredHeader($x) {
-		$this->header = $x;
-	}
-
-	function echoHeader() {
-	  return $this->header;
-	}
-
-	function echoResolvedRef($ref) {
-	  return $ref->RelativeReference->base.$ref->RelativeReference->href;
-	}
-
-	function validateCountryCode($code) {
-		if (strlen($code) != 2) {
-		  return new SoapFault("Client", "Not a valid country code", NULL, NULL, NULL, new SoapHeader("http://example.org/ts-tests", "validateCountryCodeFault", "Country code must be 2 letters."));
-		} else {
-			return "OK";
-		}
-	}
-
-}
-
-ini_set("soap.wsdl_cache_enabled",0);
-$server = new soapserver(dirname(__FILE__)."/soap12-test.wsdl", array('soap_version'=>SOAP_1_2,'actor'=>"http://example.org/ts-tests/C"));
-$server->setClass("Soap12test");
-
-$server->handle($HTTP_RAW_POST_DATA);
-echo "ok\n";
-?>
+<?php
+class Soap12test {
+	public $header;
+
+	function echoOk($x) {
+  	return $x;
+	}
+
+	function echoString($inputString) {
+		return $inputString;
+	}
+
+	function echoStringArray($inputStringArray) {
+		return $inputStringArray;
+	}
+
+	function echoInteger($inputInteger) {
+		return $inputInteger;
+	}
+
+	function echoIntegerArray($inputIntegerArray) {
+		return $inputIntegerArray;
+	}
+
+	function echoFloat($inputFloat) {
+		return $inputFloat;
+	}
+
+	function echoFloatArray($inputFloatArray) {
+		return $inputFloatArray;
+  }
+
+	function echoStruct($x) {
+  	return $x;
+	}
+
+	function echoStructArray($x) {
+  	return $x;
+	}
+
+	function echoVoid() {
+		return NULL;
+	}
+
+	function echoBase64($b_encoded) {
+		return $b_encoded;
+  }
+
+	function echoDate($timeInstant) {
+		return $timeInstant;
+	}
+
+	function echoHexBinary($hb) {
+		return $hb;
+	}
+
+	function echoDecimal($dec) {
+		return $dec;
+	}
+
+	function echoBoolean($boolean) {
+		return $boolean;
+	}
+
+	function echoStructAsSimpleTypes ($struct) {
+		 return array('outputString'  => $struct->varString,
+		              'outputInteger' => $struct->varInt,
+		              'outputFloat'   => $struct->varFloat);
+	}
+
+	function echoSimpleTypesAsStruct($string, $int, $float) {
+		return (object)array("varString" => $string,
+		 										 "varInt"    => $int,
+	  										 "varFloat"  => $float);
+	}
+
+	function echoNestedStruct($struct) {
+		return $struct;
+	}
+
+	function echo2DStringArray($ary) {
+		return $ary;
+	}
+
+	function echoNestedArray($ary) {
+		return $ary;
+	}
+
+	function countItems($input) {
+		return count($input);
+	}
+
+	function isNil($input) {
+		return is_null($input);
+	}
+
+	function returnVoid() {
+	}
+
+	function emptyBody() {
+	}
+
+	function requiredHeader($x) {
+		$this->header = $x;
+	}
+
+	function echoHeader() {
+	  return $this->header;
+	}
+
+	function echoResolvedRef($ref) {
+	  return $ref->RelativeReference->base.$ref->RelativeReference->href;
+	}
+
+	function validateCountryCode($code) {
+		if (strlen($code) != 2) {
+		  return new SoapFault("Client", "Not a valid country code", NULL, NULL, NULL, new SoapHeader("http://example.org/ts-tests", "validateCountryCodeFault", "Country code must be 2 letters."));
+		} else {
+			return "OK";
+		}
+	}
+
+}
+
+ini_set("soap.wsdl_cache_enabled",0);
+$server = new soapserver(dirname(__FILE__)."/soap12-test.wsdl", array('soap_version'=>SOAP_1_2,'actor'=>"http://example.org/ts-tests/C"));
+$server->setClass("Soap12test");
+
+$server->handle($HTTP_RAW_POST_DATA);
+echo "ok\n";
+?>
diff --git a/ext/sockets/config.m4 b/ext/sockets/config.m4
index 8ebd25b..ce18979 100644
--- a/ext/sockets/config.m4
+++ b/ext/sockets/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.15.4.1.2.1 2007/07/22 22:18:41 jani Exp $
+dnl $Id: config.m4 240160 2007-07-22 22:18:41Z jani $
 dnl
 
 PHP_ARG_ENABLE(sockets, whether to enable sockets support,
diff --git a/ext/sockets/config.w32 b/ext/sockets/config.w32
index 936febf..8de93bf 100644
--- a/ext/sockets/config.w32
+++ b/ext/sockets/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1 2003/12/19 17:00:12 wez Exp $
+// $Id: config.w32 146917 2003-12-19 17:00:14Z wez $
 // vim:ft=javascript
 
 ARG_ENABLE("sockets", "SOCKETS support", "no");
diff --git a/ext/sockets/php_sockets.h b/ext/sockets/php_sockets.h
index 85357f7..280bdf6 100644
--- a/ext/sockets/php_sockets.h
+++ b/ext/sockets/php_sockets.h
@@ -22,7 +22,7 @@
 #ifndef PHP_SOCKETS_H
 #define PHP_SOCKETS_H
 
-/* $Id: php_sockets.h,v 1.36.2.1.2.6 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_sockets.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #if HAVE_SOCKETS
 
diff --git a/ext/sockets/php_sockets_win.c b/ext/sockets/php_sockets_win.c
index bacebb8..c071bed 100644
--- a/ext/sockets/php_sockets_win.c
+++ b/ext/sockets/php_sockets_win.c
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_sockets_win.c,v 1.12.2.1.2.4 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_sockets_win.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #ifdef PHP_WIN32
diff --git a/ext/sockets/php_sockets_win.h b/ext/sockets/php_sockets_win.h
index 120addf..ffbc020 100644
--- a/ext/sockets/php_sockets_win.h
+++ b/ext/sockets/php_sockets_win.h
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_sockets_win.h,v 1.12.2.1.2.4 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: php_sockets_win.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #ifdef PHP_WIN32
diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c
index a0b7dbd..f417efa 100644
--- a/ext/sockets/sockets.c
+++ b/ext/sockets/sockets.c
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: sockets.c,v 1.171.2.9.2.26 2009/06/04 18:17:28 andrei Exp $ */
+/* $Id: sockets.c 288034 2009-09-04 07:59:48Z srinatar $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -228,14 +228,14 @@ static int php_open_listen_sock(php_socket **php_sock, int port, int backlog TSR
 
 	sock->type = PF_INET;
 
-	if (bind(sock->bsd_socket, (struct sockaddr *)&la, sizeof(la)) < 0) {
+	if (bind(sock->bsd_socket, (struct sockaddr *)&la, sizeof(la)) != 0) {
 		PHP_SOCKET_ERROR(sock, "unable to bind to given address", errno);
 		close(sock->bsd_socket);
 		efree(sock);
 		return 0;
 	}
 
-	if (listen(sock->bsd_socket, backlog) < 0) {
+	if (listen(sock->bsd_socket, backlog) != 0) {
 		PHP_SOCKET_ERROR(sock, "unable to listen on socket", errno);
 		close(sock->bsd_socket);
 		efree(sock);
diff --git a/ext/sockets/tests/bug46360.phpt b/ext/sockets/tests/bug46360.phpt
new file mode 100644
index 0000000..c725a82
--- /dev/null
+++ b/ext/sockets/tests/bug46360.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Bug 46360 - TCP_NODELAY constant (sock_get_option, sock_set_option)
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (version_compare(phpversion(), '5.2.7', '<')) {
+        die('skip old php, not eligible');
+    }
+?>
+--FILE--
+<?php
+    var_dump('TCP_NODELAY');
+?>
+--EXPECT--
+string(11) "TCP_NODELAY"
diff --git a/ext/sockets/tests/socket_bind.phpt b/ext/sockets/tests/socket_bind.phpt
new file mode 100644
index 0000000..15181e6
--- /dev/null
+++ b/ext/sockets/tests/socket_bind.phpt
@@ -0,0 +1,38 @@
+--TEST--
+ext/sockets - socket_bind - basic test
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip - sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999);
+    $s_c     = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
+    $s_bind  = socket_bind($s_c, '0.0.0.0', 31330+$rand);
+    var_dump($s_bind);
+    
+    // Connect to destination address
+    $s_conn  = socket_connect($s_c, 'www.php.net', 80);
+    var_dump($s_conn);
+    
+    // Write
+    $request = 'GET / HTTP/1.1' . "\r\n";
+    $s_write = socket_write($s_c, $request);
+    var_dump($s_write);
+
+    // Close
+    $s_close = socket_close($s_c);
+    var_dump($s_close);
+?>
+
+--EXPECTF--
+bool(true)
+bool(true)
+int(16)
+NULL
+
diff --git a/ext/sockets/tests/socket_bind_params.phpt b/ext/sockets/tests/socket_bind_params.phpt
new file mode 100644
index 0000000..d68a62a
--- /dev/null
+++ b/ext/sockets/tests/socket_bind_params.phpt
@@ -0,0 +1,29 @@
+--TEST--
+ext/sockets - socket_bind - test with empty parameters
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip - sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999);
+    $s_c = socket_create_listen(31330+$rand);
+    $s_w = socket_bind();
+    var_dump($s_w);
+    $s_w = socket_bind($s_c);
+    var_dump($s_w);    
+    socket_close($s_c);
+
+?>
+--EXPECTF--
+
+Warning: socket_bind() expects at least 2 parameters, 0 given in %s on line %i
+NULL
+
+Warning: socket_bind() expects at least 2 parameters, 1 given in %s on line %i
+NULL
diff --git a/ext/sockets/tests/socket_close_params.phpt b/ext/sockets/tests/socket_close_params.phpt
new file mode 100644
index 0000000..a00330f
--- /dev/null
+++ b/ext/sockets/tests/socket_close_params.phpt
@@ -0,0 +1,21 @@
+--TEST--
+ext/sockets - socket_close - test with empty parameters
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip - sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    // wrong parameter count
+    $s_c = socket_close();
+    var_dump($s_c);  
+?>
+--EXPECTF--
+
+Warning: socket_close() expects exactly 1 parameter, 0 given in %s on line %i
+NULL
diff --git a/ext/sockets/tests/socket_connect_error.phpt b/ext/sockets/tests/socket_connect_error.phpt
new file mode 100644
index 0000000..33e60f3
--- /dev/null
+++ b/ext/sockets/tests/socket_connect_error.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Test error cases when creating a socket
+--CREDITS--
+Russell Flynn <russ at redpill-linpro.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--INI--
+error_reporting=E_ALL
+display_errors=1
+--SKIPIF--
+<?php
+  if (!extension_loaded('sockets')) {
+  echo 'skip sockets extension not available.';
+}
+?>
+--FILE--
+<?php
+  // Test with no arguments
+  $server = socket_create();
+  
+  // Test with less arguments than required
+  $server = socket_create(SOCK_STREAM, getprotobyname('tcp'));
+  
+  // Test with non integer parameters
+  $server = socket_create(array(), 1, 1);
+  
+?>
+--EXPECTF--
+Warning: socket_create() expects exactly 3 parameters, 0 given in %s on line %d
+
+Warning: socket_create() expects exactly 3 parameters, 2 given in %s on line %d
+
+Warning: socket_create() expects parameter 1 to be long, array given in %s on line %d
+
diff --git a/ext/sockets/tests/socket_connect_params.phpt b/ext/sockets/tests/socket_connect_params.phpt
new file mode 100644
index 0000000..c8dff06
--- /dev/null
+++ b/ext/sockets/tests/socket_connect_params.phpt
@@ -0,0 +1,33 @@
+--TEST--
+ext/sockets - socket_connect - test with empty parameters
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip - sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999); 
+    $s_c = socket_create_listen(31330+$rand);
+    // wrong parameter count
+    $s_w = socket_connect();
+    $s_w = socket_connect($s_c);
+    $s_w = socket_connect($s_c, '0.0.0.0');
+    $s_w = socket_connect($s_c, '0.0.0.0', 31330+$rand);
+    
+    socket_close($s_c);
+
+?>
+--EXPECTF--
+
+Warning: socket_connect() expects at least 2 parameters, 0 given in %s on line %i
+
+Warning: socket_connect() expects at least 2 parameters, 1 given in %s on line %i
+
+Warning: socket_connect(): Socket of type AF_INET requires 3 arguments in %s on line %i
+
+Warning: socket_connect(): unable to connect [%i]: Transport endpoint is already connected in %s on line %i
diff --git a/ext/sockets/tests/socket_create_listen.phpt b/ext/sockets/tests/socket_create_listen.phpt
index 6d607ca..440fade 100644
--- a/ext/sockets/tests/socket_create_listen.phpt
+++ b/ext/sockets/tests/socket_create_listen.phpt
@@ -1,5 +1,5 @@
 --TEST--
-Test if socket binds on 31337
+Test if socket binds on 31338
 --SKIPIF--
 <?php
 if (!extension_loaded('sockets')) {
@@ -7,12 +7,12 @@ if (!extension_loaded('sockets')) {
 }
 --FILE--
 <?php
-$sock = socket_create_listen(31337);
+$sock = socket_create_listen(31338);
 socket_getsockname($sock, $addr, $port); 
 var_dump($addr, $port);
 --EXPECT--
 string(7) "0.0.0.0"
-int(31337)
+int(31338)
 --CREDITS--
 Till Klampaeckel, till at php.net
 PHP Testfest Berlin 2009-05-09
diff --git a/ext/sockets/tests/socket_create_listen_params.phpt b/ext/sockets/tests/socket_create_listen_params.phpt
new file mode 100644
index 0000000..56a9c8d
--- /dev/null
+++ b/ext/sockets/tests/socket_create_listen_params.phpt
@@ -0,0 +1,23 @@
+--TEST--
+ext/sockets - socket_create_listen - test for empty parameters
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip - sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999);
+    $s_c_l = socket_create_listen();
+    var_dump($s_c_l);
+    if ($s_c_l !== false) {
+        @socket_close($s_c_l);
+    }
+?>
+--EXPECTF--
+Warning: socket_create_listen() expects at least 1 parameter, 0 given in %s on line %i
+NULL
diff --git a/ext/sockets/tests/socket_create_listen_used.phpt b/ext/sockets/tests/socket_create_listen_used.phpt
new file mode 100644
index 0000000..d89f1b7
--- /dev/null
+++ b/ext/sockets/tests/socket_create_listen_used.phpt
@@ -0,0 +1,30 @@
+--TEST--
+ext/sockets - socket_create_listen - test for used socket
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip - sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999);
+    // wrong parameter count
+    $s_c_l = socket_create_listen(31330+$rand);
+    var_dump($s_c_l);
+    // default invocation
+    $s_c_l2 = socket_create_listen(31330+$rand);
+    var_dump($s_c_l2);
+    socket_close($s_c_l2);
+    socket_close($s_c_l);
+?>
+--EXPECTF--
+resource(%i) of type (Socket)
+
+Warning: socket_create_listen(): unable to bind to given address [%i]: Address already in use in %s on line %i
+bool(false)
+
+Warning: socket_close() expects parameter 1 to be resource, boolean given in %s on line %i
diff --git a/ext/sockets/tests/socket_create_pair-wrongparams.phpt b/ext/sockets/tests/socket_create_pair-wrongparams.phpt
index 64c5048..99512bc 100644
--- a/ext/sockets/tests/socket_create_pair-wrongparams.phpt
+++ b/ext/sockets/tests/socket_create_pair-wrongparams.phpt
@@ -24,17 +24,17 @@ NULL
 Warning: socket_create_pair() expects parameter 1 to be long, %unicode_string_optional% given in %s on line %d
 NULL
 
-Warning: socket_create_pair(): unable to create socket pair [94]: Socket type not supported in %s on line %d
+Warning: socket_create_pair(): unable to create socket pair [%d]: %s not supported in %s on line %d
 bool(false)
 
 Warning: socket_create_pair(): invalid socket domain [31337] specified for argument 1, assuming AF_INET in %s on line %d
 
-Warning: socket_create_pair(): unable to create socket pair [94]: Socket type not supported in %s on line %d
+Warning: socket_create_pair(): unable to create socket pair [%d]: %s not supported in %s on line %d
 bool(false)
 
 Warning: socket_create_pair(): invalid socket type [31337] specified for argument 2, assuming SOCK_STREAM in %s on line %d
 
-Warning: socket_create_pair(): unable to create socket pair [95]: Operation not supported in %s on line %d
+Warning: socket_create_pair(): unable to create socket pair [%d]: %s not supported %s on line %d
 bool(false)
 --CREDITS--
 Till Klampaeckel, till at php.net
diff --git a/ext/sockets/tests/socket_create_params.phpt b/ext/sockets/tests/socket_create_params.phpt
new file mode 100644
index 0000000..13a1c73
--- /dev/null
+++ b/ext/sockets/tests/socket_create_params.phpt
@@ -0,0 +1,24 @@
+--TEST--
+ext/sockets - socket_create - test with empty parameters
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $s_w = socket_create();
+    $s_w = socket_create(AF_INET);
+    $s_w = socket_create(AF_INET, SOCK_STREAM);
+?>
+--EXPECTF--
+
+Warning: socket_create() expects exactly 3 parameters, 0 given in %s on line %i
+
+Warning: socket_create() expects exactly 3 parameters, 1 given in %s on line %i
+
+Warning: socket_create() expects exactly 3 parameters, 2 given in %s on line %i
diff --git a/ext/sockets/tests/socket_getpeername.phpt b/ext/sockets/tests/socket_getpeername.phpt
new file mode 100644
index 0000000..2252992
--- /dev/null
+++ b/ext/sockets/tests/socket_getpeername.phpt
@@ -0,0 +1,33 @@
+--TEST--
+ext/sockets - socket_getsockname - basic test
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999);
+    $s_c     = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
+    $s_bind  = socket_bind($s_c, '0.0.0.0', 31330+$rand);
+    var_dump($s_bind);
+    
+    // Connect to destination address
+    $s_peer  = socket_getpeername($s_c, $ip, $port);
+    var_dump($s_peer);
+    var_dump($ip);
+    var_dump($port);
+    socket_close($s_c);
+?>
+
+--EXPECTF--
+bool(true)
+
+Warning: socket_getpeername(): unable to retrieve peer name [%i]: Transport endpoint is not connected in %s on line %i
+bool(false)
+NULL
+NULL
diff --git a/ext/sockets/tests/socket_getpeername_ipv4loop.phpt b/ext/sockets/tests/socket_getpeername_ipv4loop.phpt
new file mode 100644
index 0000000..aa59abb
--- /dev/null
+++ b/ext/sockets/tests/socket_getpeername_ipv4loop.phpt
@@ -0,0 +1,59 @@
+--TEST--
+ext/sockets - socket_getpeername_ipv4loop - basic test
+--CREDITS--
+# TestFest 2009 - NorwayUG
+# $Id: socket_getpeername_ipv4loop.phpt 494 2009-06-09 20:38:05Z tatjana.andersen at redpill-linpro.com $
+--SKIPIF--
+<?php   
+        if (!extension_loaded('sockets')) {
+                die('skip sockets extension not available.');
+        }
+?>
+--FILE--
+<?php   
+	/* Bind and connect sockets to localhost */
+	$localhost = '127.0.0.1';
+
+	/* Hold the port associated to address */
+	$port = 31337; 
+
+        /* Setup socket server */
+        $server = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
+        if (!$server) {
+                die('Unable to create AF_INET socket [server]');
+        }
+	
+        if (!socket_bind($server, $localhost, $port)) {
+                die('Unable to bind to '.$localhost.':'.$port);
+        }
+        if (!socket_listen($server, 2)) {
+                die('Unable to listen on socket');
+        }
+
+        /* Connect to it */
+        $client = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
+        if (!$client) {
+                die('Unable to create AF_INET socket [client]');
+        }
+        if (!socket_connect($client, $localhost, $port)) {
+                die('Unable to connect to server socket');
+        }
+
+        /* Accept that connection */
+        $socket = socket_accept($server);
+        if (!$socket) {
+                die('Unable to accept connection');
+        }
+
+	if (!socket_getpeername($client, $address, $port)) {
+	   	die('Unable to retrieve peer name');
+	}
+        var_dump($address, $port);
+
+        socket_close($client);
+        socket_close($socket);
+        socket_close($server);
+?>
+--EXPECT--
+string(9) "127.0.0.1"
+int(31337)
diff --git a/ext/sockets/tests/socket_getpeername_ipv6loop.phpt b/ext/sockets/tests/socket_getpeername_ipv6loop.phpt
new file mode 100644
index 0000000..ba3c134
--- /dev/null
+++ b/ext/sockets/tests/socket_getpeername_ipv6loop.phpt
@@ -0,0 +1,59 @@
+--TEST--
+ext/sockets - socket_getpeername_ipv6loop - basic test
+--CREDITS--
+# TestFest 2009 - NorwayUG
+# $Id: socket_getpeername_ipv6loop.phpt 494 2009-06-09 20:38:05Z tatjana.andersen at redpill-linpro.com $
+--SKIPIF--
+<?php   
+        if (!extension_loaded('sockets')) {
+                die('skip sockets extension not available.');
+        }
+?>
+--FILE--
+<?php   
+	/* Bind and connect sockets to localhost */
+	$localhost = '::1';
+
+	/* Hold the port associated to address */
+	$port = 31337;
+	
+        /* Setup socket server */
+        $server = socket_create(AF_INET6, SOCK_STREAM, getprotobyname('tcp'));
+        if (!$server) {
+                die('Unable to create AF_INET6 socket [server]');
+        }
+	
+        if (!socket_bind($server, $localhost, $port)) {
+                die('Unable to bind to '.$localhost.':'.$port);
+        }
+        if (!socket_listen($server, 2)) {
+                die('Unable to listen on socket');
+        }
+
+        /* Connect to it */
+        $client = socket_create(AF_INET6, SOCK_STREAM, getprotobyname('tcp'));
+        if (!$client) {
+                die('Unable to create AF_INET6 socket [client]');
+        }
+        if (!socket_connect($client, $localhost, $port)) {
+                die('Unable to connect to server socket');
+        }
+
+        /* Accept that connection */
+        $socket = socket_accept($server);
+        if (!$socket) {
+	        die('Unable to accept connection');
+        }
+
+	if (!socket_getpeername($client, $address, $port)) {
+	   	die('Unable to retrieve peer name');
+	}
+        var_dump($address, $port);
+
+        socket_close($client);
+        socket_close($socket);
+        socket_close($server);
+?>
+--EXPECT--
+string(3) "::1"
+int(31337)
diff --git a/ext/sockets/tests/socket_getsockname.phpt b/ext/sockets/tests/socket_getsockname.phpt
new file mode 100644
index 0000000..877bef5
--- /dev/null
+++ b/ext/sockets/tests/socket_getsockname.phpt
@@ -0,0 +1,32 @@
+--TEST--
+ext/sockets - socket_getsockname - basic test
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999);
+    $s_c     = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
+    $s_bind  = socket_bind($s_c, '0.0.0.0', 31330+$rand);
+    var_dump($s_bind);
+    
+    // Connect to destination address
+    $s_conn  = socket_getsockname($s_c, $ip, $port);
+    var_dump($s_conn);
+    var_dump($ip);
+    var_dump($port);
+    socket_close($s_c);
+?>
+
+--EXPECTF--
+bool(true)
+bool(true)
+string(7) "0.0.0.0"
+int(%i)
+
diff --git a/ext/sockets/tests/socket_listen_params.phpt b/ext/sockets/tests/socket_listen_params.phpt
new file mode 100644
index 0000000..65c1117
--- /dev/null
+++ b/ext/sockets/tests/socket_listen_params.phpt
@@ -0,0 +1,21 @@
+--TEST--
+ext/sockets - socket_listen - test with empty parameters
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    // wrong parameter count
+    $s_c = socket_listen();
+    var_dump($s_c);  
+?>
+--EXPECTF--
+
+Warning: socket_listen() expects at least 1 parameter, 0 given in %s on line %i
+NULL
diff --git a/ext/sockets/tests/socket_read_params.phpt b/ext/sockets/tests/socket_read_params.phpt
new file mode 100644
index 0000000..69af710
--- /dev/null
+++ b/ext/sockets/tests/socket_read_params.phpt
@@ -0,0 +1,28 @@
+--TEST--
+ext/sockets - socket_read- test with empty parameters
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999);
+    // wrong parameter count
+    $s_c = socket_read();
+    $s_c = socket_read(14);
+    $s_c_l = socket_create_listen(31330+$rand);
+    $s_c = socket_read($s_c_l, 25);
+    socket_close($s_c_l);
+?>
+--EXPECTF--
+
+Warning: socket_read() expects at least 2 parameters, 0 given in %s on line %i
+
+Warning: socket_read() expects at least 2 parameters, 1 given in %s on line %i
+
+Warning: socket_read(): unable to read from socket [%i]: Transport endpoint is not connected in %s on line %i
diff --git a/ext/sockets/tests/socket_sentto_recvfrom_ipv4_udp.phpt b/ext/sockets/tests/socket_sentto_recvfrom_ipv4_udp.phpt
index 64b657a..8b7ed0b 100644
--- a/ext/sockets/tests/socket_sentto_recvfrom_ipv4_udp.phpt
+++ b/ext/sockets/tests/socket_sentto_recvfrom_ipv4_udp.phpt
@@ -44,7 +44,7 @@ if (!extension_loaded('sockets')) {
 
     socket_close($socket);
 --EXPECTF--
-Warning: socket_recvfrom(): unable to recvfrom [11]: Resource temporarily unavailable in %s on line %d
+Warning: socket_recvfrom(): unable to recvfrom [%d]: Resource temporarily unavailable in %s on line %d
 
 Warning: Wrong parameter count for socket_sendto() in %s on line %d
 
diff --git a/ext/sockets/tests/socket_sentto_recvfrom_unix.phpt b/ext/sockets/tests/socket_sentto_recvfrom_unix.phpt
index 94eac3b..ab11189 100644
--- a/ext/sockets/tests/socket_sentto_recvfrom_unix.phpt
+++ b/ext/sockets/tests/socket_sentto_recvfrom_unix.phpt
@@ -26,8 +26,10 @@ if (!extension_loaded('sockets')) {
     $bytes_sent = socket_sendto($socket, $msg, $len, 0); // cause warning
     $bytes_sent = socket_sendto($socket, $msg, $len, 0, $address);
     if ($bytes_sent == -1) {
+		@unlink($address);
         die('An error occured while sending to the socket');
     } else if ($bytes_sent != $len) {
+		@unlink($address);
         die($bytes_sent . ' bytes have been sent instead of the ' . $len . ' bytes expected');
     }
 
@@ -35,17 +37,21 @@ if (!extension_loaded('sockets')) {
     var_dump(socket_recvfrom($socket, $buf, 0, 0, $from)); // expect false
     $bytes_received = socket_recvfrom($socket, $buf, 12, 0, $from);
     if ($bytes_received == -1) {
+		@unlink($address);
         die('An error occured while receiving from the socket');
     } else if ($bytes_received != $len) {
+		@unlink($address);
         die($bytes_received . ' bytes have been received instead of the ' . $len . ' bytes expected');
     }
     echo "Received $buf";
 
     socket_close($socket);
+	@unlink($address);
+?>
 --EXPECTF--
-Warning: socket_create(): Unable to create socket [93]: Protocol not supported in %s on line %d
+Warning: socket_create(): Unable to create socket [%d]: Protocol not supported in %s on line %d
 
-Warning: socket_recvfrom(): unable to recvfrom [11]: Resource temporarily unavailable in %s on line %d
+Warning: socket_recvfrom(): unable to recvfrom [%d]: Resource temporarily unavailable in %s on line %d
 
 Warning: socket_sendto() expects at least 5 parameters, 4 given in %s on line %d
 bool(false)
diff --git a/ext/sockets/tests/socket_set_block-retval.phpt b/ext/sockets/tests/socket_set_block-retval.phpt
index fe09d5a..2aa4b0e 100644
--- a/ext/sockets/tests/socket_set_block-retval.phpt
+++ b/ext/sockets/tests/socket_set_block-retval.phpt
@@ -9,11 +9,11 @@ if (!extension_loaded('sockets')) {
 --FILE--
 <?php
 
-$socket = socket_create_listen(31337);
+$socket = socket_create_listen(31339);
 var_dump(socket_set_block($socket));
 socket_close($socket);
 
-$socket2 = socket_create_listen(31338);
+$socket2 = socket_create_listen(31340);
 socket_close($socket2);
 var_dump(socket_set_block($socket2));
 
diff --git a/ext/sockets/tests/socket_set_nonblock-retval.phpt b/ext/sockets/tests/socket_set_nonblock-retval.phpt
index 3c4b515..b908618 100644
--- a/ext/sockets/tests/socket_set_nonblock-retval.phpt
+++ b/ext/sockets/tests/socket_set_nonblock-retval.phpt
@@ -9,11 +9,11 @@ if (!extension_loaded('sockets')) {
 --FILE--
 <?php
 
-$socket = socket_create_listen(31337);
+$socket = socket_create_listen(31339);
 var_dump(socket_set_nonblock($socket));
 socket_close($socket);
 
-$socket2 = socket_create_listen(31338);
+$socket2 = socket_create_listen(31340);
 socket_close($socket2);
 var_dump(socket_set_nonblock($socket2));
 
diff --git a/ext/sockets/tests/socket_set_nonblock.phpt b/ext/sockets/tests/socket_set_nonblock.phpt
new file mode 100644
index 0000000..55137d3
--- /dev/null
+++ b/ext/sockets/tests/socket_set_nonblock.phpt
@@ -0,0 +1,24 @@
+--TEST--
+ext/sockets - socket_set_block - basic test
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999);
+    $s_c_l = socket_create_listen(31330+$rand);
+    socket_set_nonblock($s_c_l);
+    var_dump($s_c_l);
+    #socket_accept($s_c_l);
+    socket_close($s_c_l);
+?>
+
+--EXPECTF--
+resource(%i) of type (Socket)
+
diff --git a/ext/sockets/tests/socket_strerror.phpt b/ext/sockets/tests/socket_strerror.phpt
new file mode 100644
index 0000000..074d2ff
--- /dev/null
+++ b/ext/sockets/tests/socket_strerror.phpt
@@ -0,0 +1,154 @@
+--TEST--
+ext/sockets - socket_strerror - basic test
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $s_s = socket_strerror();
+    for ($i=0;$i<=132;$i++) {
+        var_dump(socket_strerror($i));
+    }
+?>
+--EXPECTF--
+
+Warning: socket_strerror() expects exactly 1 parameter, 0 given in %s on line %i
+string(7) "Success"
+string(23) "Operation not permitted"
+string(25) "No such file or directory"
+string(15) "No such process"
+string(23) "Interrupted system call"
+string(18) "Input/output error"
+string(25) "No such device or address"
+string(22) "Argument list too long"
+string(17) "Exec format error"
+string(19) "Bad file descriptor"
+string(18) "No child processes"
+string(32) "Resource temporarily unavailable"
+string(22) "Cannot allocate memory"
+string(17) "Permission denied"
+string(11) "Bad address"
+string(21) "Block device required"
+string(23) "Device or resource busy"
+string(11) "File exists"
+string(25) "Invalid cross-device link"
+string(14) "No such device"
+string(15) "Not a directory"
+string(14) "Is a directory"
+string(16) "Invalid argument"
+string(29) "Too many open files in system"
+string(19) "Too many open files"
+string(30) "Inappropriate ioctl for device"
+string(14) "Text file busy"
+string(14) "File too large"
+string(23) "No space left on device"
+string(12) "Illegal seek"
+string(21) "Read-only file system"
+string(14) "Too many links"
+string(11) "Broken pipe"
+string(32) "Numerical argument out of domain"
+string(29) "Numerical result out of range"
+string(25) "Resource deadlock avoided"
+string(18) "File name too long"
+string(18) "No locks available"
+string(24) "Function not implemented"
+string(19) "Directory not empty"
+string(33) "Too many levels of symbolic links"
+string(16) "Unknown error 41"
+string(26) "No message of desired type"
+string(18) "Identifier removed"
+string(27) "Channel number out of range"
+string(24) "Level 2 not synchronized"
+string(14) "Level 3 halted"
+string(13) "Level 3 reset"
+string(24) "Link number out of range"
+string(28) "Protocol driver not attached"
+string(26) "No CSI structure available"
+string(14) "Level 2 halted"
+string(16) "Invalid exchange"
+string(26) "Invalid request descriptor"
+string(13) "Exchange full"
+string(8) "No anode"
+string(20) "Invalid request code"
+string(12) "Invalid slot"
+string(16) "Unknown error 58"
+string(20) "Bad font file format"
+string(19) "Device not a stream"
+string(17) "No data available"
+string(13) "Timer expired"
+string(24) "Out of streams resources"
+string(29) "Machine is not on the network"
+string(21) "Package not installed"
+string(16) "Object is remote"
+string(21) "Link has been severed"
+string(15) "Advertise error"
+string(13) "Srmount error"
+string(27) "Communication error on send"
+string(14) "Protocol error"
+string(18) "Multihop attempted"
+string(18) "RFS specific error"
+string(11) "Bad message"
+string(37) "Value too large for defined data type"
+string(26) "Name not unique on network"
+string(28) "File descriptor in bad state"
+string(22) "Remote address changed"
+string(38) "Can not access a needed shared library"
+string(36) "Accessing a corrupted shared library"
+string(31) ".lib section in a.out corrupted"
+string(47) "Attempting to link in too many shared libraries"
+string(37) "Cannot exec a shared library directly"
+string(49) "Invalid or incomplete multibyte or wide character"
+string(43) "Interrupted system call should be restarted"
+string(18) "Streams pipe error"
+string(14) "Too many users"
+string(30) "Socket operation on non-socket"
+string(28) "Destination address required"
+string(16) "Message too long"
+string(30) "Protocol wrong type for socket"
+string(22) "Protocol not available"
+string(22) "Protocol not supported"
+string(25) "Socket type not supported"
+string(23) "Operation not supported"
+string(29) "Protocol family not supported"
+string(40) "Address family not supported by protocol"
+string(22) "Address already in use"
+string(31) "Cannot assign requested address"
+string(15) "Network is down"
+string(22) "Network is unreachable"
+string(35) "Network dropped connection on reset"
+string(32) "Software caused connection abort"
+string(24) "Connection reset by peer"
+string(25) "No buffer space available"
+string(39) "Transport endpoint is already connected"
+string(35) "Transport endpoint is not connected"
+string(45) "Cannot send after transport endpoint shutdown"
+string(34) "Too many references: cannot splice"
+string(20) "Connection timed out"
+string(18) "Connection refused"
+string(12) "Host is down"
+string(16) "No route to host"
+string(29) "Operation already in progress"
+string(25) "Operation now in progress"
+string(21) "Stale NFS file handle"
+string(24) "Structure needs cleaning"
+string(27) "Not a XENIX named type file"
+string(29) "No XENIX semaphores available"
+string(20) "Is a named type file"
+string(16) "Remote I/O error"
+string(19) "Disk quota exceeded"
+string(15) "No medium found"
+string(17) "Wrong medium type"
+string(18) "Operation canceled"
+string(26) "Required key not available"
+string(15) "Key has expired"
+string(20) "Key has been revoked"
+string(27) "Key was rejected by service"
+string(10) "Owner died"
+string(21) "State not recoverable"
+string(17) "Unknown error 132"
diff --git a/ext/sockets/tests/socket_write_params.phpt b/ext/sockets/tests/socket_write_params.phpt
new file mode 100644
index 0000000..e23766e
--- /dev/null
+++ b/ext/sockets/tests/socket_write_params.phpt
@@ -0,0 +1,28 @@
+--TEST--
+ext/sockets - socket_write - test with empty parameters
+--CREDITS--
+Florian Anderiasch
+fa at php.net
+--SKIPIF--
+<?php
+    if (!extension_loaded('sockets')) {
+        die('skip sockets extension not available.');
+    }
+?>
+--FILE--
+<?php
+    $rand = rand(1,999);
+    // wrong parameter count
+    $s_w = socket_write();
+    $s_c = socket_create_listen(31330+$rand);
+    $s_w = socket_write($s_c);
+    $s_w = socket_write($s_c, "foo");
+    socket_close($s_c);
+?>
+--EXPECTF--
+
+Warning: socket_write() expects at least 2 parameters, 0 given in %s on line %i
+
+Warning: socket_write() expects at least 2 parameters, 1 given in %s on line %i
+
+Warning: socket_write(): unable to write to socket [%i]: Broken pipe in %s on line %i
diff --git a/ext/sockets/unix_socket_constants.h b/ext/sockets/unix_socket_constants.h
index 8226e2f..2aee887 100644
--- a/ext/sockets/unix_socket_constants.h
+++ b/ext/sockets/unix_socket_constants.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: unix_socket_constants.h,v 1.5.2.1.2.3 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: unix_socket_constants.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* This file is to be included by sockets.c */
 
diff --git a/ext/sockets/win32_socket_constants.h b/ext/sockets/win32_socket_constants.h
index 18f8624..7311ae2 100644
--- a/ext/sockets/win32_socket_constants.h
+++ b/ext/sockets/win32_socket_constants.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: win32_socket_constants.h,v 1.5.2.1.2.3 2008/12/31 11:17:43 sebastian Exp $ */
+/* $Id: win32_socket_constants.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* This file is to be included by sockets.c */
 
diff --git a/ext/spl/TODO b/ext/spl/TODO
index 294c95e..68b00da 100755
--- a/ext/spl/TODO
+++ b/ext/spl/TODO
@@ -1,4 +1,4 @@
-This is the ToDo of ext/spl:
-
-Implement the classes/interfaces from the .inc files in
+This is the ToDo of ext/spl:
+
+Implement the classes/interfaces from the .inc files in
 directory examples.
\ No newline at end of file
diff --git a/ext/spl/config.m4 b/ext/spl/config.m4
index 0de013d..6a8f0c9 100755
--- a/ext/spl/config.m4
+++ b/ext/spl/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.13.2.4.2.3 2006/12/04 18:01:53 tony2001 Exp $
+dnl $Id: config.m4 224332 2006-12-04 18:01:53Z tony2001 $
 dnl config.m4 for extension SPL
 
 PHP_ARG_ENABLE(spl, enable SPL suppport,
diff --git a/ext/spl/config.w32 b/ext/spl/config.w32
index 357bcb3..2597d72 100644
--- a/ext/spl/config.w32
+++ b/ext/spl/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.7 2005/02/08 20:42:47 helly Exp $
+// $Id: config.w32 179257 2005-02-08 20:42:48Z helly $
 // vim:ft=javascript
 
 ARG_ENABLE("spl", "SPL (Standard PHP Library) support", "yes");
diff --git a/ext/spl/examples/autoload.inc b/ext/spl/examples/autoload.inc
index acb2e11..5871e7d 100755
--- a/ext/spl/examples/autoload.inc
+++ b/ext/spl/examples/autoload.inc
@@ -1,50 +1,50 @@
-<?php
-
-/** @file autoload.inc
- * @ingroup Examples
- * @brief function __autoload
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * SPL - Standard PHP Library
- */
-
-/** \internal
- * Tries to load class $classname from directory $dir.
- */
-function __load_class($classname, $dir)
-{
-	$file = $dir . '/' . $classname . '.inc';
-	if (file_exists($file))
-	{
-		require_once($file);
-		return true;
-	}
-	return false;
-}
-
-/** 
- * @brief   Class loader for SPL example classes
- * @author  Marcus Boerger
- * @version 1.0
- *
- * Loads classes automatically from include_path as given by ini or from
- * current directory of script or include file.
- */
-function __autoload($classname) {
-	$classname = strtolower($classname);
-	$inc = split(':', ini_get('include_path'));
-	$inc[] = '.';
-	$inc[] = dirname($_SERVER['PATH_TRANSLATED']);
-	foreach($inc as $dir)
-	{
-		if (__load_class($classname, $dir))
-		{
-			fprintf(STDERR, 'Loading class('.$classname.")\n");
-			return;
-		}
-	}
-	fprintf(STDERR, 'Class not found ('.$classname.")\n");
-}
-
+<?php
+
+/** @file autoload.inc
+ * @ingroup Examples
+ * @brief function __autoload
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** \internal
+ * Tries to load class $classname from directory $dir.
+ */
+function __load_class($classname, $dir)
+{
+	$file = $dir . '/' . $classname . '.inc';
+	if (file_exists($file))
+	{
+		require_once($file);
+		return true;
+	}
+	return false;
+}
+
+/** 
+ * @brief   Class loader for SPL example classes
+ * @author  Marcus Boerger
+ * @version 1.0
+ *
+ * Loads classes automatically from include_path as given by ini or from
+ * current directory of script or include file.
+ */
+function __autoload($classname) {
+	$classname = strtolower($classname);
+	$inc = split(':', ini_get('include_path'));
+	$inc[] = '.';
+	$inc[] = dirname($_SERVER['PATH_TRANSLATED']);
+	foreach($inc as $dir)
+	{
+		if (__load_class($classname, $dir))
+		{
+			fprintf(STDERR, 'Loading class('.$classname.")\n");
+			return;
+		}
+	}
+	fprintf(STDERR, 'Class not found ('.$classname.")\n");
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/cachingrecursiveiterator.inc b/ext/spl/examples/cachingrecursiveiterator.inc
index 352e421..4fa6b23 100644
--- a/ext/spl/examples/cachingrecursiveiterator.inc
+++ b/ext/spl/examples/cachingrecursiveiterator.inc
@@ -1,28 +1,28 @@
-<?php
-
-/** @file cachingrecursiveiterator.inc
- * @ingroup Examples
- * @brief class CachingRecursiveIterator
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * SPL - Standard PHP Library
- */
-
-/** @ingroup Examples
- * @brief   Compatibility to PHP 5.0
- * @author  Marcus Boerger
- * @version 1.2
- * @deprecated
- *
- * Class RecursiveCachingIterator was named CachingRecursiveIterator until
- * PHP 5.0.6.
- *
- * @see RecursiveCachingIterator
- */
-
-class CachingRecursiveIterator extends RecursiveCachingIterator
-{
-}
-
+<?php
+
+/** @file cachingrecursiveiterator.inc
+ * @ingroup Examples
+ * @brief class CachingRecursiveIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief   Compatibility to PHP 5.0
+ * @author  Marcus Boerger
+ * @version 1.2
+ * @deprecated
+ *
+ * Class RecursiveCachingIterator was named CachingRecursiveIterator until
+ * PHP 5.0.6.
+ *
+ * @see RecursiveCachingIterator
+ */
+
+class CachingRecursiveIterator extends RecursiveCachingIterator
+{
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/class_tree.php b/ext/spl/examples/class_tree.php
index 325b5b4..4af6108 100755
--- a/ext/spl/examples/class_tree.php
+++ b/ext/spl/examples/class_tree.php
@@ -1,87 +1,87 @@
-<?php
-
-/** @file   class_tree.php
- * @brief   Class Tree example
- * @ingroup Examples
- * @author  Marcus Boerger
- * @date    2003 - 2005
- * @version 1.0
- *
- * Usage: php class_tree.php \<class\>
- *
- * Simply specify the root class or interface to tree with parameter \<class\>.
- */
-
-if ($argc < 2) {
-	echo <<<EOF
-Usage: php ${_SERVER['PHP_SELF']} <class>
-
-Displays a graphical tree for the given <class>.
-
-<class> The class or interface for which to generate the tree graph.
-
-
-EOF;
-	exit(1);
-}
-
-if (!class_exists("RecursiveTreeIterator", false)) require_once("recursivetreeiterator.inc");
-
-/** \brief Collects sub classes for given class or interface
- */
-class SubClasses extends RecursiveArrayIterator
-{
-	/** @param base  base class to collect sub classes for
-	 * @param check_interfaces whether we deal with interfaces
-	 */
-	function __construct($base, $check_interfaces = false)
-	{
-		foreach(get_declared_classes() as $cname)
-		{
-			if (strcasecmp(get_parent_class($cname), $base) == 0)
-			{
-				$this->offsetSet($cname, new SubClasses($cname));
-			}
-			if ($check_interfaces)
-			{
-				foreach(class_implements($cname) as $iname)
-				{
-					if (strcasecmp($iname, $base) == 0)
-					{
-						$this->offsetSet($cname, new SubClasses($cname));
-					}
-				}
-			}
-		}
-		if ($check_interfaces)
-		{
-			foreach(get_declared_interfaces() as $cname)
-			{
-				foreach(class_implements($cname) as $iname)
-				{
-					if (strcasecmp($iname, $base) == 0)
-					{
-						$this->offsetSet($cname, new SubClasses($cname, true));
-					}
-				}
-			}
-		}
-	}
-
-	/** @return key() since that is the name we need
-	 */
-	function current()
-	{
-		return parent::key();
-	}
-}
-
-$it = new RecursiveTreeIterator(new SubClasses($argv[1], true));
-
-echo $argv[1]."\n";
-foreach($it as $c=>$v)
-{
-	echo "$v\n";
-}
-
+<?php
+
+/** @file   class_tree.php
+ * @brief   Class Tree example
+ * @ingroup Examples
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ * @version 1.0
+ *
+ * Usage: php class_tree.php \<class\>
+ *
+ * Simply specify the root class or interface to tree with parameter \<class\>.
+ */
+
+if ($argc < 2) {
+	echo <<<EOF
+Usage: php ${_SERVER['PHP_SELF']} <class>
+
+Displays a graphical tree for the given <class>.
+
+<class> The class or interface for which to generate the tree graph.
+
+
+EOF;
+	exit(1);
+}
+
+if (!class_exists("RecursiveTreeIterator", false)) require_once("recursivetreeiterator.inc");
+
+/** \brief Collects sub classes for given class or interface
+ */
+class SubClasses extends RecursiveArrayIterator
+{
+	/** @param base  base class to collect sub classes for
+	 * @param check_interfaces whether we deal with interfaces
+	 */
+	function __construct($base, $check_interfaces = false)
+	{
+		foreach(get_declared_classes() as $cname)
+		{
+			if (strcasecmp(get_parent_class($cname), $base) == 0)
+			{
+				$this->offsetSet($cname, new SubClasses($cname));
+			}
+			if ($check_interfaces)
+			{
+				foreach(class_implements($cname) as $iname)
+				{
+					if (strcasecmp($iname, $base) == 0)
+					{
+						$this->offsetSet($cname, new SubClasses($cname));
+					}
+				}
+			}
+		}
+		if ($check_interfaces)
+		{
+			foreach(get_declared_interfaces() as $cname)
+			{
+				foreach(class_implements($cname) as $iname)
+				{
+					if (strcasecmp($iname, $base) == 0)
+					{
+						$this->offsetSet($cname, new SubClasses($cname, true));
+					}
+				}
+			}
+		}
+	}
+
+	/** @return key() since that is the name we need
+	 */
+	function current()
+	{
+		return parent::key();
+	}
+}
+
+$it = new RecursiveTreeIterator(new SubClasses($argv[1], true));
+
+echo $argv[1]."\n";
+foreach($it as $c=>$v)
+{
+	echo "$v\n";
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/dba_array.php b/ext/spl/examples/dba_array.php
index 3375bd4..346ac1f 100755
--- a/ext/spl/examples/dba_array.php
+++ b/ext/spl/examples/dba_array.php
@@ -1,52 +1,52 @@
-<?php
-
-/** @file   dba_array.php
- * @brief   Program DBA array utility
- * @ingroup Examples
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * Usage php dba_array.php \<file\> \<handler\> \<key\> [\<value\>]
- *
- * If \<value\> is specified then \<key\> is set to \<value\> in \<file\>.
- * Else the value of \<key\> is printed only.
- *
- * Note: configure with --enable-dba 
- */
-
-if ($argc < 4) {
-	echo <<<EOF
-Usage: php ${_SERVER['PHP_SELF']} <file> <handler> <key> [<value>]
-
-If <value> is specified then <key> is set to <value> in <file>.
-Else the value of <key> is printed only.
-
-
-EOF;
-	exit(1);
-}
-
-if (!class_exists("DbaReader", false)) require_once("dbareader.inc");
-
-try {
-	if ($argc > 2) {
-		$dba = new DbaArray($argv[1], $argv[2]);
-		if ($dba && $argc > 3) {
-			if ($argc > 4) {
-				$dba[$argv[3]] = $argv[4];
-			}
-			var_dump(array('Index' => $argv[3], 'Value' => $dba[$argv[3]]));
-		}
-		unset($dba);
-	}
-	else
-	{
-		echo "Not enough parameters\n";
-		exit(1);
-	}
-}
-catch (exception $err) {
-	var_dump($err);
-	exit(1);
-}
+<?php
+
+/** @file   dba_array.php
+ * @brief   Program DBA array utility
+ * @ingroup Examples
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * Usage php dba_array.php \<file\> \<handler\> \<key\> [\<value\>]
+ *
+ * If \<value\> is specified then \<key\> is set to \<value\> in \<file\>.
+ * Else the value of \<key\> is printed only.
+ *
+ * Note: configure with --enable-dba 
+ */
+
+if ($argc < 4) {
+	echo <<<EOF
+Usage: php ${_SERVER['PHP_SELF']} <file> <handler> <key> [<value>]
+
+If <value> is specified then <key> is set to <value> in <file>.
+Else the value of <key> is printed only.
+
+
+EOF;
+	exit(1);
+}
+
+if (!class_exists("DbaReader", false)) require_once("dbareader.inc");
+
+try {
+	if ($argc > 2) {
+		$dba = new DbaArray($argv[1], $argv[2]);
+		if ($dba && $argc > 3) {
+			if ($argc > 4) {
+				$dba[$argv[3]] = $argv[4];
+			}
+			var_dump(array('Index' => $argv[3], 'Value' => $dba[$argv[3]]));
+		}
+		unset($dba);
+	}
+	else
+	{
+		echo "Not enough parameters\n";
+		exit(1);
+	}
+}
+catch (exception $err) {
+	var_dump($err);
+	exit(1);
+}
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/dba_dump.php b/ext/spl/examples/dba_dump.php
index 3372093..2c698d4 100755
--- a/ext/spl/examples/dba_dump.php
+++ b/ext/spl/examples/dba_dump.php
@@ -1,42 +1,42 @@
-<?php
-
-/** @file   dba_dump.php
- * @brief   Program DBA dump utility
- * @ingroup Examples
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * Usage: php dba_dump.php \<file\> \<handler\> [\<regex\>]
- *
- * Show all groups in the ini file specified by \<file\>.
- * The regular expression \<regex\> is used to filter the by setting name.
- *
- * Note: configure with --enable-dba 
- */
-
-if ($argc < 3) {
-	echo <<<EOF
-Usage: php ${_SERVER['PHP_SELF']} <file> <handler> [<regex>]
-
-Show all groups in the ini file specified by <file>.
-The regular expression <regex> is used to filter the by setting name.
-
-
-EOF;
-	exit(1);
-}
-
-if (!class_exists("DbaReader", false)) require_once("dbareader.inc");
-if (!class_exists("KeyFilter", false)) require_once("keyfilter.inc");
-
-$db = new DbaReader($argv[1], $argv[2]);
-
-if ($argc>3) {
-	$db = new KeyFilter($db, $argv[3]);
-}
-
-foreach($db as $key => $val) {
-	echo "'$key' => '$val'\n";
-}
-
+<?php
+
+/** @file   dba_dump.php
+ * @brief   Program DBA dump utility
+ * @ingroup Examples
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * Usage: php dba_dump.php \<file\> \<handler\> [\<regex\>]
+ *
+ * Show all groups in the ini file specified by \<file\>.
+ * The regular expression \<regex\> is used to filter the by setting name.
+ *
+ * Note: configure with --enable-dba 
+ */
+
+if ($argc < 3) {
+	echo <<<EOF
+Usage: php ${_SERVER['PHP_SELF']} <file> <handler> [<regex>]
+
+Show all groups in the ini file specified by <file>.
+The regular expression <regex> is used to filter the by setting name.
+
+
+EOF;
+	exit(1);
+}
+
+if (!class_exists("DbaReader", false)) require_once("dbareader.inc");
+if (!class_exists("KeyFilter", false)) require_once("keyfilter.inc");
+
+$db = new DbaReader($argv[1], $argv[2]);
+
+if ($argc>3) {
+	$db = new KeyFilter($db, $argv[3]);
+}
+
+foreach($db as $key => $val) {
+	echo "'$key' => '$val'\n";
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/dbaarray.inc b/ext/spl/examples/dbaarray.inc
index 01d2d38..fcd6bb3 100755
--- a/ext/spl/examples/dbaarray.inc
+++ b/ext/spl/examples/dbaarray.inc
@@ -1,98 +1,98 @@
-<?php
-
-/** @file dbaarray.inc
- * @ingroup Examples
- * @brief class DbaArray
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * SPL - Standard PHP Library
- */
-
-if (!class_exists("DbaReader", false)) require_once("dbareader.inc");
-
-/** @ingroup Examples
- * @brief   This implements a DBA Array
- * @author  Marcus Boerger
- * @version 1.0
- */
-class DbaArray extends DbaReader implements ArrayAccess
-{
-
-	/**
-	 * Open database $file with $handler in read only mode.
-	 *
-	 * @param file    Database file to open.
-	 * @param handler Handler to use for database access.
-	 */
-	function __construct($file, $handler)
-	{
-		$this->db = dba_popen($file, "c", $handler);
-		if (!$this->db) {
-			throw new exception("Databse could not be opened");
-		}
-	}
-
-	/**
-	 * Close database.
-	 */
-	function __destruct()
-	{
-		parent::__destruct();
-	}
-
-	/**
-	 * Read an entry.
-	 *
-	 * @param $name key to read from
-	 * @return value associated with $name
-	 */
-	function offsetGet($name)
-	{
-		$data = dba_fetch($name, $this->db); 
-		if($data) {
-			if (ini_get('magic_quotes_runtime')) {
-				$data = stripslashes($data);
-			}
-			//return unserialize($data);
-			return $data;
-		}
-		else 
-		{
-			return NULL;
-		}
-	}
-
-	/**
-	 * Set an entry.
-	 *
-	 * @param $name key to write to
-	 * @param $value value to write
-	 */
-	function offsetSet($name, $value)
-	{
-		//dba_replace($name, serialize($value), $this->db);
-		dba_replace($name, $value, $this->db);
-		return $value;
-	}
-
-	/**
-	 * @return whether key $name exists.
-	 */
-	function offsetExists($name)
-	{
-		return dba_exists($name, $this->db);
-	}
-
-	/**
-	 * Delete a key/value pair.
-	 *
-	 * @param $name key to delete.
-	 */
-	function offsetUnset($name)
-	{
-		return dba_delete($name, $this->db);
-	}
-}
-
+<?php
+
+/** @file dbaarray.inc
+ * @ingroup Examples
+ * @brief class DbaArray
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+if (!class_exists("DbaReader", false)) require_once("dbareader.inc");
+
+/** @ingroup Examples
+ * @brief   This implements a DBA Array
+ * @author  Marcus Boerger
+ * @version 1.0
+ */
+class DbaArray extends DbaReader implements ArrayAccess
+{
+
+	/**
+	 * Open database $file with $handler in read only mode.
+	 *
+	 * @param file    Database file to open.
+	 * @param handler Handler to use for database access.
+	 */
+	function __construct($file, $handler)
+	{
+		$this->db = dba_popen($file, "c", $handler);
+		if (!$this->db) {
+			throw new exception("Databse could not be opened");
+		}
+	}
+
+	/**
+	 * Close database.
+	 */
+	function __destruct()
+	{
+		parent::__destruct();
+	}
+
+	/**
+	 * Read an entry.
+	 *
+	 * @param $name key to read from
+	 * @return value associated with $name
+	 */
+	function offsetGet($name)
+	{
+		$data = dba_fetch($name, $this->db); 
+		if($data) {
+			if (ini_get('magic_quotes_runtime')) {
+				$data = stripslashes($data);
+			}
+			//return unserialize($data);
+			return $data;
+		}
+		else 
+		{
+			return NULL;
+		}
+	}
+
+	/**
+	 * Set an entry.
+	 *
+	 * @param $name key to write to
+	 * @param $value value to write
+	 */
+	function offsetSet($name, $value)
+	{
+		//dba_replace($name, serialize($value), $this->db);
+		dba_replace($name, $value, $this->db);
+		return $value;
+	}
+
+	/**
+	 * @return whether key $name exists.
+	 */
+	function offsetExists($name)
+	{
+		return dba_exists($name, $this->db);
+	}
+
+	/**
+	 * Delete a key/value pair.
+	 *
+	 * @param $name key to delete.
+	 */
+	function offsetUnset($name)
+	{
+		return dba_delete($name, $this->db);
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/dbareader.inc b/ext/spl/examples/dbareader.inc
index 858000c..b097912 100755
--- a/ext/spl/examples/dbareader.inc
+++ b/ext/spl/examples/dbareader.inc
@@ -1,96 +1,96 @@
-<?php
-
-/** @file dbareader.inc
- * @ingroup Examples
- * @brief class DbaReader
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * SPL - Standard PHP Library
- */
-
-/** @ingroup Examples
- * @brief   This implements a DBA Iterator.
- * @author  Marcus Boerger
- * @version 1.0
- */
-class DbaReader implements Iterator
-{
-
-	protected $db = NULL;
-	private $key = false;
-	private $val = false;
-
-	/**
-	 * Open database $file with $handler in read only mode.
-	 *
-	 * @param file    Database file to open.
-	 * @param handler Handler to use for database access.
-	 */
-	function __construct($file, $handler) {
-		if (!$this->db = dba_open($file, 'r', $handler)) {
-		    throw new exception('Could not open file ' . $file);
-		}
-	}
-	
-	/**
-	 * Close database.
-	 */
-	function __destruct() {
-		dba_close($this->db);
-	}
-
-	/**
-	 * Rewind to first element.
-	 */
-	function rewind() {
-		$this->key = dba_firstkey($this->db);
-		$this->fetch_data();
-	}
-
-	/**
-	 * Move to next element.
-	 *
-	 * @return void
-	 */
-	function next() {
-		$this->key = dba_nextkey($this->db);
-		$this->fetch_data();
-	}
-
-    /**
-     * Fetches the current data if $key is valid
-     */	
-	private function fetch_data() {
-		if ($this->key !== false) {
-			$this->val = dba_fetch($this->key, $this->db);
-		}
-	}
-
-	/**
-	 * @return Current data.
-	 */
-	function current() {
-		return $this->val;
-	}
-
-	/**
-	 * @return Whether more elements are available.
-	 */
-	function valid() {
-		if ($this->db && $this->key !== false) {
-			return true;
-		} else {
-			return false;
-		}
-	}
-
-	/**
-	 * @return Current key.
-	 */
-	function key() {
-		return $this->key;
-	}
-}
-
+<?php
+
+/** @file dbareader.inc
+ * @ingroup Examples
+ * @brief class DbaReader
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief   This implements a DBA Iterator.
+ * @author  Marcus Boerger
+ * @version 1.0
+ */
+class DbaReader implements Iterator
+{
+
+	protected $db = NULL;
+	private $key = false;
+	private $val = false;
+
+	/**
+	 * Open database $file with $handler in read only mode.
+	 *
+	 * @param file    Database file to open.
+	 * @param handler Handler to use for database access.
+	 */
+	function __construct($file, $handler) {
+		if (!$this->db = dba_open($file, 'r', $handler)) {
+		    throw new exception('Could not open file ' . $file);
+		}
+	}
+	
+	/**
+	 * Close database.
+	 */
+	function __destruct() {
+		dba_close($this->db);
+	}
+
+	/**
+	 * Rewind to first element.
+	 */
+	function rewind() {
+		$this->key = dba_firstkey($this->db);
+		$this->fetch_data();
+	}
+
+	/**
+	 * Move to next element.
+	 *
+	 * @return void
+	 */
+	function next() {
+		$this->key = dba_nextkey($this->db);
+		$this->fetch_data();
+	}
+
+    /**
+     * Fetches the current data if $key is valid
+     */	
+	private function fetch_data() {
+		if ($this->key !== false) {
+			$this->val = dba_fetch($this->key, $this->db);
+		}
+	}
+
+	/**
+	 * @return Current data.
+	 */
+	function current() {
+		return $this->val;
+	}
+
+	/**
+	 * @return Whether more elements are available.
+	 */
+	function valid() {
+		if ($this->db && $this->key !== false) {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	/**
+	 * @return Current key.
+	 */
+	function key() {
+		return $this->key;
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/directoryfilterdots.inc b/ext/spl/examples/directoryfilterdots.inc
index aa4b6dd..37f14b7 100755
--- a/ext/spl/examples/directoryfilterdots.inc
+++ b/ext/spl/examples/directoryfilterdots.inc
@@ -1,45 +1,45 @@
-<?php
-
-/** @file directoryfilterdots.inc
- * @ingroup Examples
- * @brief class DirectoryFilterDots
- * @author  Marcus Boerger
- * @date    2003 - 2006
- *
- * SPL - Standard PHP Library
- */
-
-/** @ingroup Examples
- * @brief   A filtered DirectoryIterator
- * @author  Marcus Boerger
- * @version 1.2
- *
- * This Iterator takes a pathname from which it creates a RecursiveDirectoryIterator
- * and makes it recursive. Further more it filters the entries '.' and '..'.
- */
-class DirectoryFilterDots extends RecursiveFilterIterator
-{
-	/** Construct from a path.
-	 * @param $path directory to iterate
-	 */
-	function __construct($path)
-	{
-		parent::__construct(new RecursiveDirectoryIterator($path));
-	}
-
-	/** @return whether the current entry is neither '.' nor '..'
-	 */	
-	function accept()
-	{
-		return !$this->getInnerIterator()->isDot();
-	}
-
-	/** @return the current entries path name
-	 */
-	function key()
-	{
-		return $this->getInnerIterator()->getPathname();
-	}
-}
-
-?>
+<?php
+
+/** @file directoryfilterdots.inc
+ * @ingroup Examples
+ * @brief class DirectoryFilterDots
+ * @author  Marcus Boerger
+ * @date    2003 - 2006
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief   A filtered DirectoryIterator
+ * @author  Marcus Boerger
+ * @version 1.2
+ *
+ * This Iterator takes a pathname from which it creates a RecursiveDirectoryIterator
+ * and makes it recursive. Further more it filters the entries '.' and '..'.
+ */
+class DirectoryFilterDots extends RecursiveFilterIterator
+{
+	/** Construct from a path.
+	 * @param $path directory to iterate
+	 */
+	function __construct($path)
+	{
+		parent::__construct(new RecursiveDirectoryIterator($path));
+	}
+
+	/** @return whether the current entry is neither '.' nor '..'
+	 */	
+	function accept()
+	{
+		return !$this->getInnerIterator()->isDot();
+	}
+
+	/** @return the current entries path name
+	 */
+	function key()
+	{
+		return $this->getInnerIterator()->getPathname();
+	}
+}
+
+?>
diff --git a/ext/spl/examples/directorygraphiterator.inc b/ext/spl/examples/directorygraphiterator.inc
index 61d6709..5808e3b 100644
--- a/ext/spl/examples/directorygraphiterator.inc
+++ b/ext/spl/examples/directorygraphiterator.inc
@@ -1,34 +1,34 @@
-<?php
-
-/** @file directorygraphiterator.inc
- * @ingroup Examples
- * @brief class DirectoryGraphIterator
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * SPL - Standard PHP Library
- */
-
-/** @ingroup Examples
- * @brief   A tree iterator that only shows directories.
- * @author  Marcus Boerger
- * @version 1.1
- */
-class DirectoryGraphIterator extends DirectoryTreeIterator
-{
-	function __construct($path)
-	{
-		RecursiveIteratorIterator::__construct(
-			new RecursiveCachingIterator(
-				new ParentIterator(
-					new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_FILENAME
-					)
-				), 
-				CachingIterator::CALL_TOSTRING|CachingIterator::CATCH_GET_CHILD
-			), 
-			parent::SELF_FIRST
-		);
-	}
-}
-
+<?php
+
+/** @file directorygraphiterator.inc
+ * @ingroup Examples
+ * @brief class DirectoryGraphIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief   A tree iterator that only shows directories.
+ * @author  Marcus Boerger
+ * @version 1.1
+ */
+class DirectoryGraphIterator extends DirectoryTreeIterator
+{
+	function __construct($path)
+	{
+		RecursiveIteratorIterator::__construct(
+			new RecursiveCachingIterator(
+				new ParentIterator(
+					new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_FILENAME
+					)
+				), 
+				CachingIterator::CALL_TOSTRING|CachingIterator::CATCH_GET_CHILD
+			), 
+			parent::SELF_FIRST
+		);
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/directorytree.inc b/ext/spl/examples/directorytree.inc
index 4c999eb..7bd9c2c 100755
--- a/ext/spl/examples/directorytree.inc
+++ b/ext/spl/examples/directorytree.inc
@@ -1,27 +1,27 @@
-<?php
-
-/** @file directorytree.inc
- * @ingroup Examples
- * @brief class DirectoryTree
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * SPL - Standard PHP Library
- */
-
-/** @ingroup Examples
- * @brief   A directory iterator that does not show '.' and '..'.
- * @author  Marcus Boerger
- * @version 1.0
- */
-class DirectoryTree extends RecursiveIteratorIterator
-{
-	/** Construct from a path.
-	 * @param $path directory to iterate
-	 */
-	function __construct($path) {
-		parent::__construct(new DirectoryFilterDots($path));
-	}
-}
-
+<?php
+
+/** @file directorytree.inc
+ * @ingroup Examples
+ * @brief class DirectoryTree
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief   A directory iterator that does not show '.' and '..'.
+ * @author  Marcus Boerger
+ * @version 1.0
+ */
+class DirectoryTree extends RecursiveIteratorIterator
+{
+	/** Construct from a path.
+	 * @param $path directory to iterate
+	 */
+	function __construct($path) {
+		parent::__construct(new DirectoryFilterDots($path));
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/directorytree.php b/ext/spl/examples/directorytree.php
index 687f843..dc26d6c 100755
--- a/ext/spl/examples/directorytree.php
+++ b/ext/spl/examples/directorytree.php
@@ -1,37 +1,37 @@
-<?php
-
-/** @file   directorytree.php
- * @brief   Program Directory tree example
- * @ingroup Examples
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * Usage: php directorytree.php \<path\> [\<start\> [\<count\>]]
- *
- * Simply specify the path to tree with parameter \<path\>.
- */
-
-if ($argc < 2) {
-	echo <<<EOF
-Usage: php ${_SERVER['PHP_SELF']} <path>
-
-Displays a graphical directory tree for the given <path>.
-
-<path> The directory for which to generate the directory tree graph.
-
-
-EOF;
-	exit(1);
-}
-
-if (!class_exists("DirectoryTreeIterator", false)) require_once("directorytreeiterator.inc");
-
-$length = $argc > 3 ? $argv[3] : -1;
-
-echo $argv[1]."\n";
-foreach(new LimitIterator(new DirectoryTreeIterator($argv[1]), @$argv[2], $length) as $key=>$file) {
-//foreach(new DirectoryTreeIterator($argv[1]) as $file) {
-	echo $file . "\n";
-}
-
+<?php
+
+/** @file   directorytree.php
+ * @brief   Program Directory tree example
+ * @ingroup Examples
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * Usage: php directorytree.php \<path\> [\<start\> [\<count\>]]
+ *
+ * Simply specify the path to tree with parameter \<path\>.
+ */
+
+if ($argc < 2) {
+	echo <<<EOF
+Usage: php ${_SERVER['PHP_SELF']} <path>
+
+Displays a graphical directory tree for the given <path>.
+
+<path> The directory for which to generate the directory tree graph.
+
+
+EOF;
+	exit(1);
+}
+
+if (!class_exists("DirectoryTreeIterator", false)) require_once("directorytreeiterator.inc");
+
+$length = $argc > 3 ? $argv[3] : -1;
+
+echo $argv[1]."\n";
+foreach(new LimitIterator(new DirectoryTreeIterator($argv[1]), @$argv[2], $length) as $key=>$file) {
+//foreach(new DirectoryTreeIterator($argv[1]) as $file) {
+	echo $file . "\n";
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/directorytreeiterator.inc b/ext/spl/examples/directorytreeiterator.inc
index 4a741c3..8e65d0d 100644
--- a/ext/spl/examples/directorytreeiterator.inc
+++ b/ext/spl/examples/directorytreeiterator.inc
@@ -1,54 +1,54 @@
-<?php
-
-/** @file directorytreeiterator.inc
- * @ingroup Examples
- * @brief class DirectoryTreeIterator
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * SPL - Standard PHP Library
- */
-
-/** @ingroup Examples
- * @brief   DirectoryIterator to generate ASCII graphic directory trees
- * @author  Marcus Boerger
- * @version 1.1
- */
-class DirectoryTreeIterator extends RecursiveIteratorIterator
-{
-	/** Construct from a path.
-	 * @param $path directory to iterate
-	 */
-	function __construct($path)
-	{
-		parent::__construct(
-			new RecursiveCachingIterator(
-				new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_FILENAME
-				), 
-				CachingIterator::CALL_TOSTRING|CachingIterator::CATCH_GET_CHILD
-			), 
-			parent::SELF_FIRST
-		);
-	}
-
-	/** @return the current element prefixed with ASCII graphics
-	 */	
-	function current()
-	{
-		$tree = '';
-		for ($l=0; $l < $this->getDepth(); $l++) {
-			$tree .= $this->getSubIterator($l)->hasNext() ? '| ' : '  ';
-		}
-		return $tree . ($this->getSubIterator($l)->hasNext() ? '|-' : '\-') 
-		       . $this->getSubIterator($l)->__toString();
-	}
-
-	/** Aggregates the inner iterator
-	 */	
-	function __call($func, $params)
-	{
-		return call_user_func_array(array($this->getSubIterator(), $func), $params);
-	}
-}
-
+<?php
+
+/** @file directorytreeiterator.inc
+ * @ingroup Examples
+ * @brief class DirectoryTreeIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief   DirectoryIterator to generate ASCII graphic directory trees
+ * @author  Marcus Boerger
+ * @version 1.1
+ */
+class DirectoryTreeIterator extends RecursiveIteratorIterator
+{
+	/** Construct from a path.
+	 * @param $path directory to iterate
+	 */
+	function __construct($path)
+	{
+		parent::__construct(
+			new RecursiveCachingIterator(
+				new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_FILENAME
+				), 
+				CachingIterator::CALL_TOSTRING|CachingIterator::CATCH_GET_CHILD
+			), 
+			parent::SELF_FIRST
+		);
+	}
+
+	/** @return the current element prefixed with ASCII graphics
+	 */	
+	function current()
+	{
+		$tree = '';
+		for ($l=0; $l < $this->getDepth(); $l++) {
+			$tree .= $this->getSubIterator($l)->hasNext() ? '| ' : '  ';
+		}
+		return $tree . ($this->getSubIterator($l)->hasNext() ? '|-' : '\-') 
+		       . $this->getSubIterator($l)->__toString();
+	}
+
+	/** Aggregates the inner iterator
+	 */	
+	function __call($func, $params)
+	{
+		return call_user_func_array(array($this->getSubIterator(), $func), $params);
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/ini_groups.php b/ext/spl/examples/ini_groups.php
index 91ddb49..5136911 100755
--- a/ext/spl/examples/ini_groups.php
+++ b/ext/spl/examples/ini_groups.php
@@ -1,41 +1,41 @@
-<?php
-
-/** @file   ini_groups.php
- * @brief   Program List groups within an ini file
- * @ingroup Examples
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * Usage: php dba_dump.php \<file\> [\<regex\>]
- *
- * Show all groups in the ini file specified by \<file\>.
- * The regular expression \<regex\> is used to filter the result.
- *
- * Note: configure with --enable-dba 
- */
-
-if ($argc < 2) {
-	echo <<<EOF
-Usage: php dba_dump.php <file> [<regex>]
-
-Show all groups in the ini file specified by <file>.
-The regular expression <regex> is used to filter the result.
-
-
-EOF;
-	exit(1);
-}
-
-if (!class_exists("KeyFilter", false)) require_once("keyfilter.inc");
-if (!class_exists("IniGroups", false)) require_once("inigroups.inc");
-
-$it = new IniGroups($argv[1]);
-if ($argc>2) {
-	$it = new KeyFilter($it, $argv[2]);
-}
-
-foreach($it as $group) {
-	echo "$group\n";
-}
-
+<?php
+
+/** @file   ini_groups.php
+ * @brief   Program List groups within an ini file
+ * @ingroup Examples
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * Usage: php dba_dump.php \<file\> [\<regex\>]
+ *
+ * Show all groups in the ini file specified by \<file\>.
+ * The regular expression \<regex\> is used to filter the result.
+ *
+ * Note: configure with --enable-dba 
+ */
+
+if ($argc < 2) {
+	echo <<<EOF
+Usage: php dba_dump.php <file> [<regex>]
+
+Show all groups in the ini file specified by <file>.
+The regular expression <regex> is used to filter the result.
+
+
+EOF;
+	exit(1);
+}
+
+if (!class_exists("KeyFilter", false)) require_once("keyfilter.inc");
+if (!class_exists("IniGroups", false)) require_once("inigroups.inc");
+
+$it = new IniGroups($argv[1]);
+if ($argc>2) {
+	$it = new KeyFilter($it, $argv[2]);
+}
+
+foreach($it as $group) {
+	echo "$group\n";
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/keyfilter.inc b/ext/spl/examples/keyfilter.inc
index a309f09..eaf6b77 100755
--- a/ext/spl/examples/keyfilter.inc
+++ b/ext/spl/examples/keyfilter.inc
@@ -1,64 +1,64 @@
-<?php
-
-/** @file keyfilter.inc
- * @ingroup Examples
- * @brief class KeyFilter
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * SPL - Standard PHP Library
- */
-
-/** @ingroup Examples
- * @brief   Regular expression filter for string iterators
- * @author  Marcus Boerger
- * @version 1.1
- *
- * Instances of this class act as a filter around iterators whose elements
- * are strings. In other words you can put an iterator into the constructor
- * and the instance will only return elements which match the given regular 
- * expression.
- */
-class KeyFilter extends FilterIterator
-{
-	/** @internal regular exoression used as filter */
-	private $regex;
-
-	/**
-	 * Constructs a filter around an iterator whose elemnts are strings.
-	 * If the given iterator is of type spl_sequence then its rewind()
-	 * method is called.
-	 *
-	 * @param it     Object that implements at least spl_forward
-	 * @param regex  Regular expression used as a filter.
-	 */
-	function __construct(Iterator $it, $regex)
-	{
-		parent::__construct($it);
-		$this->regex = $regex;
-	}
-
-	/** \return whether the current key mathes the regular expression 
-	 */
-	function accept()
-	{
-		return ereg($this->regex, $this->getInnerIterator()->key());
-	}
-	
-	/** @return regular expression used as filter
-	 */
-	function getRegex()
-	{
-		return $this->regex;
-	}
-
-	/**
-	 * hidden __clone
-	 */
-	protected function __clone()
-	{
-		// disallow clone 
-	}
-}
-
+<?php
+
+/** @file keyfilter.inc
+ * @ingroup Examples
+ * @brief class KeyFilter
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief   Regular expression filter for string iterators
+ * @author  Marcus Boerger
+ * @version 1.1
+ *
+ * Instances of this class act as a filter around iterators whose elements
+ * are strings. In other words you can put an iterator into the constructor
+ * and the instance will only return elements which match the given regular 
+ * expression.
+ */
+class KeyFilter extends FilterIterator
+{
+	/** @internal regular exoression used as filter */
+	private $regex;
+
+	/**
+	 * Constructs a filter around an iterator whose elemnts are strings.
+	 * If the given iterator is of type spl_sequence then its rewind()
+	 * method is called.
+	 *
+	 * @param it     Object that implements at least spl_forward
+	 * @param regex  Regular expression used as a filter.
+	 */
+	function __construct(Iterator $it, $regex)
+	{
+		parent::__construct($it);
+		$this->regex = $regex;
+	}
+
+	/** \return whether the current key mathes the regular expression 
+	 */
+	function accept()
+	{
+		return ereg($this->regex, $this->getInnerIterator()->key());
+	}
+	
+	/** @return regular expression used as filter
+	 */
+	function getRegex()
+	{
+		return $this->regex;
+	}
+
+	/**
+	 * hidden __clone
+	 */
+	protected function __clone()
+	{
+		// disallow clone 
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/nocvsdir.php b/ext/spl/examples/nocvsdir.php
index e14ad74..6993268 100755
--- a/ext/spl/examples/nocvsdir.php
+++ b/ext/spl/examples/nocvsdir.php
@@ -1,55 +1,55 @@
-<?php
-
-/** @file   nocvsdir.php
- * @brief   Program Dir without CVS subdirs
- * @ingroup Examples
- * @author  Marcus Boerger
- * @date    2003 - 2006
- * @version 1.1
- *
- * Usage: php nocvsdir.php \<path\>
- *
- * Simply specify the path to tree with parameter \<path\>.
- */
-
-if ($argc < 2) {
-	echo <<<EOF
-Usage: php ${_SERVER['PHP_SELF']} <path>
-
-Show the directory and all it's contents without any CVS directory in <path>.
-
-<path> The directory for which to generate the directory.
-
-
-EOF;
-	exit(1);
-}
-
-if (!class_exists("RecursiveFilterIterator")) require_once("recursivefilteriterator.inc");
-
-class NoCvsDirectory extends RecursiveFilterIterator
-{
-	function __construct($path)
-	{
-		parent::__construct(new RecursiveDirectoryIterator($path));
-	}
-
-	function accept()
-	{
-		return $this->getInnerIterator()->getFilename() != 'CVS';
-	}
-
-	function getChildren()
-	{
-		return new NoCvsDirectory($this->key());
-	}
-}
-
-$it = new RecursiveIteratorIterator(new NoCvsDirectory($argv[1]));
-
-foreach($it as $pathname => $file)
-{
-	echo $pathname."\n";
-}
-
+<?php
+
+/** @file   nocvsdir.php
+ * @brief   Program Dir without CVS subdirs
+ * @ingroup Examples
+ * @author  Marcus Boerger
+ * @date    2003 - 2006
+ * @version 1.1
+ *
+ * Usage: php nocvsdir.php \<path\>
+ *
+ * Simply specify the path to tree with parameter \<path\>.
+ */
+
+if ($argc < 2) {
+	echo <<<EOF
+Usage: php ${_SERVER['PHP_SELF']} <path>
+
+Show the directory and all it's contents without any CVS directory in <path>.
+
+<path> The directory for which to generate the directory.
+
+
+EOF;
+	exit(1);
+}
+
+if (!class_exists("RecursiveFilterIterator")) require_once("recursivefilteriterator.inc");
+
+class NoCvsDirectory extends RecursiveFilterIterator
+{
+	function __construct($path)
+	{
+		parent::__construct(new RecursiveDirectoryIterator($path));
+	}
+
+	function accept()
+	{
+		return $this->getInnerIterator()->getFilename() != 'CVS';
+	}
+
+	function getChildren()
+	{
+		return new NoCvsDirectory($this->key());
+	}
+}
+
+$it = new RecursiveIteratorIterator(new NoCvsDirectory($argv[1]));
+
+foreach($it as $pathname => $file)
+{
+	echo $pathname."\n";
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/searchiterator.inc b/ext/spl/examples/searchiterator.inc
index 0e6a7bc..944a4ac 100755
--- a/ext/spl/examples/searchiterator.inc
+++ b/ext/spl/examples/searchiterator.inc
@@ -1,58 +1,58 @@
-<?php
-
-/** @file searchiterator.inc
- * @ingroup Examples
- * @brief abstract class SearchIterator
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * SPL - Standard PHP Library
- */
-
-/** @ingroup Examples
- * @brief Iterator to search for a specific element
- * @author  Marcus Boerger
- * @version 1.0
- *
- * This extended FilterIterator stops after finding the first acceptable
- * value.
- */
-abstract class SearchIterator extends FilterIterator
-{
-	/** @internal whether an entry was found already */
-	private $done = false;
-
-	/** Rewind and reset so that it once again searches.
-	 * @return void
-	 */
-	function rewind()
-	{
-		parent::rewind();
-		$this->done = false;
-	}
-
-	/** @return whether the current element is valid
-	 * which can only happen once per iteration.
-	 */
-	function valid()
-	{
-		return !$this->done && parent::valid();
-	}
-	
-	/** Do not move forward but instead mark as finished.
-	 * @return void
-	 */
-	function next()
-	{
-		$this->done = true;
-	}
-
-	/** Aggregates the inner iterator
-	 */	
-	function __call($func, $params)
-	{
-		return call_user_func_array(array($this->getInnerIterator(), $func), $params);
-	}
-}
-
+<?php
+
+/** @file searchiterator.inc
+ * @ingroup Examples
+ * @brief abstract class SearchIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief Iterator to search for a specific element
+ * @author  Marcus Boerger
+ * @version 1.0
+ *
+ * This extended FilterIterator stops after finding the first acceptable
+ * value.
+ */
+abstract class SearchIterator extends FilterIterator
+{
+	/** @internal whether an entry was found already */
+	private $done = false;
+
+	/** Rewind and reset so that it once again searches.
+	 * @return void
+	 */
+	function rewind()
+	{
+		parent::rewind();
+		$this->done = false;
+	}
+
+	/** @return whether the current element is valid
+	 * which can only happen once per iteration.
+	 */
+	function valid()
+	{
+		return !$this->done && parent::valid();
+	}
+	
+	/** Do not move forward but instead mark as finished.
+	 * @return void
+	 */
+	function next()
+	{
+		$this->done = true;
+	}
+
+	/** Aggregates the inner iterator
+	 */	
+	function __call($func, $params)
+	{
+		return call_user_func_array(array($this->getInnerIterator(), $func), $params);
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/examples/tree.php b/ext/spl/examples/tree.php
index 7c630e8..9c2cc55 100755
--- a/ext/spl/examples/tree.php
+++ b/ext/spl/examples/tree.php
@@ -1,40 +1,40 @@
-<?php
-
-/** @file   tree.php
- * @brief   Program Tree view example
- * @ingroup Examples
- * @author  Marcus Boerger
- * @date    2003 - 2005
- *
- * Usage: php tree.php \<path\>
- *
- * Simply specify the path to tree with parameter \<path\>.
- */
-
-// The following line only operates on classes which are converted to c already.
-// But does not generate a graphical output.
-//foreach(new RecursiveIteratorIterator(new ParentIterator(new RecursiveDirectoryIterator($argv[1])), 1) as $file) {
-
-if ($argc < 2) {
-	echo <<<EOF
-Usage: php ${_SERVER['PHP_SELF']} <path>
-
-Displays a graphical tree for the given <path>.
-
-<path> The directory for which to generate the tree graph.
-
-
-EOF;
-	exit(1);
-}
-
-if (!class_exists("DirectoryTreeIterator", false)) require_once("directorytreeiterator.inc");
-if (!class_exists("DirectoryGraphIterator", false)) require_once("directorygraphiterator.inc");
-
-echo $argv[1]."\n";
-foreach(new DirectoryGraphIterator($argv[1]) as $file)
-{
-	echo $file . "\n";
-}
-
-?>
+<?php
+
+/** @file   tree.php
+ * @brief   Program Tree view example
+ * @ingroup Examples
+ * @author  Marcus Boerger
+ * @date    2003 - 2005
+ *
+ * Usage: php tree.php \<path\>
+ *
+ * Simply specify the path to tree with parameter \<path\>.
+ */
+
+// The following line only operates on classes which are converted to c already.
+// But does not generate a graphical output.
+//foreach(new RecursiveIteratorIterator(new ParentIterator(new RecursiveDirectoryIterator($argv[1])), 1) as $file) {
+
+if ($argc < 2) {
+	echo <<<EOF
+Usage: php ${_SERVER['PHP_SELF']} <path>
+
+Displays a graphical tree for the given <path>.
+
+<path> The directory for which to generate the tree graph.
+
+
+EOF;
+	exit(1);
+}
+
+if (!class_exists("DirectoryTreeIterator", false)) require_once("directorytreeiterator.inc");
+if (!class_exists("DirectoryGraphIterator", false)) require_once("directorygraphiterator.inc");
+
+echo $argv[1]."\n";
+foreach(new DirectoryGraphIterator($argv[1]) as $file)
+{
+	echo $file . "\n";
+}
+
+?>
diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c
index eb93552..4966f6e 100755
--- a/ext/spl/php_spl.c
+++ b/ext/spl/php_spl.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_spl.c,v 1.52.2.28.2.21 2009/06/13 17:35:37 cellog Exp $ */
+/* $Id: php_spl.c 286476 2009-07-28 22:25:31Z bjori $ */
 
 #ifdef HAVE_CONFIG_H
 	#include "config.h"
@@ -564,8 +564,9 @@ PHP_FUNCTION(spl_autoload_unregister)
  Return all registered __autoload() functionns */
 PHP_FUNCTION(spl_autoload_functions)
 {
-	zend_function *fptr, **func_ptr_ptr;
+	zend_function *fptr;
 	HashPosition function_pos;
+	autoload_func_info *alfi;
 
 	if (!EG(autoload_func)) {
 		if (zend_hash_find(EG(function_table), ZEND_AUTOLOAD_FUNC_NAME, sizeof(ZEND_AUTOLOAD_FUNC_NAME), (void **) &fptr) == SUCCESS) {
@@ -582,17 +583,22 @@ PHP_FUNCTION(spl_autoload_functions)
 		array_init(return_value);
 		zend_hash_internal_pointer_reset_ex(SPL_G(autoload_functions), &function_pos);
 		while(zend_hash_has_more_elements_ex(SPL_G(autoload_functions), &function_pos) == SUCCESS) {
-			zend_hash_get_current_data_ex(SPL_G(autoload_functions), (void **) &func_ptr_ptr, &function_pos);
-			if ((*func_ptr_ptr)->common.scope) {
+			zend_hash_get_current_data_ex(SPL_G(autoload_functions), (void **) &alfi, &function_pos);
+			if (alfi->func_ptr->common.scope) {
 				zval *tmp;
 				MAKE_STD_ZVAL(tmp);
 				array_init(tmp);
 
-				add_next_index_string(tmp, (*func_ptr_ptr)->common.scope->name, 1);
-				add_next_index_string(tmp, (*func_ptr_ptr)->common.function_name, 1);
+				if (alfi->obj) {
+					alfi->obj->refcount++;
+					add_next_index_zval(tmp, alfi->obj);
+				} else {
+					add_next_index_string(tmp, alfi->ce->name, 1);
+				}
+				add_next_index_string(tmp, alfi->func_ptr->common.function_name, 1);
 				add_next_index_zval(return_value, tmp);
 			} else
-				add_next_index_string(return_value, (*func_ptr_ptr)->common.function_name, 1);
+				add_next_index_string(return_value, alfi->func_ptr->common.function_name, 1);
 
 			zend_hash_move_forward_ex(SPL_G(autoload_functions), &function_pos);
 		}
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c
index d1fc0a2..0efe2e5 100755
--- a/ext/spl/spl_array.c
+++ b/ext/spl/spl_array.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_array.c,v 1.71.2.17.2.25 2009/05/21 13:26:29 lbarnaud Exp $ */
+/* $Id: spl_array.c 280904 2009-05-21 13:26:29Z lbarnaud $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
diff --git a/ext/spl/spl_array.h b/ext/spl/spl_array.h
index 25994bd..fea8e11 100755
--- a/ext/spl/spl_array.h
+++ b/ext/spl/spl_array.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_array.h,v 1.13.2.2.2.6 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_array.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SPL_ARRAY_H
 #define SPL_ARRAY_H
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index e03fcae..8fe161c 100755
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_directory.c,v 1.45.2.27.2.30 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_directory.c 284648 2009-07-23 14:42:46Z jani $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -1032,7 +1032,7 @@ SPL_METHOD(RecursiveDirectoryIterator, hasChildren)
 			return;
 		}
 		spl_filesystem_object_get_file_name(intern TSRMLS_CC);
-		if (!allow_links) {
+		if (!allow_links && !(intern->flags & SPL_FILE_DIR_FOLLOW_SYMLINKS)) {
 			php_stat(intern->file_name, intern->file_name_len, FS_IS_LINK, return_value TSRMLS_CC);
 			if (zend_is_true(return_value)) {
 				RETURN_BOOL(0);
@@ -2264,8 +2264,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fgetss, 0, 0, 0)
 ZEND_END_ARG_INFO()
 
 static
-ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fscanf, 0, 0, 1) 
+ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fscanf, 1, 0, 1)
 	ZEND_ARG_INFO(0, format)
+	ZEND_ARG_INFO(1, ...)
 ZEND_END_ARG_INFO()
 
 static
@@ -2354,6 +2355,7 @@ PHP_MINIT_FUNCTION(spl_directory)
 	REGISTER_SPL_CLASS_CONST_LONG(RecursiveDirectoryIterator, "CURRENT_AS_SELF",     SPL_FILE_DIR_CURRENT_AS_SELF);
 	REGISTER_SPL_CLASS_CONST_LONG(RecursiveDirectoryIterator, "KEY_MODE_MASK",       SPL_FILE_DIR_KEY_MODE_MASK);
 	REGISTER_SPL_CLASS_CONST_LONG(RecursiveDirectoryIterator, "KEY_AS_PATHNAME",     SPL_FILE_DIR_KEY_AS_PATHNAME);
+	REGISTER_SPL_CLASS_CONST_LONG(RecursiveDirectoryIterator, "FOLLOW_SYMLINKS",     SPL_FILE_DIR_FOLLOW_SYMLINKS);
 	REGISTER_SPL_CLASS_CONST_LONG(RecursiveDirectoryIterator, "KEY_AS_FILENAME",     SPL_FILE_DIR_KEY_AS_FILENAME);
 	REGISTER_SPL_CLASS_CONST_LONG(RecursiveDirectoryIterator, "NEW_CURRENT_AND_KEY", SPL_FILE_DIR_KEY_AS_FILENAME|SPL_FILE_DIR_CURRENT_AS_FILEINFO);
 
diff --git a/ext/spl/spl_directory.h b/ext/spl/spl_directory.h
index b63caad..7cb5025 100755
--- a/ext/spl/spl_directory.h
+++ b/ext/spl/spl_directory.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_directory.h,v 1.12.2.5.2.11 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_directory.h 283690 2009-07-08 03:08:03Z iliaa $ */
 
 #ifndef SPL_DIRECTORY_H
 #define SPL_DIRECTORY_H
@@ -101,6 +101,7 @@ struct _spl_filesystem_object {
 
 #define SPL_FILE_DIR_KEY_AS_PATHNAME       0x00000000 /* make RecursiveDirectoryTree::key() return getPathname() */
 #define SPL_FILE_DIR_KEY_AS_FILENAME       0x00000100 /* make RecursiveDirectoryTree::key() return getFilename() */
+#define SPL_FILE_DIR_FOLLOW_SYMLINKS       0x00000200 /* make RecursiveDirectoryTree::hasChildren() follow symlinks */
 #define SPL_FILE_DIR_KEY_MODE_MASK         0x00000F00 /* mask RecursiveDirectoryTree::key() */
 #define SPL_FILE_DIR_KEY(intern,mode)      ((intern->flags&SPL_FILE_DIR_KEY_MODE_MASK)==mode)
 
diff --git a/ext/spl/spl_engine.h b/ext/spl/spl_engine.h
index 6324f21..ce48690 100755
--- a/ext/spl/spl_engine.h
+++ b/ext/spl/spl_engine.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_engine.h,v 1.19.2.3.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_engine.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SPL_ENGINE_H
 #define SPL_ENGINE_H
diff --git a/ext/spl/spl_exceptions.c b/ext/spl/spl_exceptions.c
index 21a47af..16f40dc 100755
--- a/ext/spl/spl_exceptions.c
+++ b/ext/spl/spl_exceptions.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_exceptions.c,v 1.6.2.1.2.4 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_exceptions.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
diff --git a/ext/spl/spl_exceptions.h b/ext/spl/spl_exceptions.h
index ad9cf3a..ad687f0 100755
--- a/ext/spl/spl_exceptions.h
+++ b/ext/spl/spl_exceptions.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_exceptions.h,v 1.5.2.1.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_exceptions.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SPL_EXCEPTIONS_H
 #define SPL_EXCEPTIONS_H
diff --git a/ext/spl/spl_functions.c b/ext/spl/spl_functions.c
index 9a2faa5..a4c79b3 100755
--- a/ext/spl/spl_functions.c
+++ b/ext/spl/spl_functions.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_functions.c,v 1.28.2.3.2.5 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_functions.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 	#include "config.h"
diff --git a/ext/spl/spl_functions.h b/ext/spl/spl_functions.h
index fdb73ca..531eaba 100755
--- a/ext/spl/spl_functions.h
+++ b/ext/spl/spl_functions.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_functions.h,v 1.19.2.3.2.4 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_functions.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_FUNCTIONS_H
 #define PHP_FUNCTIONS_H
diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c
index 5cf5a82..0748cb9 100755
--- a/ext/spl/spl_iterators.c
+++ b/ext/spl/spl_iterators.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_iterators.c,v 1.73.2.30.2.36 2009/05/09 19:48:15 scottmac Exp $ */
+/* $Id: spl_iterators.c 280214 2009-05-09 19:48:15Z scottmac $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
diff --git a/ext/spl/spl_iterators.h b/ext/spl/spl_iterators.h
index a062b2c..e8a1711 100755
--- a/ext/spl/spl_iterators.h
+++ b/ext/spl/spl_iterators.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_iterators.h,v 1.18.2.7.2.15 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_iterators.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SPL_ITERATORS_H
 #define SPL_ITERATORS_H
diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c
index d149f80..9460461 100755
--- a/ext/spl/spl_observer.c
+++ b/ext/spl/spl_observer.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_observer.c,v 1.2.2.6.2.5 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_observer.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
diff --git a/ext/spl/spl_observer.h b/ext/spl/spl_observer.h
index 8a991a7..32ceaac 100755
--- a/ext/spl/spl_observer.h
+++ b/ext/spl/spl_observer.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_observer.h,v 1.2.2.2.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_observer.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SPL_OBSERVER_H
 #define SPL_OBSERVER_H
diff --git a/ext/spl/spl_sxe.c b/ext/spl/spl_sxe.c
index 41b0824..0ef2a09 100755
--- a/ext/spl/spl_sxe.c
+++ b/ext/spl/spl_sxe.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_sxe.c,v 1.8.2.5.2.4 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_sxe.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
diff --git a/ext/spl/spl_sxe.h b/ext/spl/spl_sxe.h
index 209e5f6..30e059e 100755
--- a/ext/spl/spl_sxe.h
+++ b/ext/spl/spl_sxe.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_sxe.h,v 1.4.2.1.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: spl_sxe.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SPL_SXE_H
 #define SPL_SXE_H
diff --git a/ext/spl/tests/DirectoryIterator_by_reference.phpt b/ext/spl/tests/DirectoryIterator_by_reference.phpt
new file mode 100644
index 0000000..5352a5d
--- /dev/null
+++ b/ext/spl/tests/DirectoryIterator_by_reference.phpt
@@ -0,0 +1,14 @@
+--TEST--
+DirectoryIterator: test that you cannot use iterator with reference
+--CREDITS--
+Havard Eide <nucleuz at gmail.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--FILE--
+<?php
+$it = new DirectoryIterator("/tmp"); 
+foreach( $it as &$file ) {
+	echo $file . "\n";
+}
+?>
+--EXPECTF--
+Fatal error: An iterator cannot be used with foreach by reference in %s on line %d
\ No newline at end of file
diff --git a/ext/spl/tests/DirectoryIterator_empty_constructor.phpt b/ext/spl/tests/DirectoryIterator_empty_constructor.phpt
new file mode 100644
index 0000000..da5276c
--- /dev/null
+++ b/ext/spl/tests/DirectoryIterator_empty_constructor.phpt
@@ -0,0 +1,15 @@
+--TEST--
+DirectoryIterator: Test empty value to DirectoryIterator constructor
+--CREDITS--
+Havard Eide <nucleuz at gmail.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--FILE--
+<?php
+$it = new DirectoryIterator("");
+?>
+--EXPECTF--
+Fatal error: Uncaught exception 'RuntimeException' with message 'Directory name must not be empty.' in %s:%d
+Stack trace:
+#0 %s(%d): DirectoryIterator->__construct('')
+#1 {main}
+  thrown in %s on line %d
\ No newline at end of file
diff --git a/ext/spl/tests/DirectoryIterator_getGroup_basic.phpt b/ext/spl/tests/DirectoryIterator_getGroup_basic.phpt
new file mode 100644
index 0000000..58387cc
--- /dev/null
+++ b/ext/spl/tests/DirectoryIterator_getGroup_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+SPL: DirectoryIterator test getGroup
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+shell_exec('mkdir test_dir_ptfi');
+$dir = new DirectoryIterator('test_dir_ptfi');
+$result = shell_exec('ls -lnd test_dir_ptfi | cut -d" " -f 4');
+
+var_dump($dir->getGroup() == $result);
+
+?>
+--CLEAN--
+<?php
+rmdir('test_dir_ptfi');
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/spl/tests/DirectoryIterator_getInode_basic.phpt b/ext/spl/tests/DirectoryIterator_getInode_basic.phpt
new file mode 100644
index 0000000..4fd7e8d
--- /dev/null
+++ b/ext/spl/tests/DirectoryIterator_getInode_basic.phpt
@@ -0,0 +1,29 @@
+--TEST--
+SPL: Spl Directory Iterator test getInode
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+mkdir('test_dir_ptfi');
+$dirIterator = new DirectoryIterator('test_dir_ptfi');
+var_dump(decoct($dirIterator->getInode()));
+
+?>
+--CLEAN--
+<?php
+rmdir('test_dir_ptfi');
+?>
+--EXPECTF--
+string(%d) "%d"
diff --git a/ext/spl/tests/DirectoryIterator_getInode_error.phpt b/ext/spl/tests/DirectoryIterator_getInode_error.phpt
new file mode 100644
index 0000000..c3641f9
--- /dev/null
+++ b/ext/spl/tests/DirectoryIterator_getInode_error.phpt
@@ -0,0 +1,28 @@
+--TEST--
+SPL: Spl File Info test getInode
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+$fileInfo = new SplFileInfo('not_existing');
+var_dump($fileInfo->getInode());
+?>
+
+--EXPECTF--
+Fatal error: Uncaught exception 'RuntimeException' with message 'SplFileInfo::getInode(): stat failed for %s' in %s
+Stack trace:
+#0 %s: SplFileInfo->getInode()
+#1 {main}
+  thrown in %s
diff --git a/ext/spl/tests/DirectoryIterator_getOwner_basic.phpt b/ext/spl/tests/DirectoryIterator_getOwner_basic.phpt
new file mode 100644
index 0000000..e342dcd
--- /dev/null
+++ b/ext/spl/tests/DirectoryIterator_getOwner_basic.phpt
@@ -0,0 +1,29 @@
+--TEST--
+SPL: Spl Directory Iterator test getOwner
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+shell_exec('mkdir test_dir_ptfi');
+$dir = new DirectoryIterator('test_dir_ptfi');
+$result = shell_exec('ls -lnd test_dir_ptfi | cut -d" " -f 3');
+var_dump($dir->getOwner() == $result);
+
+?>
+--CLEAN--
+<?php
+rmdir('test_dir_ptfi');
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/spl/tests/SplFileInfo_getGroup_basic.phpt b/ext/spl/tests/SplFileInfo_getGroup_basic.phpt
new file mode 100644
index 0000000..7b0528d
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_getGroup_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+SPL: Spl File Info test getGroup
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+touch ('test_file_ptfi');
+$fileInfo = new SplFileInfo('test_file_ptfi');
+$result = shell_exec('ls -ln test_file_ptfi | cut -d" " -f 4');
+var_dump($fileInfo->getGroup() == $result);
+
+?>
+--CLEAN--
+<?php
+unlink('test_file_ptfi');
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/spl/tests/SplFileInfo_getGroup_error.phpt b/ext/spl/tests/SplFileInfo_getGroup_error.phpt
new file mode 100644
index 0000000..f0db00d
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_getGroup_error.phpt
@@ -0,0 +1,28 @@
+--TEST--
+SPL: Spl File Info test getGroup
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+$fileInfo = new SplFileInfo('not_existing');
+var_dump($fileInfo->getGroup());
+?>
+
+--EXPECTF--
+Fatal error: Uncaught exception 'RuntimeException' with message 'SplFileInfo::getGroup(): stat failed for not_existing' in %s
+Stack trace:
+#0 %s: SplFileInfo->getGroup()
+#1 {main}
+  thrown in %s on line %d
diff --git a/ext/spl/tests/SplFileInfo_getInode_basic.phpt b/ext/spl/tests/SplFileInfo_getInode_basic.phpt
new file mode 100644
index 0000000..902cbb3
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_getInode_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+SPL: Spl File Info test getInode
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+touch ('test_file_ptfi');
+$fileInfo = new SplFileInfo('test_file_ptfi');
+$result = shell_exec('ls -i test_file_ptfi');
+var_dump($fileInfo->getInode() == $result);
+
+?>
+--CLEAN--
+<?php
+unlink('test_file_ptfi');
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/spl/tests/SplFileInfo_getInode_error.phpt b/ext/spl/tests/SplFileInfo_getInode_error.phpt
new file mode 100644
index 0000000..bf8efae
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_getInode_error.phpt
@@ -0,0 +1,28 @@
+--TEST--
+SPL: Spl File Info test getPerms
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+$fileInfo = new SplFileInfo('not_existing');
+var_dump($fileInfo->getInode());
+?>
+
+--EXPECTF--
+Fatal error: Uncaught exception 'RuntimeException' with message 'SplFileInfo::getInode(): stat failed for not_existing' in %s
+Stack trace:
+#0 %s: SplFileInfo->getInode()
+#1 {main}
+  thrown in %s on line %d
diff --git a/ext/spl/tests/SplFileInfo_getOwner_basic.phpt b/ext/spl/tests/SplFileInfo_getOwner_basic.phpt
new file mode 100644
index 0000000..50f7943
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_getOwner_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+SPL: Spl File Info test getOwner
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+touch ('test_file_ptfi');
+$fileInfo = new SplFileInfo('test_file_ptfi');
+$result = shell_exec('ls -ln test_file_ptfi | cut -d" " -f 3');
+var_dump($fileInfo->getOwner() == $result);
+
+?>
+--CLEAN--
+<?php
+unlink('test_file_ptfi');
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/spl/tests/SplFileInfo_getOwner_error.phpt b/ext/spl/tests/SplFileInfo_getOwner_error.phpt
new file mode 100644
index 0000000..d5d4678
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_getOwner_error.phpt
@@ -0,0 +1,28 @@
+--TEST--
+SPL: Spl File Info test getOwner
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+$fileInfo = new SplFileInfo('not_existing');
+var_dump($fileInfo->getOwner());
+?>
+
+--EXPECTF--
+Fatal error: Uncaught exception 'RuntimeException' with message 'SplFileInfo::getOwner(): stat failed for not_existing' in %s
+Stack trace:
+#0 %s: SplFileInfo->getOwner()
+#1 {main}
+  thrown in %s on line %d
diff --git a/ext/spl/tests/SplFileInfo_getPerms_basic.phpt b/ext/spl/tests/SplFileInfo_getPerms_basic.phpt
new file mode 100644
index 0000000..e9b7bea
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_getPerms_basic.phpt
@@ -0,0 +1,30 @@
+--TEST--
+SPL: Spl File Info test getPerms
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+touch ('test_file_ptfi');
+chmod('test_file_ptfi', 0557);
+$fileInfo = new SplFileInfo('test_file_ptfi');
+var_dump($fileInfo->getPerms() == 0100557);
+
+?>
+--CLEAN--
+<?php
+unlink('test_file_ptfi');
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/spl/tests/SplFileInfo_getPerms_error.phpt b/ext/spl/tests/SplFileInfo_getPerms_error.phpt
new file mode 100644
index 0000000..8e05cdf
--- /dev/null
+++ b/ext/spl/tests/SplFileInfo_getPerms_error.phpt
@@ -0,0 +1,28 @@
+--TEST--
+SPL: Spl File Info test getPerms
+--CREDITS--
+Cesare D'Amico <cesare.damico at gruppovolta.it>
+Andrea Giorgini <agiorg at gmail.com>
+Filippo De Santis <fd at ideato.it>
+Daniel Londero <daniel.londero at gmail.com>
+Francesco Trucchia <ft at ideato.it>
+Jacopo Romei <jacopo at sviluppoagile.it>
+#Test Fest Cesena (Italy) on 2009-06-20
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+
+//file
+$fileInfo = new SplFileInfo('not_existing');
+var_dump($fileInfo->getPerms() == 0100557);
+?>
+
+--EXPECTF--
+Fatal error: Uncaught exception 'RuntimeException' with message 'SplFileInfo::getPerms(): stat failed for %s' in %s
+Stack trace:
+#0 %s: SplFileInfo->getPerms()
+#1 {main}
+  thrown in %s
diff --git a/ext/spl/tests/arrayObject___construct_basic1.phpt b/ext/spl/tests/arrayObject___construct_basic1.phpt
index 0d690fc..d15cd17 100644
--- a/ext/spl/tests/arrayObject___construct_basic1.phpt
+++ b/ext/spl/tests/arrayObject___construct_basic1.phpt
@@ -1,37 +1,37 @@
---TEST--
-SPL: ArrayObject::__construct basic usage.
---FILE--
-<?php
-echo "--> No arguments:\n";
-var_dump(new ArrayObject());
-
-echo "--> Object argument:\n";
-$a = new stdClass;
-$a->p = 'hello';
-var_dump(new ArrayObject($a));
-
-echo "--> Array argument:\n";
-var_dump(new ArrayObject(array('key1' => 'val1')));
-
-echo "--> Nested ArrayObject argument:\n";
-var_dump(new ArrayObject(new ArrayObject($a)));
-?>
---EXPECTF--
---> No arguments:
-object(ArrayObject)#%d (0) {
-}
---> Object argument:
-object(ArrayObject)#%d (1) {
-  ["p"]=>
-  string(5) "hello"
-}
---> Array argument:
-object(ArrayObject)#%d (1) {
-  ["key1"]=>
-  string(4) "val1"
-}
---> Nested ArrayObject argument:
-object(ArrayObject)#%d (1) {
-  ["p"]=>
-  string(5) "hello"
-}
+--TEST--
+SPL: ArrayObject::__construct basic usage.
+--FILE--
+<?php
+echo "--> No arguments:\n";
+var_dump(new ArrayObject());
+
+echo "--> Object argument:\n";
+$a = new stdClass;
+$a->p = 'hello';
+var_dump(new ArrayObject($a));
+
+echo "--> Array argument:\n";
+var_dump(new ArrayObject(array('key1' => 'val1')));
+
+echo "--> Nested ArrayObject argument:\n";
+var_dump(new ArrayObject(new ArrayObject($a)));
+?>
+--EXPECTF--
+--> No arguments:
+object(ArrayObject)#%d (0) {
+}
+--> Object argument:
+object(ArrayObject)#%d (1) {
+  ["p"]=>
+  string(5) "hello"
+}
+--> Array argument:
+object(ArrayObject)#%d (1) {
+  ["key1"]=>
+  string(4) "val1"
+}
+--> Nested ArrayObject argument:
+object(ArrayObject)#%d (1) {
+  ["p"]=>
+  string(5) "hello"
+}
diff --git a/ext/spl/tests/arrayObject___construct_basic2.phpt b/ext/spl/tests/arrayObject___construct_basic2.phpt
index 5d6d7cc..7999d99 100644
--- a/ext/spl/tests/arrayObject___construct_basic2.phpt
+++ b/ext/spl/tests/arrayObject___construct_basic2.phpt
@@ -1,98 +1,98 @@
---TEST--
-SPL: ArrayObject::__construct basic usage.
---FILE--
-<?php
-class C {
-	public $prop = 'C::prop.orig';
-}
-
-class MyArrayObject extends ArrayObject {
-	public $prop = 'MyArrayObject::prop.orig';
-}	
-
-echo "--> Access prop on instance of ArrayObject:\n";
-$c = new C;
-$ao = new ArrayObject($c);
-testAccess($c, $ao);
-
-echo "\n--> Access prop on instance of MyArrayObject:\n";
-$c = new C;
-$ao = new MyArrayObject($c);
-testAccess($c, $ao);
-
-function testAccess($c, $ao) {
-	echo "  - Iteration:\n";
-	foreach ($ao as $key=>$value) {
-		echo "      $key=>$value\n";
-	}
-
-	echo "  - Read:\n";
-	@var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - Write:\n";
-	$ao->prop = 'changed1';
-	$ao['prop'] = 'changed2';
-	var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - Isset:\n";
-	var_dump(isset($ao->prop), isset($ao['prop']));
-	
-	echo "  - Unset:\n";
-	unset($ao->prop);
-	unset($ao['prop']);
-	var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - After:\n";
-	var_dump($ao, $c);
-}
-?>
---EXPECTF--
---> Access prop on instance of ArrayObject:
-  - Iteration:
-      prop=>C::prop.orig
-  - Read:
-NULL
-string(12) "C::prop.orig"
-  - Write:
-string(8) "changed1"
-string(8) "changed2"
-  - Isset:
-bool(true)
-bool(true)
-  - Unset:
-
-Notice: Undefined property: ArrayObject::$prop in %s on line 40
-
-Notice: Undefined index:  prop in %s on line 40
-NULL
-NULL
-  - After:
-object(ArrayObject)#%d (0) {
-}
-object(C)#%d (0) {
-}
-
---> Access prop on instance of MyArrayObject:
-  - Iteration:
-      prop=>C::prop.orig
-  - Read:
-string(24) "MyArrayObject::prop.orig"
-string(12) "C::prop.orig"
-  - Write:
-string(8) "changed1"
-string(8) "changed2"
-  - Isset:
-bool(true)
-bool(true)
-  - Unset:
-
-Notice: Undefined property: MyArrayObject::$prop in %s on line 40
-
-Notice: Undefined index:  prop in %s on line 40
-NULL
-NULL
-  - After:
-object(MyArrayObject)#%d (0) {
-}
-object(C)#%d (0) {
+--TEST--
+SPL: ArrayObject::__construct basic usage.
+--FILE--
+<?php
+class C {
+	public $prop = 'C::prop.orig';
+}
+
+class MyArrayObject extends ArrayObject {
+	public $prop = 'MyArrayObject::prop.orig';
+}	
+
+echo "--> Access prop on instance of ArrayObject:\n";
+$c = new C;
+$ao = new ArrayObject($c);
+testAccess($c, $ao);
+
+echo "\n--> Access prop on instance of MyArrayObject:\n";
+$c = new C;
+$ao = new MyArrayObject($c);
+testAccess($c, $ao);
+
+function testAccess($c, $ao) {
+	echo "  - Iteration:\n";
+	foreach ($ao as $key=>$value) {
+		echo "      $key=>$value\n";
+	}
+
+	echo "  - Read:\n";
+	@var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - Write:\n";
+	$ao->prop = 'changed1';
+	$ao['prop'] = 'changed2';
+	var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - Isset:\n";
+	var_dump(isset($ao->prop), isset($ao['prop']));
+	
+	echo "  - Unset:\n";
+	unset($ao->prop);
+	unset($ao['prop']);
+	var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - After:\n";
+	var_dump($ao, $c);
+}
+?>
+--EXPECTF--
+--> Access prop on instance of ArrayObject:
+  - Iteration:
+      prop=>C::prop.orig
+  - Read:
+NULL
+string(12) "C::prop.orig"
+  - Write:
+string(8) "changed1"
+string(8) "changed2"
+  - Isset:
+bool(true)
+bool(true)
+  - Unset:
+
+Notice: Undefined property: ArrayObject::$prop in %s on line 40
+
+Notice: Undefined index:  prop in %s on line 40
+NULL
+NULL
+  - After:
+object(ArrayObject)#%d (0) {
+}
+object(C)#%d (0) {
+}
+
+--> Access prop on instance of MyArrayObject:
+  - Iteration:
+      prop=>C::prop.orig
+  - Read:
+string(24) "MyArrayObject::prop.orig"
+string(12) "C::prop.orig"
+  - Write:
+string(8) "changed1"
+string(8) "changed2"
+  - Isset:
+bool(true)
+bool(true)
+  - Unset:
+
+Notice: Undefined property: MyArrayObject::$prop in %s on line 40
+
+Notice: Undefined index:  prop in %s on line 40
+NULL
+NULL
+  - After:
+object(MyArrayObject)#%d (0) {
+}
+object(C)#%d (0) {
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject___construct_basic3.phpt b/ext/spl/tests/arrayObject___construct_basic3.phpt
index 21db65f..cce948a 100644
--- a/ext/spl/tests/arrayObject___construct_basic3.phpt
+++ b/ext/spl/tests/arrayObject___construct_basic3.phpt
@@ -1,99 +1,99 @@
---TEST--
-SPL: ArrayObject::__construct basic usage with ArrayObject::STD_PROP_LIST.
---FILE--
-<?php
-class C {
-	public $prop = 'C::prop.orig';
-}
-
-class MyArrayObject extends ArrayObject {
-	public $prop = 'MyArrayObject::prop.orig';
-}	
-
-echo "\n--> Access prop on instance of ArrayObject with ArrayObject::STD_PROP_LIST:\n";
-$c = new C;
-$ao = new ArrayObject($c, ArrayObject::STD_PROP_LIST);
-testAccess($c, $ao);
-
-echo "\n--> Access prop on instance of MyArrayObject with ArrayObject::STD_PROP_LIST:\n";
-$c = new C;
-$ao = new MyArrayObject($c, ArrayObject::STD_PROP_LIST);
-testAccess($c, $ao);
-
-function testAccess($c, $ao) {
-	echo "  - Iteration:\n";
-	foreach ($ao as $key=>$value) {
-		echo "      $key=>$value\n";
-	}
-
-	echo "  - Read:\n";
-	@var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - Write:\n";
-	$ao->prop = 'changed1';
-	$ao['prop'] = 'changed2';
-	var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - Isset:\n";
-	var_dump(isset($ao->prop), isset($ao['prop']));
-	
-	echo "  - Unset:\n";
-	unset($ao->prop);
-	unset($ao['prop']);
-	var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - After:\n";
-	var_dump($ao, $c);
-}
-?>
---EXPECTF--
-
---> Access prop on instance of ArrayObject with ArrayObject::STD_PROP_LIST:
-  - Iteration:
-      prop=>C::prop.orig
-  - Read:
-NULL
-string(12) "C::prop.orig"
-  - Write:
-string(8) "changed1"
-string(8) "changed2"
-  - Isset:
-bool(true)
-bool(true)
-  - Unset:
-
-Notice: Undefined property: ArrayObject::$prop in %s on line 40
-
-Notice: Undefined index:  prop in %s on line 40
-NULL
-NULL
-  - After:
-object(ArrayObject)#%d (0) {
-}
-object(C)#%d (0) {
-}
-
---> Access prop on instance of MyArrayObject with ArrayObject::STD_PROP_LIST:
-  - Iteration:
-      prop=>C::prop.orig
-  - Read:
-string(24) "MyArrayObject::prop.orig"
-string(12) "C::prop.orig"
-  - Write:
-string(8) "changed1"
-string(8) "changed2"
-  - Isset:
-bool(true)
-bool(true)
-  - Unset:
-
-Notice: Undefined property: MyArrayObject::$prop in %s on line 40
-
-Notice: Undefined index:  prop in %s on line 40
-NULL
-NULL
-  - After:
-object(MyArrayObject)#%d (0) {
-}
-object(C)#%d (0) {
+--TEST--
+SPL: ArrayObject::__construct basic usage with ArrayObject::STD_PROP_LIST.
+--FILE--
+<?php
+class C {
+	public $prop = 'C::prop.orig';
+}
+
+class MyArrayObject extends ArrayObject {
+	public $prop = 'MyArrayObject::prop.orig';
+}	
+
+echo "\n--> Access prop on instance of ArrayObject with ArrayObject::STD_PROP_LIST:\n";
+$c = new C;
+$ao = new ArrayObject($c, ArrayObject::STD_PROP_LIST);
+testAccess($c, $ao);
+
+echo "\n--> Access prop on instance of MyArrayObject with ArrayObject::STD_PROP_LIST:\n";
+$c = new C;
+$ao = new MyArrayObject($c, ArrayObject::STD_PROP_LIST);
+testAccess($c, $ao);
+
+function testAccess($c, $ao) {
+	echo "  - Iteration:\n";
+	foreach ($ao as $key=>$value) {
+		echo "      $key=>$value\n";
+	}
+
+	echo "  - Read:\n";
+	@var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - Write:\n";
+	$ao->prop = 'changed1';
+	$ao['prop'] = 'changed2';
+	var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - Isset:\n";
+	var_dump(isset($ao->prop), isset($ao['prop']));
+	
+	echo "  - Unset:\n";
+	unset($ao->prop);
+	unset($ao['prop']);
+	var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - After:\n";
+	var_dump($ao, $c);
+}
+?>
+--EXPECTF--
+
+--> Access prop on instance of ArrayObject with ArrayObject::STD_PROP_LIST:
+  - Iteration:
+      prop=>C::prop.orig
+  - Read:
+NULL
+string(12) "C::prop.orig"
+  - Write:
+string(8) "changed1"
+string(8) "changed2"
+  - Isset:
+bool(true)
+bool(true)
+  - Unset:
+
+Notice: Undefined property: ArrayObject::$prop in %s on line 40
+
+Notice: Undefined index:  prop in %s on line 40
+NULL
+NULL
+  - After:
+object(ArrayObject)#%d (0) {
+}
+object(C)#%d (0) {
+}
+
+--> Access prop on instance of MyArrayObject with ArrayObject::STD_PROP_LIST:
+  - Iteration:
+      prop=>C::prop.orig
+  - Read:
+string(24) "MyArrayObject::prop.orig"
+string(12) "C::prop.orig"
+  - Write:
+string(8) "changed1"
+string(8) "changed2"
+  - Isset:
+bool(true)
+bool(true)
+  - Unset:
+
+Notice: Undefined property: MyArrayObject::$prop in %s on line 40
+
+Notice: Undefined index:  prop in %s on line 40
+NULL
+NULL
+  - After:
+object(MyArrayObject)#%d (0) {
+}
+object(C)#%d (0) {
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject___construct_basic4.phpt b/ext/spl/tests/arrayObject___construct_basic4.phpt
index be63b4d..d53896d 100644
--- a/ext/spl/tests/arrayObject___construct_basic4.phpt
+++ b/ext/spl/tests/arrayObject___construct_basic4.phpt
@@ -1,101 +1,101 @@
---TEST--
-SPL: ArrayObject::__construct basic usage with ArrayObject::ARRAY_AS_PROPS. 
---FILE--
-<?php
-class C {
-	public $prop = 'C::prop.orig';
-}
-
-class MyArrayObject extends ArrayObject {
-	public $prop = 'MyArrayObject::prop.orig';
-}	
-
-echo "\n--> Access prop on instance of ArrayObject with ArrayObject::ARRAY_AS_PROPS:\n";
-$c = new C;
-$ao = new ArrayObject($c, ArrayObject::ARRAY_AS_PROPS);
-testAccess($c, $ao);
-
-echo "\n--> Access prop on instance of MyArrayObject with ArrayObject::ARRAY_AS_PROPS:\n";
-$c = new C;
-$ao = new MyArrayObject($c, ArrayObject::ARRAY_AS_PROPS);
-testAccess($c, $ao);
-
-function testAccess($c, $ao) {
-	echo "  - Iteration:\n";
-	foreach ($ao as $key=>$value) {
-		echo "      $key=>$value\n";
-	}
-
-	echo "  - Read:\n";
-	@var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - Write:\n";
-	$ao->prop = 'changed1';
-	$ao['prop'] = 'changed2';
-	var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - Isset:\n";
-	var_dump(isset($ao->prop), isset($ao['prop']));
-	
-	echo "  - Unset:\n";
-	unset($ao->prop);
-	unset($ao['prop']);
-	var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - After:\n";
-	var_dump($ao, $c);
-}
-?>
---EXPECTF--
-
---> Access prop on instance of ArrayObject with ArrayObject::ARRAY_AS_PROPS:
-  - Iteration:
-      prop=>C::prop.orig
-  - Read:
-string(12) "C::prop.orig"
-string(12) "C::prop.orig"
-  - Write:
-string(8) "changed2"
-string(8) "changed2"
-  - Isset:
-bool(true)
-bool(true)
-  - Unset:
-
-Notice: Undefined index:  prop in %s on line 39
-
-Notice: Undefined index:  prop in %s on line 40
-
-Notice: Undefined index:  prop in %s on line 40
-NULL
-NULL
-  - After:
-object(ArrayObject)#%d (0) {
-}
-object(C)#%d (0) {
-}
-
---> Access prop on instance of MyArrayObject with ArrayObject::ARRAY_AS_PROPS:
-  - Iteration:
-      prop=>C::prop.orig
-  - Read:
-string(24) "MyArrayObject::prop.orig"
-string(12) "C::prop.orig"
-  - Write:
-string(8) "changed1"
-string(8) "changed2"
-  - Isset:
-bool(true)
-bool(true)
-  - Unset:
-
-Notice: Undefined index:  prop in %s on line 40
-
-Notice: Undefined index:  prop in %s on line 40
-NULL
-NULL
-  - After:
-object(MyArrayObject)#%d (0) {
-}
-object(C)#%d (0) {
-}
+--TEST--
+SPL: ArrayObject::__construct basic usage with ArrayObject::ARRAY_AS_PROPS. 
+--FILE--
+<?php
+class C {
+	public $prop = 'C::prop.orig';
+}
+
+class MyArrayObject extends ArrayObject {
+	public $prop = 'MyArrayObject::prop.orig';
+}	
+
+echo "\n--> Access prop on instance of ArrayObject with ArrayObject::ARRAY_AS_PROPS:\n";
+$c = new C;
+$ao = new ArrayObject($c, ArrayObject::ARRAY_AS_PROPS);
+testAccess($c, $ao);
+
+echo "\n--> Access prop on instance of MyArrayObject with ArrayObject::ARRAY_AS_PROPS:\n";
+$c = new C;
+$ao = new MyArrayObject($c, ArrayObject::ARRAY_AS_PROPS);
+testAccess($c, $ao);
+
+function testAccess($c, $ao) {
+	echo "  - Iteration:\n";
+	foreach ($ao as $key=>$value) {
+		echo "      $key=>$value\n";
+	}
+
+	echo "  - Read:\n";
+	@var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - Write:\n";
+	$ao->prop = 'changed1';
+	$ao['prop'] = 'changed2';
+	var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - Isset:\n";
+	var_dump(isset($ao->prop), isset($ao['prop']));
+	
+	echo "  - Unset:\n";
+	unset($ao->prop);
+	unset($ao['prop']);
+	var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - After:\n";
+	var_dump($ao, $c);
+}
+?>
+--EXPECTF--
+
+--> Access prop on instance of ArrayObject with ArrayObject::ARRAY_AS_PROPS:
+  - Iteration:
+      prop=>C::prop.orig
+  - Read:
+string(12) "C::prop.orig"
+string(12) "C::prop.orig"
+  - Write:
+string(8) "changed2"
+string(8) "changed2"
+  - Isset:
+bool(true)
+bool(true)
+  - Unset:
+
+Notice: Undefined index:  prop in %s on line 39
+
+Notice: Undefined index:  prop in %s on line 40
+
+Notice: Undefined index:  prop in %s on line 40
+NULL
+NULL
+  - After:
+object(ArrayObject)#%d (0) {
+}
+object(C)#%d (0) {
+}
+
+--> Access prop on instance of MyArrayObject with ArrayObject::ARRAY_AS_PROPS:
+  - Iteration:
+      prop=>C::prop.orig
+  - Read:
+string(24) "MyArrayObject::prop.orig"
+string(12) "C::prop.orig"
+  - Write:
+string(8) "changed1"
+string(8) "changed2"
+  - Isset:
+bool(true)
+bool(true)
+  - Unset:
+
+Notice: Undefined index:  prop in %s on line 40
+
+Notice: Undefined index:  prop in %s on line 40
+NULL
+NULL
+  - After:
+object(MyArrayObject)#%d (0) {
+}
+object(C)#%d (0) {
+}
diff --git a/ext/spl/tests/arrayObject___construct_basic5.phpt b/ext/spl/tests/arrayObject___construct_basic5.phpt
index 3e69c6d..4aff61c 100644
--- a/ext/spl/tests/arrayObject___construct_basic5.phpt
+++ b/ext/spl/tests/arrayObject___construct_basic5.phpt
@@ -1,101 +1,101 @@
---TEST--
-SPL: ArrayObject::__construct basic usage with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS.
---FILE--
-<?php
-class C {
-	public $prop = 'C::prop.orig';
-}
-
-class MyArrayObject extends ArrayObject {
-	public $prop = 'MyArrayObject::prop.orig';
-}	
-
-echo "\n--> Access prop on instance of ArrayObject with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS:\n";
-$c = new C;
-$ao = new ArrayObject($c, ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS);
-testAccess($c, $ao);
-
-echo "\n--> Access prop on instance of MyArrayObject with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS:\n";
-$c = new C;
-$ao = new MyArrayObject($c, ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS);
-testAccess($c, $ao);
-
-function testAccess($c, $ao) {
-	echo "  - Iteration:\n";
-	foreach ($ao as $key=>$value) {
-		echo "      $key=>$value\n";
-	}
-
-	echo "  - Read:\n";
-	@var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - Write:\n";
-	$ao->prop = 'changed1';
-	$ao['prop'] = 'changed2';
-	var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - Isset:\n";
-	var_dump(isset($ao->prop), isset($ao['prop']));
-	
-	echo "  - Unset:\n";
-	unset($ao->prop);
-	unset($ao['prop']);
-	var_dump($ao->prop, $ao['prop']);
-	
-	echo "  - After:\n";
-	var_dump($ao, $c);
-}
-?>
---EXPECTF--
-
---> Access prop on instance of ArrayObject with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS:
-  - Iteration:
-      prop=>C::prop.orig
-  - Read:
-string(12) "C::prop.orig"
-string(12) "C::prop.orig"
-  - Write:
-string(8) "changed2"
-string(8) "changed2"
-  - Isset:
-bool(true)
-bool(true)
-  - Unset:
-
-Notice: Undefined index:  prop in %s on line 39
-
-Notice: Undefined index:  prop in %s on line 40
-
-Notice: Undefined index:  prop in %s on line 40
-NULL
-NULL
-  - After:
-object(ArrayObject)#%d (0) {
-}
-object(C)#%d (0) {
-}
-
---> Access prop on instance of MyArrayObject with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS:
-  - Iteration:
-      prop=>C::prop.orig
-  - Read:
-string(24) "MyArrayObject::prop.orig"
-string(12) "C::prop.orig"
-  - Write:
-string(8) "changed1"
-string(8) "changed2"
-  - Isset:
-bool(true)
-bool(true)
-  - Unset:
-
-Notice: Undefined index:  prop in %s on line 40
-
-Notice: Undefined index:  prop in %s on line 40
-NULL
-NULL
-  - After:
-object(MyArrayObject)#%d (0) {
-}
-object(C)#%d (0) {
-}
+--TEST--
+SPL: ArrayObject::__construct basic usage with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS.
+--FILE--
+<?php
+class C {
+	public $prop = 'C::prop.orig';
+}
+
+class MyArrayObject extends ArrayObject {
+	public $prop = 'MyArrayObject::prop.orig';
+}	
+
+echo "\n--> Access prop on instance of ArrayObject with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS:\n";
+$c = new C;
+$ao = new ArrayObject($c, ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS);
+testAccess($c, $ao);
+
+echo "\n--> Access prop on instance of MyArrayObject with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS:\n";
+$c = new C;
+$ao = new MyArrayObject($c, ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS);
+testAccess($c, $ao);
+
+function testAccess($c, $ao) {
+	echo "  - Iteration:\n";
+	foreach ($ao as $key=>$value) {
+		echo "      $key=>$value\n";
+	}
+
+	echo "  - Read:\n";
+	@var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - Write:\n";
+	$ao->prop = 'changed1';
+	$ao['prop'] = 'changed2';
+	var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - Isset:\n";
+	var_dump(isset($ao->prop), isset($ao['prop']));
+	
+	echo "  - Unset:\n";
+	unset($ao->prop);
+	unset($ao['prop']);
+	var_dump($ao->prop, $ao['prop']);
+	
+	echo "  - After:\n";
+	var_dump($ao, $c);
+}
+?>
+--EXPECTF--
+
+--> Access prop on instance of ArrayObject with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS:
+  - Iteration:
+      prop=>C::prop.orig
+  - Read:
+string(12) "C::prop.orig"
+string(12) "C::prop.orig"
+  - Write:
+string(8) "changed2"
+string(8) "changed2"
+  - Isset:
+bool(true)
+bool(true)
+  - Unset:
+
+Notice: Undefined index:  prop in %s on line 39
+
+Notice: Undefined index:  prop in %s on line 40
+
+Notice: Undefined index:  prop in %s on line 40
+NULL
+NULL
+  - After:
+object(ArrayObject)#%d (0) {
+}
+object(C)#%d (0) {
+}
+
+--> Access prop on instance of MyArrayObject with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS:
+  - Iteration:
+      prop=>C::prop.orig
+  - Read:
+string(24) "MyArrayObject::prop.orig"
+string(12) "C::prop.orig"
+  - Write:
+string(8) "changed1"
+string(8) "changed2"
+  - Isset:
+bool(true)
+bool(true)
+  - Unset:
+
+Notice: Undefined index:  prop in %s on line 40
+
+Notice: Undefined index:  prop in %s on line 40
+NULL
+NULL
+  - After:
+object(MyArrayObject)#%d (0) {
+}
+object(C)#%d (0) {
+}
diff --git a/ext/spl/tests/arrayObject___construct_basic6.phpt b/ext/spl/tests/arrayObject___construct_basic6.phpt
index 150865d..d3c8c5d 100644
--- a/ext/spl/tests/arrayObject___construct_basic6.phpt
+++ b/ext/spl/tests/arrayObject___construct_basic6.phpt
@@ -1,50 +1,50 @@
---TEST--
-SPL: ArrayObject::__construct: check impact of ArrayObject::STD_PROP_LIST on var_dump.
---FILE--
-<?php
-class MyArrayObject extends ArrayObject {
-	private $priv1 = 'secret1';
-	public $pub1 = 'public1';
-} 
-
-$ao = new ArrayObject(array(1,2,3));
-$ao->p = 1;
-var_dump($ao);
-
-$ao = new ArrayObject(array(1,2,3), ArrayObject::STD_PROP_LIST);
-$ao->p = 1;
-var_dump($ao);
-
-$ao = new MyArrayObject(array(1,2,3));
-var_dump($ao);
-
-$ao = new MyArrayObject(array(1,2,3), ArrayObject::STD_PROP_LIST);
-var_dump($ao);
-?>
---EXPECTF--
-object(ArrayObject)#%d (3) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-  [2]=>
-  int(3)
-}
-object(ArrayObject)#%d (1) {
-  ["p"]=>
-  int(1)
-}
-object(MyArrayObject)#%d (3) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-  [2]=>
-  int(3)
-}
-object(MyArrayObject)#%d (2) {
-  ["priv1:private"]=>
-  string(7) "secret1"
-  ["pub1"]=>
-  string(7) "public1"
+--TEST--
+SPL: ArrayObject::__construct: check impact of ArrayObject::STD_PROP_LIST on var_dump.
+--FILE--
+<?php
+class MyArrayObject extends ArrayObject {
+	private $priv1 = 'secret1';
+	public $pub1 = 'public1';
+} 
+
+$ao = new ArrayObject(array(1,2,3));
+$ao->p = 1;
+var_dump($ao);
+
+$ao = new ArrayObject(array(1,2,3), ArrayObject::STD_PROP_LIST);
+$ao->p = 1;
+var_dump($ao);
+
+$ao = new MyArrayObject(array(1,2,3));
+var_dump($ao);
+
+$ao = new MyArrayObject(array(1,2,3), ArrayObject::STD_PROP_LIST);
+var_dump($ao);
+?>
+--EXPECTF--
+object(ArrayObject)#%d (3) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+  [2]=>
+  int(3)
+}
+object(ArrayObject)#%d (1) {
+  ["p"]=>
+  int(1)
+}
+object(MyArrayObject)#%d (3) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+  [2]=>
+  int(3)
+}
+object(MyArrayObject)#%d (2) {
+  ["priv1:private"]=>
+  string(7) "secret1"
+  ["pub1"]=>
+  string(7) "public1"
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject___construct_error2.phpt b/ext/spl/tests/arrayObject___construct_error2.phpt
index 80b68d6..850a2cb 100644
--- a/ext/spl/tests/arrayObject___construct_error2.phpt
+++ b/ext/spl/tests/arrayObject___construct_error2.phpt
@@ -1,22 +1,22 @@
---TEST--
-SPL: ArrayObject::__construct with too many arguments.
---FILE--
-<?php
-echo "Too many arguments:\n";
-Class C implements Iterator {
-	function current() {}
-	function next() {}
-	function key() {}
-	function valid() {}
-	function rewind() {}
-}
-
-try {
-  var_dump(new ArrayObject(new stdClass, 0, "C", "extra"));
-} catch (InvalidArgumentException $e) {
-  echo $e->getMessage() . "(" . $e->getLine() .  ")\n";
-}
-?>
---EXPECTF--
-Too many arguments:
+--TEST--
+SPL: ArrayObject::__construct with too many arguments.
+--FILE--
+<?php
+echo "Too many arguments:\n";
+Class C implements Iterator {
+	function current() {}
+	function next() {}
+	function key() {}
+	function valid() {}
+	function rewind() {}
+}
+
+try {
+  var_dump(new ArrayObject(new stdClass, 0, "C", "extra"));
+} catch (InvalidArgumentException $e) {
+  echo $e->getMessage() . "(" . $e->getLine() .  ")\n";
+}
+?>
+--EXPECTF--
+Too many arguments:
 ArrayObject::__construct() expects at most 3 parameters, 4 given(12)
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_asort_basic1.phpt b/ext/spl/tests/arrayObject_asort_basic1.phpt
index 4422f28..166bc5c 100644
--- a/ext/spl/tests/arrayObject_asort_basic1.phpt
+++ b/ext/spl/tests/arrayObject_asort_basic1.phpt
@@ -1,42 +1,42 @@
---TEST--
-SPL: Test ArrayObject::asort() function : basic functionality with array based store
---FILE--
-<?php
-/* Prototype  : int ArrayObject::asort()
- * Description: proto int ArrayIterator::asort()
- * Sort the entries by values. 
- * Source code: ext/spl/spl_array.c
- * Alias to functions: 
- */
-
-echo "*** Testing ArrayObject::asort() : basic functionality ***\n";
-
-$ao1 = new ArrayObject(array(4,2,3));
-$ao2 = new ArrayObject(array('a'=>4,'b'=>2,'c'=>3));
-var_dump($ao1->asort());
-var_dump($ao1);
-var_dump($ao2->asort('blah'));
-var_dump($ao2);
-?>
-===DONE===
---EXPECTF--
-*** Testing ArrayObject::asort() : basic functionality ***
-bool(true)
-object(ArrayObject)#%d (3) {
-  [1]=>
-  int(2)
-  [2]=>
-  int(3)
-  [0]=>
-  int(4)
-}
-bool(true)
-object(ArrayObject)#%d (3) {
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["a"]=>
-  int(4)
-}
+--TEST--
+SPL: Test ArrayObject::asort() function : basic functionality with array based store
+--FILE--
+<?php
+/* Prototype  : int ArrayObject::asort()
+ * Description: proto int ArrayIterator::asort()
+ * Sort the entries by values. 
+ * Source code: ext/spl/spl_array.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing ArrayObject::asort() : basic functionality ***\n";
+
+$ao1 = new ArrayObject(array(4,2,3));
+$ao2 = new ArrayObject(array('a'=>4,'b'=>2,'c'=>3));
+var_dump($ao1->asort());
+var_dump($ao1);
+var_dump($ao2->asort('blah'));
+var_dump($ao2);
+?>
+===DONE===
+--EXPECTF--
+*** Testing ArrayObject::asort() : basic functionality ***
+bool(true)
+object(ArrayObject)#%d (3) {
+  [1]=>
+  int(2)
+  [2]=>
+  int(3)
+  [0]=>
+  int(4)
+}
+bool(true)
+object(ArrayObject)#%d (3) {
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["a"]=>
+  int(4)
+}
 ===DONE===
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_asort_basic2.phpt b/ext/spl/tests/arrayObject_asort_basic2.phpt
index f411c9e..9b8056c 100644
--- a/ext/spl/tests/arrayObject_asort_basic2.phpt
+++ b/ext/spl/tests/arrayObject_asort_basic2.phpt
@@ -1,49 +1,49 @@
---TEST--
-SPL: Test ArrayObject::asort() function : basic functionality with object based store
---FILE--
-<?php
-/* Prototype  : int ArrayObject::asort()
- * Description: proto int ArrayIterator::asort()
- * Sort the entries by values. 
- * Source code: ext/spl/spl_array.c
- * Alias to functions: 
- */
-
-echo "*** Testing ArrayObject::asort() : basic functionality ***\n";
-Class C {
-	public $prop1 = 'x';
-	public $prop2 = 'z';
-	private $prop3 = 'a';
-	public $prop4 = 'x';
-}
-
-$c = new C;
-$ao1 = new ArrayObject($c);
-var_dump($ao1->asort());
-var_dump($ao1, $c);
-?>
-===DONE===
---EXPECTF--
-*** Testing ArrayObject::asort() : basic functionality ***
-bool(true)
-object(ArrayObject)#%d (4) {
-  ["prop3:private"]=>
-  string(1) "a"
-  ["prop1"]=>
-  string(1) "x"
-  ["prop4"]=>
-  string(1) "x"
-  ["prop2"]=>
-  string(1) "z"
-}
-object(C)#%d (4) {
-  ["prop3:private"]=>
-  string(1) "a"
-  ["prop1"]=>
-  string(1) "x"
-  ["prop4"]=>
-  string(1) "x"
-  ["prop2"]=>
-  string(1) "z"
-}
+--TEST--
+SPL: Test ArrayObject::asort() function : basic functionality with object based store
+--FILE--
+<?php
+/* Prototype  : int ArrayObject::asort()
+ * Description: proto int ArrayIterator::asort()
+ * Sort the entries by values. 
+ * Source code: ext/spl/spl_array.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing ArrayObject::asort() : basic functionality ***\n";
+Class C {
+	public $prop1 = 'x';
+	public $prop2 = 'z';
+	private $prop3 = 'a';
+	public $prop4 = 'x';
+}
+
+$c = new C;
+$ao1 = new ArrayObject($c);
+var_dump($ao1->asort());
+var_dump($ao1, $c);
+?>
+===DONE===
+--EXPECTF--
+*** Testing ArrayObject::asort() : basic functionality ***
+bool(true)
+object(ArrayObject)#%d (4) {
+  ["prop3:private"]=>
+  string(1) "a"
+  ["prop1"]=>
+  string(1) "x"
+  ["prop4"]=>
+  string(1) "x"
+  ["prop2"]=>
+  string(1) "z"
+}
+object(C)#%d (4) {
+  ["prop3:private"]=>
+  string(1) "a"
+  ["prop1"]=>
+  string(1) "x"
+  ["prop4"]=>
+  string(1) "x"
+  ["prop2"]=>
+  string(1) "z"
+}
 ===DONE===
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_clone_basic1.phpt b/ext/spl/tests/arrayObject_clone_basic1.phpt
index cc72e4a..39caa5c 100644
--- a/ext/spl/tests/arrayObject_clone_basic1.phpt
+++ b/ext/spl/tests/arrayObject_clone_basic1.phpt
@@ -1,42 +1,42 @@
---TEST--
-SPL: Cloning an instance of ArrayObject which wraps an array. 
---FILE--
-<?php
-$a = array(1,2);
-$aa1 =  new ArrayObject($a);
-$a['p1'] = 'new element added to a before clone';
-
-$aa2 = clone $aa1;
-
-$a['p2'] = 'new element added to a after clone';
-$aa1['new.aa1'] = 'new element added to aa1';
-$aa2['new.aa2'] = 'new element added to aa2';
-var_dump($a, $aa1, $aa2);
-?>
---EXPECTF--
-array(4) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-  ["p1"]=>
-  string(35) "new element added to a before clone"
-  ["p2"]=>
-  string(34) "new element added to a after clone"
-}
-object(ArrayObject)#%d (3) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-  ["new.aa1"]=>
-  string(24) "new element added to aa1"
-}
-object(ArrayObject)#%d (3) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-  ["new.aa2"]=>
-  string(24) "new element added to aa2"
+--TEST--
+SPL: Cloning an instance of ArrayObject which wraps an array. 
+--FILE--
+<?php
+$a = array(1,2);
+$aa1 =  new ArrayObject($a);
+$a['p1'] = 'new element added to a before clone';
+
+$aa2 = clone $aa1;
+
+$a['p2'] = 'new element added to a after clone';
+$aa1['new.aa1'] = 'new element added to aa1';
+$aa2['new.aa2'] = 'new element added to aa2';
+var_dump($a, $aa1, $aa2);
+?>
+--EXPECTF--
+array(4) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+  ["p1"]=>
+  string(35) "new element added to a before clone"
+  ["p2"]=>
+  string(34) "new element added to a after clone"
+}
+object(ArrayObject)#%d (3) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+  ["new.aa1"]=>
+  string(24) "new element added to aa1"
+}
+object(ArrayObject)#%d (3) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+  ["new.aa2"]=>
+  string(24) "new element added to aa2"
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_clone_basic2.phpt b/ext/spl/tests/arrayObject_clone_basic2.phpt
index 908907c..a28e7df 100644
--- a/ext/spl/tests/arrayObject_clone_basic2.phpt
+++ b/ext/spl/tests/arrayObject_clone_basic2.phpt
@@ -1,40 +1,40 @@
---TEST--
-SPL: Cloning an instance of ArrayObject which wraps an object. 
---FILE--
-<?php
-class C { }
-
-$c = new C;
-$ao1 =  new ArrayObject($c);
-$c->p1 = 'new prop added to c before clone';
-
-$ao2 = clone $ao1;
-
-$c->p2 = 'new prop added to c after clone';
-$ao1['new.ao1'] = 'new element added to ao1';
-$ao2['new.ao2'] = 'new element added to ao2';
-var_dump($c, $ao1, $ao2);
-?>
---EXPECTF--
-object(C)#%d (3) {
-  ["p1"]=>
-  string(32) "new prop added to c before clone"
-  ["p2"]=>
-  string(31) "new prop added to c after clone"
-  ["new.ao1"]=>
-  string(24) "new element added to ao1"
-}
-object(ArrayObject)#%d (3) {
-  ["p1"]=>
-  string(32) "new prop added to c before clone"
-  ["p2"]=>
-  string(31) "new prop added to c after clone"
-  ["new.ao1"]=>
-  string(24) "new element added to ao1"
-}
-object(ArrayObject)#%d (2) {
-  ["p1"]=>
-  string(32) "new prop added to c before clone"
-  ["new.ao2"]=>
-  string(24) "new element added to ao2"
-}
+--TEST--
+SPL: Cloning an instance of ArrayObject which wraps an object. 
+--FILE--
+<?php
+class C { }
+
+$c = new C;
+$ao1 =  new ArrayObject($c);
+$c->p1 = 'new prop added to c before clone';
+
+$ao2 = clone $ao1;
+
+$c->p2 = 'new prop added to c after clone';
+$ao1['new.ao1'] = 'new element added to ao1';
+$ao2['new.ao2'] = 'new element added to ao2';
+var_dump($c, $ao1, $ao2);
+?>
+--EXPECTF--
+object(C)#%d (3) {
+  ["p1"]=>
+  string(32) "new prop added to c before clone"
+  ["p2"]=>
+  string(31) "new prop added to c after clone"
+  ["new.ao1"]=>
+  string(24) "new element added to ao1"
+}
+object(ArrayObject)#%d (3) {
+  ["p1"]=>
+  string(32) "new prop added to c before clone"
+  ["p2"]=>
+  string(31) "new prop added to c after clone"
+  ["new.ao1"]=>
+  string(24) "new element added to ao1"
+}
+object(ArrayObject)#%d (2) {
+  ["p1"]=>
+  string(32) "new prop added to c before clone"
+  ["new.ao2"]=>
+  string(24) "new element added to ao2"
+}
diff --git a/ext/spl/tests/arrayObject_clone_basic3.phpt b/ext/spl/tests/arrayObject_clone_basic3.phpt
index 092bdde..66f96a5 100644
--- a/ext/spl/tests/arrayObject_clone_basic3.phpt
+++ b/ext/spl/tests/arrayObject_clone_basic3.phpt
@@ -1,68 +1,68 @@
---TEST--
-SPL: Cloning nested ArrayObjects. 
---FILE--
-<?php
-class C {
-	public $p = 'C::p.orig';
-}
-
-$wrappedObject = new C;
-$innerArrayObject = new ArrayObject($wrappedObject);
-
-$outerArrayObject =  new ArrayObject($innerArrayObject);
-
-$wrappedObject->dynamic1 = 'new prop added to $wrappedObject before clone';
-$clonedOuterArrayObject = clone $outerArrayObject;
-$wrappedObject->dynamic2 = 'new prop added to $wrappedObject after clone';
-
-$innerArrayObject['new.iAO'] = 'new element added $innerArrayObject';
-$outerArrayObject['new.oAO'] = 'new element added to $outerArrayObject';
-$clonedOuterArrayObject['new.coAO'] = 'new element added to $clonedOuterArrayObject';
-
-var_dump($wrappedObject, $innerArrayObject, $outerArrayObject, $clonedOuterArrayObject);
-?>
---EXPECTF--
-object(C)#%d (5) {
-  ["p"]=>
-  string(9) "C::p.orig"
-  ["dynamic1"]=>
-  string(45) "new prop added to $wrappedObject before clone"
-  ["dynamic2"]=>
-  string(44) "new prop added to $wrappedObject after clone"
-  ["new.iAO"]=>
-  string(35) "new element added $innerArrayObject"
-  ["new.oAO"]=>
-  string(38) "new element added to $outerArrayObject"
-}
-object(ArrayObject)#%d (5) {
-  ["p"]=>
-  string(9) "C::p.orig"
-  ["dynamic1"]=>
-  string(45) "new prop added to $wrappedObject before clone"
-  ["dynamic2"]=>
-  string(44) "new prop added to $wrappedObject after clone"
-  ["new.iAO"]=>
-  string(35) "new element added $innerArrayObject"
-  ["new.oAO"]=>
-  string(38) "new element added to $outerArrayObject"
-}
-object(ArrayObject)#%d (5) {
-  ["p"]=>
-  string(9) "C::p.orig"
-  ["dynamic1"]=>
-  string(45) "new prop added to $wrappedObject before clone"
-  ["dynamic2"]=>
-  string(44) "new prop added to $wrappedObject after clone"
-  ["new.iAO"]=>
-  string(35) "new element added $innerArrayObject"
-  ["new.oAO"]=>
-  string(38) "new element added to $outerArrayObject"
-}
-object(ArrayObject)#%d (3) {
-  ["p"]=>
-  string(9) "C::p.orig"
-  ["dynamic1"]=>
-  string(45) "new prop added to $wrappedObject before clone"
-  ["new.coAO"]=>
-  string(44) "new element added to $clonedOuterArrayObject"
+--TEST--
+SPL: Cloning nested ArrayObjects. 
+--FILE--
+<?php
+class C {
+	public $p = 'C::p.orig';
+}
+
+$wrappedObject = new C;
+$innerArrayObject = new ArrayObject($wrappedObject);
+
+$outerArrayObject =  new ArrayObject($innerArrayObject);
+
+$wrappedObject->dynamic1 = 'new prop added to $wrappedObject before clone';
+$clonedOuterArrayObject = clone $outerArrayObject;
+$wrappedObject->dynamic2 = 'new prop added to $wrappedObject after clone';
+
+$innerArrayObject['new.iAO'] = 'new element added $innerArrayObject';
+$outerArrayObject['new.oAO'] = 'new element added to $outerArrayObject';
+$clonedOuterArrayObject['new.coAO'] = 'new element added to $clonedOuterArrayObject';
+
+var_dump($wrappedObject, $innerArrayObject, $outerArrayObject, $clonedOuterArrayObject);
+?>
+--EXPECTF--
+object(C)#%d (5) {
+  ["p"]=>
+  string(9) "C::p.orig"
+  ["dynamic1"]=>
+  string(45) "new prop added to $wrappedObject before clone"
+  ["dynamic2"]=>
+  string(44) "new prop added to $wrappedObject after clone"
+  ["new.iAO"]=>
+  string(35) "new element added $innerArrayObject"
+  ["new.oAO"]=>
+  string(38) "new element added to $outerArrayObject"
+}
+object(ArrayObject)#%d (5) {
+  ["p"]=>
+  string(9) "C::p.orig"
+  ["dynamic1"]=>
+  string(45) "new prop added to $wrappedObject before clone"
+  ["dynamic2"]=>
+  string(44) "new prop added to $wrappedObject after clone"
+  ["new.iAO"]=>
+  string(35) "new element added $innerArrayObject"
+  ["new.oAO"]=>
+  string(38) "new element added to $outerArrayObject"
+}
+object(ArrayObject)#%d (5) {
+  ["p"]=>
+  string(9) "C::p.orig"
+  ["dynamic1"]=>
+  string(45) "new prop added to $wrappedObject before clone"
+  ["dynamic2"]=>
+  string(44) "new prop added to $wrappedObject after clone"
+  ["new.iAO"]=>
+  string(35) "new element added $innerArrayObject"
+  ["new.oAO"]=>
+  string(38) "new element added to $outerArrayObject"
+}
+object(ArrayObject)#%d (3) {
+  ["p"]=>
+  string(9) "C::p.orig"
+  ["dynamic1"]=>
+  string(45) "new prop added to $wrappedObject before clone"
+  ["new.coAO"]=>
+  string(44) "new element added to $clonedOuterArrayObject"
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_count_basic1.phpt b/ext/spl/tests/arrayObject_count_basic1.phpt
index 63686b0..1a3b84d 100644
--- a/ext/spl/tests/arrayObject_count_basic1.phpt
+++ b/ext/spl/tests/arrayObject_count_basic1.phpt
@@ -1,80 +1,80 @@
---TEST--
-SPL: ArrayObject::count() and ArrayIterator::count() basic functionality. 
---FILE--
-==ArrayObject==
-<?php
-class C extends ArrayObject {
-  function count() {
-    return 99;
-  }
-}
-
-$c = new C;
-$ao = new ArrayObject;
-
-var_dump(count($c), count($ao));
-
-$c[] = 'a';
-$ao[] = 'a';
-var_dump(count($c), count($ao));
-
-$c[] = 'b';
-$ao[] = 'b';
-var_dump(count($c), count($ao));
-
-unset($c[0]);
-unset($ao[0]);
-var_dump($c->count(), $ao->count());
-
-//Extra args are ignored.
-var_dump($ao->count('blah'));
-?>
-==ArrayIterator==
-<?php
-class D extends ArrayIterator {
-  function count() {
-    return 99;
-  }
-}
-
-$c = new D;
-$ao = new ArrayIterator;
-
-var_dump(count($c), count($ao));
-
-$c[] = 'a';
-$ao[] = 'a';
-var_dump(count($c), count($ao));
-
-$c[] = 'b';
-$ao[] = 'b';
-var_dump(count($c), count($ao));
-
-unset($c[0]);
-unset($ao[0]);
-var_dump($c->count(), $ao->count());
-
-//Extra args are ignored.
-var_dump($ao->count('blah'));
-?>
---EXPECTF--
-==ArrayObject==
-int(99)
-int(0)
-int(99)
-int(1)
-int(99)
-int(2)
-int(99)
-int(1)
-int(1)
-==ArrayIterator==
-int(99)
-int(0)
-int(99)
-int(1)
-int(99)
-int(2)
-int(99)
-int(1)
+--TEST--
+SPL: ArrayObject::count() and ArrayIterator::count() basic functionality. 
+--FILE--
+==ArrayObject==
+<?php
+class C extends ArrayObject {
+  function count() {
+    return 99;
+  }
+}
+
+$c = new C;
+$ao = new ArrayObject;
+
+var_dump(count($c), count($ao));
+
+$c[] = 'a';
+$ao[] = 'a';
+var_dump(count($c), count($ao));
+
+$c[] = 'b';
+$ao[] = 'b';
+var_dump(count($c), count($ao));
+
+unset($c[0]);
+unset($ao[0]);
+var_dump($c->count(), $ao->count());
+
+//Extra args are ignored.
+var_dump($ao->count('blah'));
+?>
+==ArrayIterator==
+<?php
+class D extends ArrayIterator {
+  function count() {
+    return 99;
+  }
+}
+
+$c = new D;
+$ao = new ArrayIterator;
+
+var_dump(count($c), count($ao));
+
+$c[] = 'a';
+$ao[] = 'a';
+var_dump(count($c), count($ao));
+
+$c[] = 'b';
+$ao[] = 'b';
+var_dump(count($c), count($ao));
+
+unset($c[0]);
+unset($ao[0]);
+var_dump($c->count(), $ao->count());
+
+//Extra args are ignored.
+var_dump($ao->count('blah'));
+?>
+--EXPECTF--
+==ArrayObject==
+int(99)
+int(0)
+int(99)
+int(1)
+int(99)
+int(2)
+int(99)
+int(1)
+int(1)
+==ArrayIterator==
+int(99)
+int(0)
+int(99)
+int(1)
+int(99)
+int(2)
+int(99)
+int(1)
 int(1)
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_exchangeArray_basic3.phpt b/ext/spl/tests/arrayObject_exchangeArray_basic3.phpt
index 791ecd4..b246172 100644
--- a/ext/spl/tests/arrayObject_exchangeArray_basic3.phpt
+++ b/ext/spl/tests/arrayObject_exchangeArray_basic3.phpt
@@ -1,121 +1,121 @@
---TEST--
-SPL: ArrayObject::exchangeArray() basic usage with object as underlying data store.
---XFAIL--
-Failing in 5.2 due to http://thread.gmane.org/gmane.comp.php.devel/52545/focus=52559
---FILE--
-<?php
-
-class C {
-	public $pub1 = 'public1';
-} 
-
-echo "--> exchangeArray() with objects:\n";
-$original = new C;
-$ao = new ArrayObject($original);
-$swapIn = new C;
-try {
-	$copy = $ao->exchangeArray($swapIn);
-	$copy['addedToCopy'] = 'added To Copy';
-} catch (Exception $e) {
-	echo "Exception:" . $e->getMessage() . "\n";
-}
-$swapIn->addedToSwapIn = 'added To Swap-In';
-$original->addedToOriginal = 'added To Original';
-var_dump($ao, $original, $swapIn, $copy);
-
-
-echo "\n\n--> exchangeArray() with no arg:\n";
-unset($original, $ao, $swapIn, $copy);
-$original = new C;
-$ao = new ArrayObject($original);
-try {
-	$copy = $ao->exchangeArray();
-	$copy['addedToCopy'] = 'added To Copy';
-} catch (Exception $e) {
-	echo "Exception:" . $e->getMessage() . "\n";
-}
-$original->addedToOriginal = 'added To Original';
-var_dump($ao, $original, $copy);
-
-echo "\n\n--> exchangeArray() with bad arg type:\n";
-unset($original, $ao, $swapIn, $copy);
-$original = new C;
-$ao = new ArrayObject($original);
-try {
-	$copy = $ao->exchangeArray(null);
-	$copy['addedToCopy'] = 'added To Copy';
-} catch (Exception $e) {
-	echo "Exception:" . $e->getMessage() . "\n";
-}
-$original->addedToOriginal = 'added To Original';
-var_dump($ao, $original, $copy);
-
-?>
---EXPECTF--
---> exchangeArray() with objects:
-object(ArrayObject)#%d (2) {
-  ["pub1"]=>
-  string(7) "public1"
-  ["addedToSwapIn"]=>
-  string(16) "added To Swap-In"
-}
-object(C)#%d (2) {
-  ["pub1"]=>
-  string(7) "public1"
-  ["addedToOriginal"]=>
-  string(17) "added To Original"
-}
-object(C)#%d (2) {
-  ["pub1"]=>
-  string(7) "public1"
-  ["addedToSwapIn"]=>
-  string(16) "added To Swap-In"
-}
-array(2) {
-  ["pub1"]=>
-  string(7) "public1"
-  ["addedToCopy"]=>
-  string(13) "added To Copy"
-}
-
-
---> exchangeArray() with no arg:
-
-Warning: ArrayObject::exchangeArray() expects exactly 1 parameter, 0 given in %s on line 27
-object(ArrayObject)#%d (2) {
-  ["pub1"]=>
-  string(7) "public1"
-  ["addedToOriginal"]=>
-  string(17) "added To Original"
-}
-object(C)#%d (2) {
-  ["pub1"]=>
-  string(7) "public1"
-  ["addedToOriginal"]=>
-  string(17) "added To Original"
-}
-array(2) {
-  ["pub1"]=>
-  string(7) "public1"
-  ["addedToCopy"]=>
-  string(13) "added To Copy"
-}
-
-
---> exchangeArray() with bad arg type:
-Exception:Passed variable is not an array or object, using empty array instead
-
-Notice: Undefined variable: copy in %s on line 46
-object(ArrayObject)#%d (2) {
-  ["pub1"]=>
-  string(7) "public1"
-  ["addedToOriginal"]=>
-  string(17) "added To Original"
-}
-object(C)#%d (2) {
-  ["pub1"]=>
-  string(7) "public1"
-  ["addedToOriginal"]=>
-  string(17) "added To Original"
-}
-NULL
+--TEST--
+SPL: ArrayObject::exchangeArray() basic usage with object as underlying data store.
+--XFAIL--
+Failing in 5.2 due to http://thread.gmane.org/gmane.comp.php.devel/52545/focus=52559
+--FILE--
+<?php
+
+class C {
+	public $pub1 = 'public1';
+} 
+
+echo "--> exchangeArray() with objects:\n";
+$original = new C;
+$ao = new ArrayObject($original);
+$swapIn = new C;
+try {
+	$copy = $ao->exchangeArray($swapIn);
+	$copy['addedToCopy'] = 'added To Copy';
+} catch (Exception $e) {
+	echo "Exception:" . $e->getMessage() . "\n";
+}
+$swapIn->addedToSwapIn = 'added To Swap-In';
+$original->addedToOriginal = 'added To Original';
+var_dump($ao, $original, $swapIn, $copy);
+
+
+echo "\n\n--> exchangeArray() with no arg:\n";
+unset($original, $ao, $swapIn, $copy);
+$original = new C;
+$ao = new ArrayObject($original);
+try {
+	$copy = $ao->exchangeArray();
+	$copy['addedToCopy'] = 'added To Copy';
+} catch (Exception $e) {
+	echo "Exception:" . $e->getMessage() . "\n";
+}
+$original->addedToOriginal = 'added To Original';
+var_dump($ao, $original, $copy);
+
+echo "\n\n--> exchangeArray() with bad arg type:\n";
+unset($original, $ao, $swapIn, $copy);
+$original = new C;
+$ao = new ArrayObject($original);
+try {
+	$copy = $ao->exchangeArray(null);
+	$copy['addedToCopy'] = 'added To Copy';
+} catch (Exception $e) {
+	echo "Exception:" . $e->getMessage() . "\n";
+}
+$original->addedToOriginal = 'added To Original';
+var_dump($ao, $original, $copy);
+
+?>
+--EXPECTF--
+--> exchangeArray() with objects:
+object(ArrayObject)#%d (2) {
+  ["pub1"]=>
+  string(7) "public1"
+  ["addedToSwapIn"]=>
+  string(16) "added To Swap-In"
+}
+object(C)#%d (2) {
+  ["pub1"]=>
+  string(7) "public1"
+  ["addedToOriginal"]=>
+  string(17) "added To Original"
+}
+object(C)#%d (2) {
+  ["pub1"]=>
+  string(7) "public1"
+  ["addedToSwapIn"]=>
+  string(16) "added To Swap-In"
+}
+array(2) {
+  ["pub1"]=>
+  string(7) "public1"
+  ["addedToCopy"]=>
+  string(13) "added To Copy"
+}
+
+
+--> exchangeArray() with no arg:
+
+Warning: ArrayObject::exchangeArray() expects exactly 1 parameter, 0 given in %s on line 27
+object(ArrayObject)#%d (2) {
+  ["pub1"]=>
+  string(7) "public1"
+  ["addedToOriginal"]=>
+  string(17) "added To Original"
+}
+object(C)#%d (2) {
+  ["pub1"]=>
+  string(7) "public1"
+  ["addedToOriginal"]=>
+  string(17) "added To Original"
+}
+array(2) {
+  ["pub1"]=>
+  string(7) "public1"
+  ["addedToCopy"]=>
+  string(13) "added To Copy"
+}
+
+
+--> exchangeArray() with bad arg type:
+Exception:Passed variable is not an array or object, using empty array instead
+
+Notice: Undefined variable: copy in %s on line 46
+object(ArrayObject)#%d (2) {
+  ["pub1"]=>
+  string(7) "public1"
+  ["addedToOriginal"]=>
+  string(17) "added To Original"
+}
+object(C)#%d (2) {
+  ["pub1"]=>
+  string(7) "public1"
+  ["addedToOriginal"]=>
+  string(17) "added To Original"
+}
+NULL
diff --git a/ext/spl/tests/arrayObject_getFlags_basic1.phpt b/ext/spl/tests/arrayObject_getFlags_basic1.phpt
index b55e993..b078c51 100644
--- a/ext/spl/tests/arrayObject_getFlags_basic1.phpt
+++ b/ext/spl/tests/arrayObject_getFlags_basic1.phpt
@@ -1,25 +1,25 @@
---TEST--
-SPL: ArrayObject::getFlags() basic usage
---FILE--
-<?php
-$ao = new ArrayObject(new ArrayObject(new stdClass));
-var_dump($ao->getFlags());
-
-$ao = new ArrayObject(new ArrayObject(array(1,2,3)), ArrayObject::STD_PROP_LIST);
-var_dump($ao->getFlags());
-
-$ao = new ArrayObject(new ArrayIterator(new ArrayObject()), ArrayObject::ARRAY_AS_PROPS);
-var_dump($ao->getFlags());
-
-$ao = new ArrayObject(new ArrayObject(), ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS);
-var_dump($ao->getFlags());
-
-$cao = clone $ao;
-var_dump($cao->getFlags());
-?>
---EXPECTF--
-int(0)
-int(1)
-int(2)
-int(3)
+--TEST--
+SPL: ArrayObject::getFlags() basic usage
+--FILE--
+<?php
+$ao = new ArrayObject(new ArrayObject(new stdClass));
+var_dump($ao->getFlags());
+
+$ao = new ArrayObject(new ArrayObject(array(1,2,3)), ArrayObject::STD_PROP_LIST);
+var_dump($ao->getFlags());
+
+$ao = new ArrayObject(new ArrayIterator(new ArrayObject()), ArrayObject::ARRAY_AS_PROPS);
+var_dump($ao->getFlags());
+
+$ao = new ArrayObject(new ArrayObject(), ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS);
+var_dump($ao->getFlags());
+
+$cao = clone $ao;
+var_dump($cao->getFlags());
+?>
+--EXPECTF--
+int(0)
+int(1)
+int(2)
+int(3)
 int(3)
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_getFlags_basic2.phpt b/ext/spl/tests/arrayObject_getFlags_basic2.phpt
index e171d79..f7d56ea 100644
--- a/ext/spl/tests/arrayObject_getFlags_basic2.phpt
+++ b/ext/spl/tests/arrayObject_getFlags_basic2.phpt
@@ -1,24 +1,24 @@
---TEST--
-SPL: ArrayObject::getFlags() - ensure flags are passed on to nested array objects and iterators.
---FILE--
-<?php
-$ao = new ArrayObject(array(), ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS);
-var_dump($ao->getFlags());
-
-$ao2 = new ArrayObject($ao);
-var_dump($ao2->getFlags());
-var_dump($ao2->getIterator()->getFlags());
-
-$ai = new ArrayIterator($ao);
-var_dump($ai->getFlags());
-
-$ao2 = new ArrayObject($ao, 0);
-var_dump($ao2->getFlags());
-
-?>
---EXPECTF--
-int(3)
-int(3)
-int(3)
-int(3)
+--TEST--
+SPL: ArrayObject::getFlags() - ensure flags are passed on to nested array objects and iterators.
+--FILE--
+<?php
+$ao = new ArrayObject(array(), ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS);
+var_dump($ao->getFlags());
+
+$ao2 = new ArrayObject($ao);
+var_dump($ao2->getFlags());
+var_dump($ao2->getIterator()->getFlags());
+
+$ai = new ArrayIterator($ao);
+var_dump($ai->getFlags());
+
+$ao2 = new ArrayObject($ao, 0);
+var_dump($ao2->getFlags());
+
+?>
+--EXPECTF--
+int(3)
+int(3)
+int(3)
+int(3)
 int(0)
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_getIteratorClass_basic1.phpt b/ext/spl/tests/arrayObject_getIteratorClass_basic1.phpt
index 02186d2..ed1d8e2 100644
--- a/ext/spl/tests/arrayObject_getIteratorClass_basic1.phpt
+++ b/ext/spl/tests/arrayObject_getIteratorClass_basic1.phpt
@@ -1,104 +1,104 @@
---TEST--
-SPL: ArrayObject::getIteratorClass and ArrayObject::setIteratorClass basic functionality 
---FILE--
-<?php
-class MyIterator extends ArrayIterator {
-
-	function __construct() {
-	 	$args = func_get_args();
-		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-
-	function rewind() { 
-		$args = func_get_args();
-		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-		return parent::rewind();
-	}
-
-	function valid() { 
-		$args = func_get_args();
-		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-		return parent::valid();
-	}
-	
-	function current() { 
-		$args = func_get_args();
-		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-		return parent::current();
-	}
-
-	function next() { 
-		$args = func_get_args();
-		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-		return parent::next();
-	}
-	
-	function key() { 
-		$args = func_get_args();
-		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-		return parent::key();
-	}
-}
-
-$ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3), 0, "MyIterator");
-
-echo "--> Access using MyIterator:\n";
-var_dump($ao->getIteratorClass());
-var_dump($ao->getIterator());
-foreach($ao as $key=>$value) {
-	echo "  $key=>$value\n";
-}
-
-echo "\n\n--> Access using ArrayIterator:\n";
-var_dump($ao->setIteratorClass("ArrayIterator"));
-var_dump($ao->getIteratorClass());
-var_dump($ao->getIterator());
-foreach($ao as $key=>$value) {
-	echo "$key=>$value\n";
-}
-
-?>
---EXPECTF--
---> Access using MyIterator:
-string(10) "MyIterator"
-object(MyIterator)#%d (3) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-}
-   In MyIterator::rewind()
-   In MyIterator::valid()
-   In MyIterator::current()
-   In MyIterator::key()
-  a=>1
-   In MyIterator::next()
-   In MyIterator::valid()
-   In MyIterator::current()
-   In MyIterator::key()
-  b=>2
-   In MyIterator::next()
-   In MyIterator::valid()
-   In MyIterator::current()
-   In MyIterator::key()
-  c=>3
-   In MyIterator::next()
-   In MyIterator::valid()
-
-
---> Access using ArrayIterator:
-NULL
-string(13) "ArrayIterator"
-object(ArrayIterator)#%d (3) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-}
-a=>1
-b=>2
+--TEST--
+SPL: ArrayObject::getIteratorClass and ArrayObject::setIteratorClass basic functionality 
+--FILE--
+<?php
+class MyIterator extends ArrayIterator {
+
+	function __construct() {
+	 	$args = func_get_args();
+		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+
+	function rewind() { 
+		$args = func_get_args();
+		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+		return parent::rewind();
+	}
+
+	function valid() { 
+		$args = func_get_args();
+		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+		return parent::valid();
+	}
+	
+	function current() { 
+		$args = func_get_args();
+		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+		return parent::current();
+	}
+
+	function next() { 
+		$args = func_get_args();
+		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+		return parent::next();
+	}
+	
+	function key() { 
+		$args = func_get_args();
+		echo "   In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+		return parent::key();
+	}
+}
+
+$ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3), 0, "MyIterator");
+
+echo "--> Access using MyIterator:\n";
+var_dump($ao->getIteratorClass());
+var_dump($ao->getIterator());
+foreach($ao as $key=>$value) {
+	echo "  $key=>$value\n";
+}
+
+echo "\n\n--> Access using ArrayIterator:\n";
+var_dump($ao->setIteratorClass("ArrayIterator"));
+var_dump($ao->getIteratorClass());
+var_dump($ao->getIterator());
+foreach($ao as $key=>$value) {
+	echo "$key=>$value\n";
+}
+
+?>
+--EXPECTF--
+--> Access using MyIterator:
+string(10) "MyIterator"
+object(MyIterator)#%d (3) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+}
+   In MyIterator::rewind()
+   In MyIterator::valid()
+   In MyIterator::current()
+   In MyIterator::key()
+  a=>1
+   In MyIterator::next()
+   In MyIterator::valid()
+   In MyIterator::current()
+   In MyIterator::key()
+  b=>2
+   In MyIterator::next()
+   In MyIterator::valid()
+   In MyIterator::current()
+   In MyIterator::key()
+  c=>3
+   In MyIterator::next()
+   In MyIterator::valid()
+
+
+--> Access using ArrayIterator:
+NULL
+string(13) "ArrayIterator"
+object(ArrayIterator)#%d (3) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+}
+a=>1
+b=>2
 c=>3
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_ksort_basic1.phpt b/ext/spl/tests/arrayObject_ksort_basic1.phpt
index 17745c3..8aba37a 100644
--- a/ext/spl/tests/arrayObject_ksort_basic1.phpt
+++ b/ext/spl/tests/arrayObject_ksort_basic1.phpt
@@ -3,7 +3,7 @@ SPL: Test ArrayObject::ksort() function : basic functionality with array based s
 --FILE--
 <?php
 /* Prototype  : int ArrayObject::ksort()
- * Description: proto int ArrayIterator::ksort()
+ * Description: proto int ArrayIterator::ksort()
  * Sort the entries by key. 
  * Source code: ext/spl/spl_array.c
  * Alias to functions: 
diff --git a/ext/spl/tests/arrayObject_ksort_basic2.phpt b/ext/spl/tests/arrayObject_ksort_basic2.phpt
index 609d6f5..2d36afe 100644
--- a/ext/spl/tests/arrayObject_ksort_basic2.phpt
+++ b/ext/spl/tests/arrayObject_ksort_basic2.phpt
@@ -3,7 +3,7 @@ SPL: Test ArrayObject::ksort() function : basic functionality with object base s
 --FILE--
 <?php
 /* Prototype  : int ArrayObject::ksort()
- * Description: proto int ArrayIterator::ksort()
+ * Description: proto int ArrayIterator::ksort()
  * Sort the entries by key. 
  * Source code: ext/spl/spl_array.c
  * Alias to functions: 
diff --git a/ext/spl/tests/arrayObject_magicMethods1.phpt b/ext/spl/tests/arrayObject_magicMethods1.phpt
index 2730770..53e9381 100644
--- a/ext/spl/tests/arrayObject_magicMethods1.phpt
+++ b/ext/spl/tests/arrayObject_magicMethods1.phpt
@@ -1,183 +1,183 @@
---TEST--
-SPL: ArrayObject: ensure a wrapped object's magic methods for property access are not invoked when manipulating the ArrayObject's elements using [].
---FILE--
-<?php
-class UsesMagic {
-	public $a = 1;
-	public $b = 2;
-	public $c = 3;
-
-	private $priv = 'secret';
-	
-	function __get($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __set($name, $value) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __isset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __unset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	
-}
-
-$obj = new UsesMagic;
-
-$ao = new ArrayObject($obj);
-echo "\n--> Write existent, non-existent and dynamic:\n";
-$ao['a'] = 'changed';
-$ao['dynamic'] = 'new';
-$ao['dynamic'] = 'new.changed';
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Read existent, non-existent and dynamic:\n";
-var_dump($ao['a']);
-var_dump($ao['nonexistent']);
-var_dump($ao['dynamic']);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> isset existent, non-existent and dynamic:\n";
-var_dump(isset($ao['a']));
-var_dump(isset($ao['nonexistent']));
-var_dump(isset($ao['dynamic']));
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Unset existent, non-existent and dynamic:\n";
-unset($ao['a']);
-unset($ao['nonexistent']);
-unset($ao['dynamic']);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-?>
---EXPECTF--
---> Write existent, non-existent and dynamic:
-  Original wrapped object:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> Read existent, non-existent and dynamic:
-string(7) "changed"
-
-Notice: Undefined index:  nonexistent in %s on line 42
-NULL
-string(11) "new.changed"
-  Original wrapped object:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> isset existent, non-existent and dynamic:
-bool(true)
-bool(false)
-bool(true)
-  Original wrapped object:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> Unset existent, non-existent and dynamic:
-
-Notice: Undefined index:  nonexistent in %s on line 60
-  Original wrapped object:
-object(UsesMagic)#%d (3) {
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (3) {
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
+--TEST--
+SPL: ArrayObject: ensure a wrapped object's magic methods for property access are not invoked when manipulating the ArrayObject's elements using [].
+--FILE--
+<?php
+class UsesMagic {
+	public $a = 1;
+	public $b = 2;
+	public $c = 3;
+
+	private $priv = 'secret';
+	
+	function __get($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __set($name, $value) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __isset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __unset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	
+}
+
+$obj = new UsesMagic;
+
+$ao = new ArrayObject($obj);
+echo "\n--> Write existent, non-existent and dynamic:\n";
+$ao['a'] = 'changed';
+$ao['dynamic'] = 'new';
+$ao['dynamic'] = 'new.changed';
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Read existent, non-existent and dynamic:\n";
+var_dump($ao['a']);
+var_dump($ao['nonexistent']);
+var_dump($ao['dynamic']);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> isset existent, non-existent and dynamic:\n";
+var_dump(isset($ao['a']));
+var_dump(isset($ao['nonexistent']));
+var_dump(isset($ao['dynamic']));
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Unset existent, non-existent and dynamic:\n";
+unset($ao['a']);
+unset($ao['nonexistent']);
+unset($ao['dynamic']);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+?>
+--EXPECTF--
+--> Write existent, non-existent and dynamic:
+  Original wrapped object:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> Read existent, non-existent and dynamic:
+string(7) "changed"
+
+Notice: Undefined index:  nonexistent in %s on line 42
+NULL
+string(11) "new.changed"
+  Original wrapped object:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> isset existent, non-existent and dynamic:
+bool(true)
+bool(false)
+bool(true)
+  Original wrapped object:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> Unset existent, non-existent and dynamic:
+
+Notice: Undefined index:  nonexistent in %s on line 60
+  Original wrapped object:
+object(UsesMagic)#%d (3) {
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (3) {
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_magicMethods2.phpt b/ext/spl/tests/arrayObject_magicMethods2.phpt
index 425108a..4dcdd01 100644
--- a/ext/spl/tests/arrayObject_magicMethods2.phpt
+++ b/ext/spl/tests/arrayObject_magicMethods2.phpt
@@ -1,174 +1,174 @@
---TEST--
-SPL: ArrayObject: ensure a wrapped object's magic methods for property access are not invoked when manipulating the ArrayObject's elements using ->.
---FILE--
-<?php
-class UsesMagic {
-	public $a = 1;
-	public $b = 2;
-	public $c = 3;
-
-	private $priv = 'secret';
-	
-	function __get($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __set($name, $value) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __isset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __unset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	
-}
-
-$obj = new UsesMagic;
-
-$ao = new ArrayObject($obj);
-echo "\n--> Write existent, non-existent and dynamic:\n";
-$ao->a = 'changed';
-$ao->dynamic = 'new';
-$ao->dynamic = 'new.changed';
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Read existent, non-existent and dynamic:\n";
-var_dump($ao->a);
-var_dump($ao->nonexistent);
-var_dump($ao->dynamic);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> isset existent, non-existent and dynamic:\n";
-var_dump(isset($ao->a));
-var_dump(isset($ao->nonexistent));
-var_dump(isset($ao->dynamic));
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Unset existent, non-existent and dynamic:\n";
-unset($ao->a);
-unset($ao->nonexistent);
-unset($ao->dynamic);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-?>
---EXPECTF--
-
---> Write existent, non-existent and dynamic:
-  Original wrapped object:
-object(UsesMagic)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-
---> Read existent, non-existent and dynamic:
-string(7) "changed"
-
-Notice: Undefined property: ArrayObject::$nonexistent in %s on line 42
-NULL
-string(11) "new.changed"
-  Original wrapped object:
-object(UsesMagic)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-
---> isset existent, non-existent and dynamic:
-bool(true)
-bool(false)
-bool(true)
-  Original wrapped object:
-object(UsesMagic)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-
---> Unset existent, non-existent and dynamic:
-  Original wrapped object:
-object(UsesMagic)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
+--TEST--
+SPL: ArrayObject: ensure a wrapped object's magic methods for property access are not invoked when manipulating the ArrayObject's elements using ->.
+--FILE--
+<?php
+class UsesMagic {
+	public $a = 1;
+	public $b = 2;
+	public $c = 3;
+
+	private $priv = 'secret';
+	
+	function __get($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __set($name, $value) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __isset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __unset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	
+}
+
+$obj = new UsesMagic;
+
+$ao = new ArrayObject($obj);
+echo "\n--> Write existent, non-existent and dynamic:\n";
+$ao->a = 'changed';
+$ao->dynamic = 'new';
+$ao->dynamic = 'new.changed';
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Read existent, non-existent and dynamic:\n";
+var_dump($ao->a);
+var_dump($ao->nonexistent);
+var_dump($ao->dynamic);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> isset existent, non-existent and dynamic:\n";
+var_dump(isset($ao->a));
+var_dump(isset($ao->nonexistent));
+var_dump(isset($ao->dynamic));
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Unset existent, non-existent and dynamic:\n";
+unset($ao->a);
+unset($ao->nonexistent);
+unset($ao->dynamic);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+?>
+--EXPECTF--
+
+--> Write existent, non-existent and dynamic:
+  Original wrapped object:
+object(UsesMagic)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+
+--> Read existent, non-existent and dynamic:
+string(7) "changed"
+
+Notice: Undefined property: ArrayObject::$nonexistent in %s on line 42
+NULL
+string(11) "new.changed"
+  Original wrapped object:
+object(UsesMagic)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+
+--> isset existent, non-existent and dynamic:
+bool(true)
+bool(false)
+bool(true)
+  Original wrapped object:
+object(UsesMagic)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+
+--> Unset existent, non-existent and dynamic:
+  Original wrapped object:
+object(UsesMagic)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_magicMethods3.phpt b/ext/spl/tests/arrayObject_magicMethods3.phpt
index 29080f2..bcb2235 100644
--- a/ext/spl/tests/arrayObject_magicMethods3.phpt
+++ b/ext/spl/tests/arrayObject_magicMethods3.phpt
@@ -1,183 +1,183 @@
---TEST--
-SPL: ArrayObject: ensure a wrapped object's magic methods for property access are not invoked when manipulating the ArrayObject's elements using -> and ArrayObject::ARRAY_AS_PROPS.
---FILE--
-<?php
-class UsesMagic {
-	public $a = 1;
-	public $b = 2;
-	public $c = 3;
-
-	private $priv = 'secret';
-	
-	function __get($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __set($name, $value) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __isset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __unset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	
-}
-
-$obj = new UsesMagic;
-
-$ao = new ArrayObject($obj, ArrayObject::ARRAY_AS_PROPS);
-echo "\n--> Write existent, non-existent and dynamic:\n";
-$ao->a = 'changed';
-$ao->dynamic = 'new';
-$ao->dynamic = 'new.changed';
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Read existent, non-existent and dynamic:\n";
-var_dump($ao->a);
-var_dump($ao->nonexistent);
-var_dump($ao->dynamic);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> isset existent, non-existent and dynamic:\n";
-var_dump(isset($ao->a));
-var_dump(isset($ao->nonexistent));
-var_dump(isset($ao->dynamic));
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Unset existent, non-existent and dynamic:\n";
-unset($ao->a);
-unset($ao->nonexistent);
-unset($ao->dynamic);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-?>
---EXPECTF--
---> Write existent, non-existent and dynamic:
-  Original wrapped object:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> Read existent, non-existent and dynamic:
-string(7) "changed"
-
-Notice: Undefined index:  nonexistent in %s on line 42
-NULL
-string(11) "new.changed"
-  Original wrapped object:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> isset existent, non-existent and dynamic:
-bool(true)
-bool(false)
-bool(true)
-  Original wrapped object:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> Unset existent, non-existent and dynamic:
-
-Notice: Undefined index:  nonexistent in %s on line 60
-  Original wrapped object:
-object(UsesMagic)#%d (3) {
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(ArrayObject)#%d (3) {
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
+--TEST--
+SPL: ArrayObject: ensure a wrapped object's magic methods for property access are not invoked when manipulating the ArrayObject's elements using -> and ArrayObject::ARRAY_AS_PROPS.
+--FILE--
+<?php
+class UsesMagic {
+	public $a = 1;
+	public $b = 2;
+	public $c = 3;
+
+	private $priv = 'secret';
+	
+	function __get($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __set($name, $value) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __isset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __unset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	
+}
+
+$obj = new UsesMagic;
+
+$ao = new ArrayObject($obj, ArrayObject::ARRAY_AS_PROPS);
+echo "\n--> Write existent, non-existent and dynamic:\n";
+$ao->a = 'changed';
+$ao->dynamic = 'new';
+$ao->dynamic = 'new.changed';
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Read existent, non-existent and dynamic:\n";
+var_dump($ao->a);
+var_dump($ao->nonexistent);
+var_dump($ao->dynamic);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> isset existent, non-existent and dynamic:\n";
+var_dump(isset($ao->a));
+var_dump(isset($ao->nonexistent));
+var_dump(isset($ao->dynamic));
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Unset existent, non-existent and dynamic:\n";
+unset($ao->a);
+unset($ao->nonexistent);
+unset($ao->dynamic);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+?>
+--EXPECTF--
+--> Write existent, non-existent and dynamic:
+  Original wrapped object:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> Read existent, non-existent and dynamic:
+string(7) "changed"
+
+Notice: Undefined index:  nonexistent in %s on line 42
+NULL
+string(11) "new.changed"
+  Original wrapped object:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> isset existent, non-existent and dynamic:
+bool(true)
+bool(false)
+bool(true)
+  Original wrapped object:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> Unset existent, non-existent and dynamic:
+
+Notice: Undefined index:  nonexistent in %s on line 60
+  Original wrapped object:
+object(UsesMagic)#%d (3) {
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(ArrayObject)#%d (3) {
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_magicMethods4.phpt b/ext/spl/tests/arrayObject_magicMethods4.phpt
index 9671035..ac37719 100644
--- a/ext/spl/tests/arrayObject_magicMethods4.phpt
+++ b/ext/spl/tests/arrayObject_magicMethods4.phpt
@@ -1,186 +1,186 @@
---TEST--
-SPL: ArrayObject: ensure the magic methods for property access of a subclass of ArrayObject are not invoked when manipulating its elements using [].
---FILE--
-<?php
-class C {
-	public $a = 1;
-	public $b = 2;
-	public $c = 3;
-
-	private $priv = 'secret';
-}
-
-class UsesMagic extends ArrayObject {
-	
-	public $b = "This should never show up";
-
-	function __get($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __set($name, $value) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __isset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __unset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	
-}
-$obj = new C;
-$ao = new UsesMagic($obj);
-echo "\n--> Write existent, non-existent and dynamic:\n";
-$ao['a'] = 'changed';
-$ao['dynamic'] = 'new';
-$ao['dynamic'] = 'new.changed';
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Read existent, non-existent and dynamic:\n";
-var_dump($ao['a']);
-var_dump($ao['nonexistent']);
-var_dump($ao['dynamic']);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> isset existent, non-existent and dynamic:\n";
-var_dump(isset($ao['a']));
-var_dump(isset($ao['nonexistent']));
-var_dump(isset($ao['dynamic']));
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Unset existent, non-existent and dynamic:\n";
-unset($ao['a']);
-unset($ao['nonexistent']);
-unset($ao['dynamic']);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-?>
---EXPECTF--
---> Write existent, non-existent and dynamic:
-  Original wrapped object:
-object(C)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> Read existent, non-existent and dynamic:
-string(7) "changed"
-
-Notice: Undefined index:  nonexistent in %s on line 45
-NULL
-string(11) "new.changed"
-  Original wrapped object:
-object(C)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> isset existent, non-existent and dynamic:
-bool(true)
-bool(false)
-bool(true)
-  Original wrapped object:
-object(C)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> Unset existent, non-existent and dynamic:
-
-Notice: Undefined index:  nonexistent in %s on line 63
-  Original wrapped object:
-object(C)#%d (3) {
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (3) {
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
+--TEST--
+SPL: ArrayObject: ensure the magic methods for property access of a subclass of ArrayObject are not invoked when manipulating its elements using [].
+--FILE--
+<?php
+class C {
+	public $a = 1;
+	public $b = 2;
+	public $c = 3;
+
+	private $priv = 'secret';
+}
+
+class UsesMagic extends ArrayObject {
+	
+	public $b = "This should never show up";
+
+	function __get($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __set($name, $value) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __isset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __unset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	
+}
+$obj = new C;
+$ao = new UsesMagic($obj);
+echo "\n--> Write existent, non-existent and dynamic:\n";
+$ao['a'] = 'changed';
+$ao['dynamic'] = 'new';
+$ao['dynamic'] = 'new.changed';
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Read existent, non-existent and dynamic:\n";
+var_dump($ao['a']);
+var_dump($ao['nonexistent']);
+var_dump($ao['dynamic']);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> isset existent, non-existent and dynamic:\n";
+var_dump(isset($ao['a']));
+var_dump(isset($ao['nonexistent']));
+var_dump(isset($ao['dynamic']));
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Unset existent, non-existent and dynamic:\n";
+unset($ao['a']);
+unset($ao['nonexistent']);
+unset($ao['dynamic']);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+?>
+--EXPECTF--
+--> Write existent, non-existent and dynamic:
+  Original wrapped object:
+object(C)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> Read existent, non-existent and dynamic:
+string(7) "changed"
+
+Notice: Undefined index:  nonexistent in %s on line 45
+NULL
+string(11) "new.changed"
+  Original wrapped object:
+object(C)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> isset existent, non-existent and dynamic:
+bool(true)
+bool(false)
+bool(true)
+  Original wrapped object:
+object(C)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> Unset existent, non-existent and dynamic:
+
+Notice: Undefined index:  nonexistent in %s on line 63
+  Original wrapped object:
+object(C)#%d (3) {
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (3) {
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_magicMethods5.phpt b/ext/spl/tests/arrayObject_magicMethods5.phpt
index 0b86658..587c99d 100644
--- a/ext/spl/tests/arrayObject_magicMethods5.phpt
+++ b/ext/spl/tests/arrayObject_magicMethods5.phpt
@@ -1,187 +1,187 @@
---TEST--
-SPL: ArrayObject: ensure the magic methods for property access of a subclass of ArrayObject ARE invoked when manipulating its elements using ->.
---FILE--
-<?php
-class C {
-	public $a = 1;
-	public $b = 2;
-	public $c = 3;
-
-	private $priv = 'secret';
-}
-
-class UsesMagic extends ArrayObject {
-	
-	public $b = "This should never show up";
-
-	function __get($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __set($name, $value) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __isset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __unset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	
-}
-$obj = new C;
-$ao = new UsesMagic($obj);
-echo "\n--> Write existent, non-existent and dynamic:\n";
-$ao->a = 'changed';
-$ao->dynamic = 'new';
-$ao->dynamic = 'new.changed';
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Read existent, non-existent and dynamic:\n";
-var_dump($ao->a);
-var_dump($ao->nonexistent);
-var_dump($ao->dynamic);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> isset existent, non-existent and dynamic:\n";
-var_dump(isset($ao->a));
-var_dump(isset($ao->nonexistent));
-var_dump(isset($ao->dynamic));
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Unset existent, non-existent and dynamic:\n";
-unset($ao->a);
-unset($ao->nonexistent);
-unset($ao->dynamic);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-?>
---EXPECTF--
-
---> Write existent, non-existent and dynamic:
-In UsesMagic::__set(a,changed)
-In UsesMagic::__set(dynamic,new)
-In UsesMagic::__set(dynamic,new.changed)
-  Original wrapped object:
-object(C)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-
---> Read existent, non-existent and dynamic:
-In UsesMagic::__get(a)
-NULL
-In UsesMagic::__get(nonexistent)
-NULL
-In UsesMagic::__get(dynamic)
-NULL
-  Original wrapped object:
-object(C)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-
---> isset existent, non-existent and dynamic:
-In UsesMagic::__isset(a)
-bool(false)
-In UsesMagic::__isset(nonexistent)
-bool(false)
-In UsesMagic::__isset(dynamic)
-bool(false)
-  Original wrapped object:
-object(C)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-
---> Unset existent, non-existent and dynamic:
-In UsesMagic::__unset(a)
-In UsesMagic::__unset(nonexistent)
-In UsesMagic::__unset(dynamic)
-  Original wrapped object:
-object(C)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (4) {
-  ["a"]=>
-  int(1)
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
+--TEST--
+SPL: ArrayObject: ensure the magic methods for property access of a subclass of ArrayObject ARE invoked when manipulating its elements using ->.
+--FILE--
+<?php
+class C {
+	public $a = 1;
+	public $b = 2;
+	public $c = 3;
+
+	private $priv = 'secret';
+}
+
+class UsesMagic extends ArrayObject {
+	
+	public $b = "This should never show up";
+
+	function __get($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __set($name, $value) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __isset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __unset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	
+}
+$obj = new C;
+$ao = new UsesMagic($obj);
+echo "\n--> Write existent, non-existent and dynamic:\n";
+$ao->a = 'changed';
+$ao->dynamic = 'new';
+$ao->dynamic = 'new.changed';
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Read existent, non-existent and dynamic:\n";
+var_dump($ao->a);
+var_dump($ao->nonexistent);
+var_dump($ao->dynamic);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> isset existent, non-existent and dynamic:\n";
+var_dump(isset($ao->a));
+var_dump(isset($ao->nonexistent));
+var_dump(isset($ao->dynamic));
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Unset existent, non-existent and dynamic:\n";
+unset($ao->a);
+unset($ao->nonexistent);
+unset($ao->dynamic);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+?>
+--EXPECTF--
+
+--> Write existent, non-existent and dynamic:
+In UsesMagic::__set(a,changed)
+In UsesMagic::__set(dynamic,new)
+In UsesMagic::__set(dynamic,new.changed)
+  Original wrapped object:
+object(C)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+
+--> Read existent, non-existent and dynamic:
+In UsesMagic::__get(a)
+NULL
+In UsesMagic::__get(nonexistent)
+NULL
+In UsesMagic::__get(dynamic)
+NULL
+  Original wrapped object:
+object(C)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+
+--> isset existent, non-existent and dynamic:
+In UsesMagic::__isset(a)
+bool(false)
+In UsesMagic::__isset(nonexistent)
+bool(false)
+In UsesMagic::__isset(dynamic)
+bool(false)
+  Original wrapped object:
+object(C)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+
+--> Unset existent, non-existent and dynamic:
+In UsesMagic::__unset(a)
+In UsesMagic::__unset(nonexistent)
+In UsesMagic::__unset(dynamic)
+  Original wrapped object:
+object(C)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (4) {
+  ["a"]=>
+  int(1)
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
 }
\ No newline at end of file
diff --git a/ext/spl/tests/arrayObject_magicMethods6.phpt b/ext/spl/tests/arrayObject_magicMethods6.phpt
index adb60ef..427b1d4 100644
--- a/ext/spl/tests/arrayObject_magicMethods6.phpt
+++ b/ext/spl/tests/arrayObject_magicMethods6.phpt
@@ -1,186 +1,186 @@
---TEST--
-SPL: ArrayObject: ensure the magic methods for property access of a subclass of ArrayObject are not invoked when manipulating its elements using -> ArrayObject::ARRAY_AS_PROPS.
---FILE--
-<?php
-class C {
-	public $a = 1;
-	public $b = 2;
-	public $c = 3;
-
-	private $priv = 'secret';
-}
-
-class UsesMagic extends ArrayObject {
-	
-	public $b = "This should never show up";
-
-	function __get($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __set($name, $value) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __isset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	function __unset($name) { 
-		$args = func_get_args();
-		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
-	}
-	
-}
-$obj = new C;
-$ao = new UsesMagic($obj, ArrayObject::ARRAY_AS_PROPS);
-echo "\n--> Write existent, non-existent and dynamic:\n";
-$ao->a = 'changed';
-$ao->dynamic = 'new';
-$ao->dynamic = 'new.changed';
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Read existent, non-existent and dynamic:\n";
-var_dump($ao->a);
-var_dump($ao->nonexistent);
-var_dump($ao->dynamic);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> isset existent, non-existent and dynamic:\n";
-var_dump(isset($ao->a));
-var_dump(isset($ao->nonexistent));
-var_dump(isset($ao->dynamic));
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-
-echo "\n--> Unset existent, non-existent and dynamic:\n";
-unset($ao->a);
-unset($ao->nonexistent);
-unset($ao->dynamic);
-echo "  Original wrapped object:\n";
-var_dump($obj);
-echo "  Wrapping ArrayObject:\n";
-var_dump($ao);
-?>
---EXPECTF--
---> Write existent, non-existent and dynamic:
-  Original wrapped object:
-object(C)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> Read existent, non-existent and dynamic:
-string(7) "changed"
-
-Notice: Undefined index:  nonexistent in %s on line 45
-NULL
-string(11) "new.changed"
-  Original wrapped object:
-object(C)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> isset existent, non-existent and dynamic:
-bool(true)
-bool(false)
-bool(true)
-  Original wrapped object:
-object(C)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (5) {
-  ["a"]=>
-  string(7) "changed"
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-  ["dynamic"]=>
-  string(11) "new.changed"
-}
-
---> Unset existent, non-existent and dynamic:
-
-Notice: Undefined index:  nonexistent in %s on line 63
-  Original wrapped object:
-object(C)#%d (3) {
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
-  Wrapping ArrayObject:
-object(UsesMagic)#%d (3) {
-  ["b"]=>
-  int(2)
-  ["c"]=>
-  int(3)
-  ["priv:private"]=>
-  string(6) "secret"
-}
+--TEST--
+SPL: ArrayObject: ensure the magic methods for property access of a subclass of ArrayObject are not invoked when manipulating its elements using -> ArrayObject::ARRAY_AS_PROPS.
+--FILE--
+<?php
+class C {
+	public $a = 1;
+	public $b = 2;
+	public $c = 3;
+
+	private $priv = 'secret';
+}
+
+class UsesMagic extends ArrayObject {
+	
+	public $b = "This should never show up";
+
+	function __get($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __set($name, $value) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __isset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	function __unset($name) { 
+		$args = func_get_args();
+		echo "In " . __METHOD__ . "(" . implode($args, ',') . ")\n";
+	}
+	
+}
+$obj = new C;
+$ao = new UsesMagic($obj, ArrayObject::ARRAY_AS_PROPS);
+echo "\n--> Write existent, non-existent and dynamic:\n";
+$ao->a = 'changed';
+$ao->dynamic = 'new';
+$ao->dynamic = 'new.changed';
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Read existent, non-existent and dynamic:\n";
+var_dump($ao->a);
+var_dump($ao->nonexistent);
+var_dump($ao->dynamic);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> isset existent, non-existent and dynamic:\n";
+var_dump(isset($ao->a));
+var_dump(isset($ao->nonexistent));
+var_dump(isset($ao->dynamic));
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+
+echo "\n--> Unset existent, non-existent and dynamic:\n";
+unset($ao->a);
+unset($ao->nonexistent);
+unset($ao->dynamic);
+echo "  Original wrapped object:\n";
+var_dump($obj);
+echo "  Wrapping ArrayObject:\n";
+var_dump($ao);
+?>
+--EXPECTF--
+--> Write existent, non-existent and dynamic:
+  Original wrapped object:
+object(C)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> Read existent, non-existent and dynamic:
+string(7) "changed"
+
+Notice: Undefined index:  nonexistent in %s on line 45
+NULL
+string(11) "new.changed"
+  Original wrapped object:
+object(C)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> isset existent, non-existent and dynamic:
+bool(true)
+bool(false)
+bool(true)
+  Original wrapped object:
+object(C)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (5) {
+  ["a"]=>
+  string(7) "changed"
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+  ["dynamic"]=>
+  string(11) "new.changed"
+}
+
+--> Unset existent, non-existent and dynamic:
+
+Notice: Undefined index:  nonexistent in %s on line 63
+  Original wrapped object:
+object(C)#%d (3) {
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
+  Wrapping ArrayObject:
+object(UsesMagic)#%d (3) {
+  ["b"]=>
+  int(2)
+  ["c"]=>
+  int(3)
+  ["priv:private"]=>
+  string(6) "secret"
+}
diff --git a/ext/spl/tests/arrayObject_natcasesort_basic1.phpt b/ext/spl/tests/arrayObject_natcasesort_basic1.phpt
index 834da6c..1a28944 100644
--- a/ext/spl/tests/arrayObject_natcasesort_basic1.phpt
+++ b/ext/spl/tests/arrayObject_natcasesort_basic1.phpt
@@ -3,7 +3,7 @@ SPL: Test ArrayObject::natcasesort() function : basic functionality
 --FILE--
 <?php
 /* Prototype  : int ArrayObject::natcasesort()
- * Description: proto int ArrayIterator::natcasesort()
+ * Description: proto int ArrayIterator::natcasesort()
  Sort the entries by values using case insensitive "natural order" algorithm. 
  * Source code: ext/spl/spl_array.c
  * Alias to functions: 
diff --git a/ext/spl/tests/arrayObject_natsort_basic1.phpt b/ext/spl/tests/arrayObject_natsort_basic1.phpt
index 7ade720..60e4a98 100644
--- a/ext/spl/tests/arrayObject_natsort_basic1.phpt
+++ b/ext/spl/tests/arrayObject_natsort_basic1.phpt
@@ -3,7 +3,7 @@ SPL: Test ArrayObject::natsort() function : basic functionality
 --FILE--
 <?php
 /* Prototype  : int ArrayObject::natsort()
- * Description: proto int ArrayIterator::natsort()
+ * Description: proto int ArrayIterator::natsort()
  Sort the entries by values using "natural order" algorithm. 
  * Source code: ext/spl/spl_array.c
  * Alias to functions: 
diff --git a/ext/spl/tests/arrayObject_setFlags_basic1.phpt b/ext/spl/tests/arrayObject_setFlags_basic1.phpt
index 4e76e39..41f2afa 100644
--- a/ext/spl/tests/arrayObject_setFlags_basic1.phpt
+++ b/ext/spl/tests/arrayObject_setFlags_basic1.phpt
@@ -1,51 +1,51 @@
---TEST--
-SPL: ArrayObject::setFlags basic usage with ArrayObject::ARRAY_AS_PROPS. 
---FILE--
-<?php
-class C extends ArrayObject {
-	public $p = 'object property';
-}	
-
-function access_p($ao) {
-  // isset
-  var_dump(isset($ao->p));
-  // read
-  var_dump($ao->p);
-  // write  
-  $ao->p = $ao->p . '.changed';
-  var_dump($ao->p);
-}
-
-$ao = new C(array('p'=>'array element'));
-$ao->setFlags(ArrayObject::ARRAY_AS_PROPS);
-
-echo "\n--> Access the real property:\n";
-access_p($ao);
-
-echo "\n--> Remove the real property and access the array element:\n";
-unset($ao->p);
-access_p($ao);
-
-echo "\n--> Remove the array element and try access again:\n";
-unset($ao->p);
-access_p($ao);
-?>
---EXPECTF--
---> Access the real property:
-bool(true)
-string(15) "object property"
-string(23) "object property.changed"
-
---> Remove the real property and access the array element:
-bool(true)
-string(13) "array element"
-string(21) "array element.changed"
-
---> Remove the array element and try access again:
-bool(false)
-
-Notice: Undefined index:  p in %s on line 10
-NULL
-
-Notice: Undefined index:  p in %s on line 12
-string(8) ".changed"
+--TEST--
+SPL: ArrayObject::setFlags basic usage with ArrayObject::ARRAY_AS_PROPS. 
+--FILE--
+<?php
+class C extends ArrayObject {
+	public $p = 'object property';
+}	
+
+function access_p($ao) {
+  // isset
+  var_dump(isset($ao->p));
+  // read
+  var_dump($ao->p);
+  // write  
+  $ao->p = $ao->p . '.changed';
+  var_dump($ao->p);
+}
+
+$ao = new C(array('p'=>'array element'));
+$ao->setFlags(ArrayObject::ARRAY_AS_PROPS);
+
+echo "\n--> Access the real property:\n";
+access_p($ao);
+
+echo "\n--> Remove the real property and access the array element:\n";
+unset($ao->p);
+access_p($ao);
+
+echo "\n--> Remove the array element and try access again:\n";
+unset($ao->p);
+access_p($ao);
+?>
+--EXPECTF--
+--> Access the real property:
+bool(true)
+string(15) "object property"
+string(23) "object property.changed"
+
+--> Remove the real property and access the array element:
+bool(true)
+string(13) "array element"
+string(21) "array element.changed"
+
+--> Remove the array element and try access again:
+bool(false)
+
+Notice: Undefined index:  p in %s on line 10
+NULL
+
+Notice: Undefined index:  p in %s on line 12
+string(8) ".changed"
diff --git a/ext/spl/tests/arrayObject_setFlags_basic2.phpt b/ext/spl/tests/arrayObject_setFlags_basic2.phpt
index 1af312a..806f812 100644
--- a/ext/spl/tests/arrayObject_setFlags_basic2.phpt
+++ b/ext/spl/tests/arrayObject_setFlags_basic2.phpt
@@ -1,29 +1,29 @@
---TEST--
-SPL: Ensure access to non-visible properties falls back to dimension access with ArrayObject::ARRAY_AS_PROPS.
---FILE--
-<?php
-class C extends ArrayObject {
-	private $x = 'secret';
-	
-	static function go($c) {
-	  var_dump($c->x);
-	}
-}	
-
-$c = new C(array('x'=>'public'));
-
-$c->setFlags(ArrayObject::ARRAY_AS_PROPS);
-C::go($c);
-var_dump($c->x);
-
-
-$c->setFlags(0);
-C::go($c);
-var_dump($c->x);
-?>
---EXPECTF--
-string(6) "secret"
-string(6) "public"
-string(6) "secret"
-
-Fatal error: Cannot access private property C::$x in %s on line 19
+--TEST--
+SPL: Ensure access to non-visible properties falls back to dimension access with ArrayObject::ARRAY_AS_PROPS.
+--FILE--
+<?php
+class C extends ArrayObject {
+	private $x = 'secret';
+	
+	static function go($c) {
+	  var_dump($c->x);
+	}
+}	
+
+$c = new C(array('x'=>'public'));
+
+$c->setFlags(ArrayObject::ARRAY_AS_PROPS);
+C::go($c);
+var_dump($c->x);
+
+
+$c->setFlags(0);
+C::go($c);
+var_dump($c->x);
+?>
+--EXPECTF--
+string(6) "secret"
+string(6) "public"
+string(6) "secret"
+
+Fatal error: Cannot access private property C::$x in %s on line 19
diff --git a/ext/spl/tests/arrayObject_setIteratorClass_error1.phpt b/ext/spl/tests/arrayObject_setIteratorClass_error1.phpt
index 85c31b5..61b1073 100644
--- a/ext/spl/tests/arrayObject_setIteratorClass_error1.phpt
+++ b/ext/spl/tests/arrayObject_setIteratorClass_error1.phpt
@@ -1,57 +1,57 @@
---TEST--
-SPL: ArrayObject::setIteratorClass with bad iterator class.
---FILE--
-<?php
-try {
-  $ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3));
-  $ao->setIteratorClass("nonExistentClass");
-  foreach($ao as $key=>$value) {
-    echo "  $key=>$value\n";
-  }
-} catch (Exception $e) {
-	var_dump($e->getMessage());
-}
-
-try {
-  $ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3));
-  $ao->setIteratorClass("stdClass");
-  foreach($ao as $key=>$value) {
-    echo "  $key=>$value\n";
-  }
-} catch (Exception $e) {
-	var_dump($e->getMessage());
-}
-
-
-try {
-  $ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3), 0, "nonExistentClass");
-  foreach($ao as $key=>$value) {
-    echo "  $key=>$value\n";
-  }
-} catch (Exception $e) {
-	var_dump($e->getMessage());
-}
-
-try {
-  $ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3), 0, "stdClass");
-  foreach($ao as $key=>$value) {
-    echo "  $key=>$value\n";
-  }
-} catch (Exception $e) {
-	var_dump($e->getMessage());
-}
-
-?>
---EXPECTF--
-
-Warning: ArrayObject::setIteratorClass() expects parameter 1 to be a class name derived from Iterator, 'nonExistentClass' given in %s on line 4
-  a=>1
-  b=>2
-  c=>3
-
-Warning: ArrayObject::setIteratorClass() expects parameter 1 to be a class name derived from Iterator, 'stdClass' given in %s on line 14
-  a=>1
-  b=>2
-  c=>3
-string(113) "ArrayObject::__construct() expects parameter 3 to be a class name derived from Iterator, 'nonExistentClass' given"
-string(105) "ArrayObject::__construct() expects parameter 3 to be a class name derived from Iterator, 'stdClass' given"
+--TEST--
+SPL: ArrayObject::setIteratorClass with bad iterator class.
+--FILE--
+<?php
+try {
+  $ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3));
+  $ao->setIteratorClass("nonExistentClass");
+  foreach($ao as $key=>$value) {
+    echo "  $key=>$value\n";
+  }
+} catch (Exception $e) {
+	var_dump($e->getMessage());
+}
+
+try {
+  $ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3));
+  $ao->setIteratorClass("stdClass");
+  foreach($ao as $key=>$value) {
+    echo "  $key=>$value\n";
+  }
+} catch (Exception $e) {
+	var_dump($e->getMessage());
+}
+
+
+try {
+  $ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3), 0, "nonExistentClass");
+  foreach($ao as $key=>$value) {
+    echo "  $key=>$value\n";
+  }
+} catch (Exception $e) {
+	var_dump($e->getMessage());
+}
+
+try {
+  $ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3), 0, "stdClass");
+  foreach($ao as $key=>$value) {
+    echo "  $key=>$value\n";
+  }
+} catch (Exception $e) {
+	var_dump($e->getMessage());
+}
+
+?>
+--EXPECTF--
+
+Warning: ArrayObject::setIteratorClass() expects parameter 1 to be a class name derived from Iterator, 'nonExistentClass' given in %s on line 4
+  a=>1
+  b=>2
+  c=>3
+
+Warning: ArrayObject::setIteratorClass() expects parameter 1 to be a class name derived from Iterator, 'stdClass' given in %s on line 14
+  a=>1
+  b=>2
+  c=>3
+string(113) "ArrayObject::__construct() expects parameter 3 to be a class name derived from Iterator, 'nonExistentClass' given"
+string(105) "ArrayObject::__construct() expects parameter 3 to be a class name derived from Iterator, 'stdClass' given"
diff --git a/ext/spl/tests/arrayObject_uasort_basic1.phpt b/ext/spl/tests/arrayObject_uasort_basic1.phpt
index a1619b8..5abb2a8 100644
--- a/ext/spl/tests/arrayObject_uasort_basic1.phpt
+++ b/ext/spl/tests/arrayObject_uasort_basic1.phpt
@@ -3,7 +3,7 @@ SPL: Test ArrayObject::uasort() function : basic functionality
 --FILE--
 <?php
 /* Prototype  : int ArrayObject::uasort(callback cmp_function)
- * Description: proto int ArrayIterator::uasort(callback cmp_function)
+ * Description: proto int ArrayIterator::uasort(callback cmp_function)
  Sort the entries by values user defined function. 
  * Source code: ext/spl/spl_array.c
  * Alias to functions: 
diff --git a/ext/spl/tests/arrayObject_uasort_error1.phpt b/ext/spl/tests/arrayObject_uasort_error1.phpt
index 0a76610..d7306c9 100644
--- a/ext/spl/tests/arrayObject_uasort_error1.phpt
+++ b/ext/spl/tests/arrayObject_uasort_error1.phpt
@@ -3,7 +3,7 @@ Test ArrayObject::uasort() function : wrong arg count
 --FILE--
 <?php
 /* Prototype  : int ArrayObject::uasort(callback cmp_function)
- * Description: proto int ArrayIterator::uasort(callback cmp_function)
+ * Description: proto int ArrayIterator::uasort(callback cmp_function)
  Sort the entries by values user defined function. 
  * Source code: ext/spl/spl_array.c
  * Alias to functions: 
diff --git a/ext/spl/tests/arrayObject_uksort_basic1.phpt b/ext/spl/tests/arrayObject_uksort_basic1.phpt
index 86048d3..5903f46 100644
--- a/ext/spl/tests/arrayObject_uksort_basic1.phpt
+++ b/ext/spl/tests/arrayObject_uksort_basic1.phpt
@@ -3,7 +3,7 @@ Test ArrayObject::uksort() function : basic functionality
 --FILE--
 <?php
 /* Prototype  : int ArrayObject::uksort(callback cmp_function)
- * Description: proto int ArrayIterator::uksort(callback cmp_function)
+ * Description: proto int ArrayIterator::uksort(callback cmp_function)
  * Sort the entries by key using user defined function. 
  * Source code: ext/spl/spl_array.c
  * Alias to functions: 
diff --git a/ext/spl/tests/arrayObject_uksort_error1.phpt b/ext/spl/tests/arrayObject_uksort_error1.phpt
index 56b449a..d019fc4 100644
--- a/ext/spl/tests/arrayObject_uksort_error1.phpt
+++ b/ext/spl/tests/arrayObject_uksort_error1.phpt
@@ -3,7 +3,7 @@ Test ArrayObject::uksort() function : wrong arg count
 --FILE--
 <?php
 /* Prototype  : int ArrayObject::uksort(callback cmp_function)
- * Description: proto int ArrayIterator::uksort(callback cmp_function)
+ * Description: proto int ArrayIterator::uksort(callback cmp_function)
  Sort the entries by key using user defined function.
  * Source code: ext/spl/spl_array.c
  * Alias to functions: 
diff --git a/ext/spl/tests/array_015.phpt b/ext/spl/tests/array_015.phpt
index 769f0b2..79d6a86 100755
--- a/ext/spl/tests/array_015.phpt
+++ b/ext/spl/tests/array_015.phpt
@@ -1,87 +1,87 @@
---TEST--
-SPL: ArrayIterator::next() with internal arrays
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---FILE--
-<?php
-
-$ar = new ArrayObject();
-
-$ar[0] = 1;
-$ar[1] = 2;
-$ar[2] = 3;
-$ar[3] = 4;
-$ar[4] = 5;
-
-var_dump($ar);
-
-$it = $ar->getIterator();
-
-$ar->offsetUnset($it->key());
-$it->next();
-
-var_dump($it->current());
-var_dump($ar);
-
-foreach($it as $k => $v)
-{
-	$ar->offsetUnset($k+1);
-	echo "$k=>$v\n";
-}
-
-var_dump($ar);
-
-foreach($it as $k => $v)
-{
-	$ar->offsetUnset($k);
-	echo "$k=>$v\n";
-}
-
-var_dump($ar);
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-object(ArrayObject)#%d (5) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-  [2]=>
-  int(3)
-  [3]=>
-  int(4)
-  [4]=>
-  int(5)
-}
-
-Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
-int(2)
-object(ArrayObject)#%d (4) {
-  [1]=>
-  int(2)
-  [2]=>
-  int(3)
-  [3]=>
-  int(4)
-  [4]=>
-  int(5)
-}
-1=>2
-3=>4
-object(ArrayObject)#%d (2) {
-  [1]=>
-  int(2)
-  [3]=>
-  int(4)
-}
-1=>2
-
-Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
-3=>4
-
-Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
-object(ArrayObject)#%d (0) {
-}
-===DONE===
+--TEST--
+SPL: ArrayIterator::next() with internal arrays
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+
+$ar = new ArrayObject();
+
+$ar[0] = 1;
+$ar[1] = 2;
+$ar[2] = 3;
+$ar[3] = 4;
+$ar[4] = 5;
+
+var_dump($ar);
+
+$it = $ar->getIterator();
+
+$ar->offsetUnset($it->key());
+$it->next();
+
+var_dump($it->current());
+var_dump($ar);
+
+foreach($it as $k => $v)
+{
+	$ar->offsetUnset($k+1);
+	echo "$k=>$v\n";
+}
+
+var_dump($ar);
+
+foreach($it as $k => $v)
+{
+	$ar->offsetUnset($k);
+	echo "$k=>$v\n";
+}
+
+var_dump($ar);
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+object(ArrayObject)#%d (5) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(2)
+  [2]=>
+  int(3)
+  [3]=>
+  int(4)
+  [4]=>
+  int(5)
+}
+
+Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
+int(2)
+object(ArrayObject)#%d (4) {
+  [1]=>
+  int(2)
+  [2]=>
+  int(3)
+  [3]=>
+  int(4)
+  [4]=>
+  int(5)
+}
+1=>2
+3=>4
+object(ArrayObject)#%d (2) {
+  [1]=>
+  int(2)
+  [3]=>
+  int(4)
+}
+1=>2
+
+Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
+3=>4
+
+Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
+object(ArrayObject)#%d (0) {
+}
+===DONE===
diff --git a/ext/spl/tests/bug31346.phpt b/ext/spl/tests/bug31346.phpt
index b541488..ed1b50d 100755
--- a/ext/spl/tests/bug31346.phpt
+++ b/ext/spl/tests/bug31346.phpt
@@ -1,21 +1,21 @@
---TEST--
-Bug #31486 (ArrayIterator::next segfaults)
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---FILE--
-<?php
-$obj = new stdClass;
-$obj->var1=1;
-
-$ao = new ArrayObject($obj);
-
-$i = $ao->getIterator();
-
-$ao->offsetUnset($i->key());
-$i->next();
-
-?>
-===DONE===
---EXPECTF--
-Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sbug31346.php on line %d
-===DONE===
+--TEST--
+Bug #31486 (ArrayIterator::next segfaults)
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+$obj = new stdClass;
+$obj->var1=1;
+
+$ao = new ArrayObject($obj);
+
+$i = $ao->getIterator();
+
+$ao->offsetUnset($i->key());
+$i->next();
+
+?>
+===DONE===
+--EXPECTF--
+Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sbug31346.php on line %d
+===DONE===
diff --git a/ext/spl/tests/bug31348.phpt b/ext/spl/tests/bug31348.phpt
index a358ab9..dcb627a 100755
--- a/ext/spl/tests/bug31348.phpt
+++ b/ext/spl/tests/bug31348.phpt
@@ -1,17 +1,17 @@
---TEST--
-Bug #31348 (CachingIterator::rewind() leaks)
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---FILE--
-<?php
-$a = Array("some","blah");
-$i = new ArrayIterator($a);
-
-$ci = new CachingIterator($i);
-
-$ci->rewind();
-
-?>
-===DONE===
---EXPECT--
-===DONE===
+--TEST--
+Bug #31348 (CachingIterator::rewind() leaks)
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+$a = Array("some","blah");
+$i = new ArrayIterator($a);
+
+$ci = new CachingIterator($i);
+
+$ci->rewind();
+
+?>
+===DONE===
+--EXPECT--
+===DONE===
diff --git a/ext/spl/tests/bug31926.phpt b/ext/spl/tests/bug31926.phpt
index 17c0b6a..50246b3 100755
--- a/ext/spl/tests/bug31926.phpt
+++ b/ext/spl/tests/bug31926.phpt
@@ -1,18 +1,18 @@
---TEST--
-Bug #31926 (php in free() error with RecursiveArrayIterator)
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---FILE--
-<?php
-
-$array = array(0 => array('world'));
-
-$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
-foreach($it as $key => $val) {
-   var_dump($key, $val);
-}
-
-?>
---EXPECT--
-int(0)
-string(5) "world"
+--TEST--
+Bug #31926 (php in free() error with RecursiveArrayIterator)
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+
+$array = array(0 => array('world'));
+
+$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
+foreach($it as $key => $val) {
+   var_dump($key, $val);
+}
+
+?>
+--EXPECT--
+int(0)
+string(5) "world"
diff --git a/ext/spl/tests/bug40091.phpt b/ext/spl/tests/bug40091.phpt
index 7d6210b..316e302 100644
--- a/ext/spl/tests/bug40091.phpt
+++ b/ext/spl/tests/bug40091.phpt
@@ -25,13 +25,19 @@ Array
 (
     [0] => Array
         (
-            [0] => MyAutoloader
+            [0] => MyAutoloader Object
+                (
+                )
+
             [1] => autoload
         )
 
     [1] => Array
         (
-            [0] => MyAutoloader
+            [0] => MyAutoloader Object
+                (
+                )
+
             [1] => autoload
         )
 
diff --git a/ext/spl/tests/bug42364.phpt b/ext/spl/tests/bug42364.phpt
index b218be3..e143a57 100644
--- a/ext/spl/tests/bug42364.phpt
+++ b/ext/spl/tests/bug42364.phpt
@@ -12,7 +12,7 @@ foreach ($it as $e) {
     }
 }
 
-echo "===DONE==="
 ?>
+===DONE===
 --EXPECT--
 ===DONE===
diff --git a/ext/spl/tests/bug44144.phpt b/ext/spl/tests/bug44144.phpt
new file mode 100644
index 0000000..2933d2f
--- /dev/null
+++ b/ext/spl/tests/bug44144.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Bug #44144 (spl_autoload_functions() should return object instance when appropriate)
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+class Foo {
+  public function nonstaticMethod() {}
+}
+$foo = new Foo;
+spl_autoload_register(array($foo, 'nonstaticMethod'));
+$funcs = spl_autoload_functions();
+var_dump($funcs);
+?>
+--EXPECTF--
+array(1) {
+  [0]=>
+  array(2) {
+    [0]=>
+    object(Foo)#%d (0) {
+    }
+    [1]=>
+    string(15) "nonstaticMethod"
+  }
+}
+
+
diff --git a/ext/spl/tests/countable_class_basic1.phpt b/ext/spl/tests/countable_class_basic1.phpt
index 11d7637..449fc71 100644
--- a/ext/spl/tests/countable_class_basic1.phpt
+++ b/ext/spl/tests/countable_class_basic1.phpt
@@ -1,28 +1,28 @@
---TEST--
-SPL: Test shape of interface Countable.
---SKIPIF--
-<?php if (!extension_loaded('spl') || !extension_loaded('reflection')) print 'skip'; ?>
---FILE--
-<?php
-ReflectionClass::export('Countable');
-?>
---EXPECTF--
-Interface [ <internal%s> interface Countable ] {
-
-  - Constants [0] {
-  }
-
-  - Static properties [0] {
-  }
-
-  - Static methods [0] {
-  }
-
-  - Properties [0] {
-  }
-
-  - Methods [1] {
-    Method [ <internal%s> abstract public method count ] {
-    }
-  }
-}
+--TEST--
+SPL: Test shape of interface Countable.
+--SKIPIF--
+<?php if (!extension_loaded('spl') || !extension_loaded('reflection')) print 'skip'; ?>
+--FILE--
+<?php
+ReflectionClass::export('Countable');
+?>
+--EXPECTF--
+Interface [ <internal%s> interface Countable ] {
+
+  - Constants [0] {
+  }
+
+  - Static properties [0] {
+  }
+
+  - Static methods [0] {
+  }
+
+  - Properties [0] {
+  }
+
+  - Methods [1] {
+    Method [ <internal%s> abstract public method count ] {
+    }
+  }
+}
diff --git a/ext/spl/tests/countable_count_variation1.phpt b/ext/spl/tests/countable_count_variation1.phpt
index 3538a20..642887d 100644
--- a/ext/spl/tests/countable_count_variation1.phpt
+++ b/ext/spl/tests/countable_count_variation1.phpt
@@ -1,68 +1,68 @@
---TEST--
-SPL: Countable::count() with wrong return types and exception.
---FILE--
-<?php
-
-Class returnNull implements Countable {
-	function count() {
-	}
-}
-
-Class returnString implements Countable {
-	function count() {
-		return "hello";
-	}
-}
-
-Class returnObject implements Countable {
-	function count() {
-		return new returnObject;
-	}
-}
-
-Class returnArray implements Countable {
-	function count() {
-		return array(1,2,3);
-	}
-}
-
-Class throwException implements Countable {
-	function count() {
-		throw new Exception('Thrown from count');
-	}
-}
-
-
-echo "Count returns null:\n";
-var_dump(count(new returnNull));
-
-echo "Count returns a string:\n";
-var_dump(count(new returnString));
-
-echo "Count returns an object:\n";
-var_dump(count(new returnObject));
-
-echo "Count returns an array:\n";
-var_dump(count(new returnArray));
-
-echo "Count throws an exception:\n";
-try {
-	echo count(new throwException);
-} catch (Exception $e) {
-	echo $e->getMessage();
-}
-
-?>
---EXPECTF--
-Count returns null:
-int(0)
-Count returns a string:
-int(0)
-Count returns an object:
-
-Notice: Object of class returnObject could not be converted to int in %s on line 40
-int(1)
-Count returns an array:
-int(1)
-Count throws an exception:
+--TEST--
+SPL: Countable::count() with wrong return types and exception.
+--FILE--
+<?php
+
+Class returnNull implements Countable {
+	function count() {
+	}
+}
+
+Class returnString implements Countable {
+	function count() {
+		return "hello";
+	}
+}
+
+Class returnObject implements Countable {
+	function count() {
+		return new returnObject;
+	}
+}
+
+Class returnArray implements Countable {
+	function count() {
+		return array(1,2,3);
+	}
+}
+
+Class throwException implements Countable {
+	function count() {
+		throw new Exception('Thrown from count');
+	}
+}
+
+
+echo "Count returns null:\n";
+var_dump(count(new returnNull));
+
+echo "Count returns a string:\n";
+var_dump(count(new returnString));
+
+echo "Count returns an object:\n";
+var_dump(count(new returnObject));
+
+echo "Count returns an array:\n";
+var_dump(count(new returnArray));
+
+echo "Count throws an exception:\n";
+try {
+	echo count(new throwException);
+} catch (Exception $e) {
+	echo $e->getMessage();
+}
+
+?>
+--EXPECTF--
+Count returns null:
+int(0)
+Count returns a string:
+int(0)
+Count returns an object:
+
+Notice: Object of class returnObject could not be converted to int in %s on line 40
+int(1)
+Count returns an array:
+int(1)
+Count throws an exception:
 Thrown from count
\ No newline at end of file
diff --git a/ext/spl/tests/iterator_044.phpt.orig b/ext/spl/tests/iterator_044.phpt.orig
deleted file mode 100755
index d3c6253..0000000
--- a/ext/spl/tests/iterator_044.phpt.orig
+++ /dev/null
@@ -1,169 +0,0 @@
---TEST--
-SPL: CachingIterator and offsetGet/Exists using flag FULL_CACHE
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---FILE--
-<?php
-
-class MyFoo
-{
-	function __toString()
-	{
-		return 'foo';
-	}
-}
-
-class MyCachingIterator extends CachingIterator
-{
-	function __construct(Iterator $it, $flags = 0)
-	{
-		parent::__construct($it, $flags);
-	}
-
-	function test($ar)
-	{
-		foreach($ar as $k => $v)
-		{
-			echo "===$k===\n";
-			var_dump($v);
-			var_dump($this->offsetExists($v));
-			var_dump($this->offsetGet($v));
-		}
-	}
-}
-
-$it = new MyCachingIterator(new ArrayIterator(array(0, 'foo'=>1, 2, 'bar'=>3, 4)));
-
-try
-{
-	var_dump($it->offsetExists(0));
-}
-catch(Exception $e)
-{
-	echo "Exception: " . $e->getMessage() . "\n";
-}
-
-try
-{
-	var_dump($it->offsetGet(0));
-}
-catch(Exception $e)
-{
-	echo "Exception: " . $e->getMessage() . "\n";
-}
-
-$it = new MyCachingIterator(new ArrayIterator(array(0, 'foo'=>1, 2, 'bar'=>3, 4)), CachingIterator::FULL_CACHE);
-
-var_dump($it->offsetExists());
-var_dump($it->offsetGet());
-
-$checks = array(0, new stdClass, new MyFoo, NULL, 2, 'foo', 3);
-
-$it->test($checks);
-
-echo "===FILL===\n";
-
-foreach($it as $v); // read all into cache
-
-$it->test($checks);
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-Exception: MyCachingIterator does not use a full cache (see CachingIterator::__construct)
-
-Notice: Undefined index:  0 in %siterator_044.php on line %d
-Exception: MyCachingIterator does not use a full cache (see CachingIterator::__construct)
-
-Warning: CachingIterator::offsetExists() expects exactly 1 parameter, 0 given in %siterator_044.php on line %d
-NULL
-
-Warning: CachingIterator::offsetGet() expects exactly 1 parameter, 0 given in %siterator_044.php on line %d
-NULL
-===0===
-int(0)
-bool(false)
-
-Notice: Undefined index:  0 in %siterator_044.php on line %d
-NULL
-===1===
-object(stdClass)#%d (0) {
-}
-
-Warning: CachingIterator::offsetExists() expects parameter 1 to be string, object given in %siterator_044.php on line %d
-NULL
-
-Warning: CachingIterator::offsetGet() expects parameter 1 to be string, object given in %siterator_044.php on line %d
-NULL
-===2===
-object(MyFoo)#%d (0) {
-}
-bool(false)
-
-Notice: Undefined index:  foo in %siterator_044.php on line %d
-NULL
-===3===
-NULL
-bool(false)
-
-Notice: Undefined index:   in %siterator_044.php on line %d
-NULL
-===4===
-int(2)
-bool(false)
-
-Notice: Undefined index:  2 in %siterator_044.php on line %d
-NULL
-===5===
-string(3) "foo"
-bool(false)
-
-Notice: Undefined index:  foo in %siterator_044.php on line %d
-NULL
-===6===
-int(3)
-bool(false)
-
-Notice: Undefined index:  3 in %siterator_044.php on line %d
-NULL
-===FILL===
-===0===
-int(0)
-bool(true)
-int(0)
-===1===
-object(stdClass)#1 (0) {
-}
-
-Warning: CachingIterator::offsetExists() expects parameter 1 to be string, object given in %siterator_044.php on line %d
-NULL
-
-Warning: CachingIterator::offsetGet() expects parameter 1 to be string, object given in %siterator_044.php on line %d
-NULL
-===2===
-object(MyFoo)#2 (0) {
-}
-bool(true)
-int(1)
-===3===
-NULL
-bool(false)
-
-Notice: Undefined index:   in %siterator_044.php on line %d
-NULL
-===4===
-int(2)
-bool(true)
-int(4)
-===5===
-string(3) "foo"
-bool(true)
-int(1)
-===6===
-int(3)
-bool(false)
-
-Notice: Undefined index:  3 in %siterator_044.php on line %d
-NULL
-===DONE===
diff --git a/ext/spl/tests/iterator_count.phpt b/ext/spl/tests/iterator_count.phpt
index 1db568d..9aa4e11 100644
--- a/ext/spl/tests/iterator_count.phpt
+++ b/ext/spl/tests/iterator_count.phpt
@@ -1,26 +1,26 @@
---TEST--
-SPL: iterator_count() exceptions test
---CREDITS--
-Lance Kesson jac_kesson at hotmail.com
-#testfest London 2009-05-09
---FILE--
-<?php
-$array=array('a','b');
-
-$iterator = new ArrayIterator($array);
-
-iterator_count();
-
-
-iterator_count($iterator,'1');
-
-iterator_count('1');
-
-
-?>
---EXPECTF--
-Warning: iterator_count() expects exactly 1 parameter, 0 given in %s
-
-Warning: iterator_count() expects exactly 1 parameter, 2 given in %s
-
-Catchable fatal error: Argument 1 passed to iterator_count() must implement interface Traversable, %unicode_string_optional% given %s
+--TEST--
+SPL: iterator_count() exceptions test
+--CREDITS--
+Lance Kesson jac_kesson at hotmail.com
+#testfest London 2009-05-09
+--FILE--
+<?php
+$array=array('a','b');
+
+$iterator = new ArrayIterator($array);
+
+iterator_count();
+
+
+iterator_count($iterator,'1');
+
+iterator_count('1');
+
+
+?>
+--EXPECTF--
+Warning: iterator_count() expects exactly 1 parameter, 0 given in %s
+
+Warning: iterator_count() expects exactly 1 parameter, 2 given in %s
+
+Catchable fatal error: Argument 1 passed to iterator_count() must implement interface Traversable, %unicode_string_optional% given %s
diff --git a/ext/spl/tests/iterator_to_array.phpt b/ext/spl/tests/iterator_to_array.phpt
index 574e050..958d370 100644
--- a/ext/spl/tests/iterator_to_array.phpt
+++ b/ext/spl/tests/iterator_to_array.phpt
@@ -1,25 +1,25 @@
---TEST--
-SPL: iterator_to_array() exceptions test
---CREDITS--
-Lance Kesson jac_kesson at hotmail.com
-#testfest London 2009-05-09
---FILE--
-<?php
-$array=array('a','b');
-
-$iterator = new ArrayIterator($array);
-
-iterator_to_array();
-
-
-iterator_to_array($iterator,'test','test');
-
-iterator_to_array('test','test');
-
-?>
---EXPECTF--
-Warning: iterator_to_array() expects at least 1 parameter, 0 given in %s
-
-Warning: iterator_to_array() expects at most 2 parameters, 3 given in %s
-
-Catchable fatal error: Argument 1 passed to iterator_to_array() must implement interface Traversable, %unicode_string_optional% given %s
+--TEST--
+SPL: iterator_to_array() exceptions test
+--CREDITS--
+Lance Kesson jac_kesson at hotmail.com
+#testfest London 2009-05-09
+--FILE--
+<?php
+$array=array('a','b');
+
+$iterator = new ArrayIterator($array);
+
+iterator_to_array();
+
+
+iterator_to_array($iterator,'test','test');
+
+iterator_to_array('test','test');
+
+?>
+--EXPECTF--
+Warning: iterator_to_array() expects at least 1 parameter, 0 given in %s
+
+Warning: iterator_to_array() expects at most 2 parameters, 3 given in %s
+
+Catchable fatal error: Argument 1 passed to iterator_to_array() must implement interface Traversable, %unicode_string_optional% given %s
diff --git a/ext/spl/tests/regexiterator_getpregflags.phpt b/ext/spl/tests/regexiterator_getpregflags.phpt
index db96153..58a4dc4 100644
--- a/ext/spl/tests/regexiterator_getpregflags.phpt
+++ b/ext/spl/tests/regexiterator_getpregflags.phpt
@@ -1,33 +1,33 @@
---TEST--
-SPL: RegexIterator::getPregFlags()
---CREDITS--
-Lance Kesson jac_kesson at hotmail.com
-#testfest London 2009-05-09
---FILE--
-<?php
-
-class myIterator implements Iterator {
-
-function current (){}
-function key ( ){}
-function next ( ){}
-function rewind ( ){}
-function valid ( ){}
-
-
-}
-
-class TestRegexIterator extends RegexIterator{}
-
-$rege = '/^a/';
-
-
-$r = new TestRegexIterator(new myIterator, $rege);
-
-$r->setPregFlags(PREG_OFFSET_CAPTURE);
-
-echo is_long($r->getPregFlags());
-
-?>
---EXPECTF--
+--TEST--
+SPL: RegexIterator::getPregFlags()
+--CREDITS--
+Lance Kesson jac_kesson at hotmail.com
+#testfest London 2009-05-09
+--FILE--
+<?php
+
+class myIterator implements Iterator {
+
+function current (){}
+function key ( ){}
+function next ( ){}
+function rewind ( ){}
+function valid ( ){}
+
+
+}
+
+class TestRegexIterator extends RegexIterator{}
+
+$rege = '/^a/';
+
+
+$r = new TestRegexIterator(new myIterator, $rege);
+
+$r->setPregFlags(PREG_OFFSET_CAPTURE);
+
+echo is_long($r->getPregFlags());
+
+?>
+--EXPECTF--
 1
\ No newline at end of file
diff --git a/ext/spl/tests/regexiterator_setflags_exception.phpt b/ext/spl/tests/regexiterator_setflags_exception.phpt
index 66c82b1..fdc8bca 100644
--- a/ext/spl/tests/regexiterator_setflags_exception.phpt
+++ b/ext/spl/tests/regexiterator_setflags_exception.phpt
@@ -1,35 +1,35 @@
---TEST--
-SPL: RegexIterator::setFlags() exceptions test
---CREDITS--
-Lance Kesson jac_kesson at hotmail.com
-#testfest London 2009-05-09
---FILE--
-<?php
-
-class myIterator implements Iterator {
-
-function current (){}
-function key ( ){}
-function next ( ){}
-function rewind ( ){}
-function valid ( ){}
-
-
-}
-
-class TestRegexIterator extends RegexIterator{}
-
-$rege = '/^a/';
-
-
-$r = new TestRegexIterator(new myIterator, $rege);
-
-try{	
-	$r->setFlags();
-}catch (Exception $e) {
-	echo $e->getMessage();
-}
-
-?>
---EXPECTF--
+--TEST--
+SPL: RegexIterator::setFlags() exceptions test
+--CREDITS--
+Lance Kesson jac_kesson at hotmail.com
+#testfest London 2009-05-09
+--FILE--
+<?php
+
+class myIterator implements Iterator {
+
+function current (){}
+function key ( ){}
+function next ( ){}
+function rewind ( ){}
+function valid ( ){}
+
+
+}
+
+class TestRegexIterator extends RegexIterator{}
+
+$rege = '/^a/';
+
+
+$r = new TestRegexIterator(new myIterator, $rege);
+
+try{	
+	$r->setFlags();
+}catch (Exception $e) {
+	echo $e->getMessage();
+}
+
+?>
+--EXPECTF--
 Warning: RegexIterator::setFlags() expects exactly 1 parameter, 0 given in %s
\ No newline at end of file
diff --git a/ext/spl/tests/regexiterator_setpregflags.phpt b/ext/spl/tests/regexiterator_setpregflags.phpt
index a14da61..ea1b455 100644
--- a/ext/spl/tests/regexiterator_setpregflags.phpt
+++ b/ext/spl/tests/regexiterator_setpregflags.phpt
@@ -1,34 +1,34 @@
---TEST--
-SPL: RegexIterator::setPregFlags()
---CREDITS--
-Lance Kesson jac_kesson at hotmail.com
-#testfest London 2009-05-09
---FILE--
-<?php
-
-class myIterator implements Iterator {
-
-function current (){}
-function key ( ){}
-function next ( ){}
-function rewind ( ){}
-function valid ( ){}
-
-
-}
-
-class TestRegexIterator extends RegexIterator{}
-
-$rege = '/^a/';
-
-
-$r = new TestRegexIterator(new myIterator, $rege);
-
-$r->setPregFlags(PREG_OFFSET_CAPTURE);
-
-echo $r->getPregFlags();
-
-
-?>
---EXPECTF--
+--TEST--
+SPL: RegexIterator::setPregFlags()
+--CREDITS--
+Lance Kesson jac_kesson at hotmail.com
+#testfest London 2009-05-09
+--FILE--
+<?php
+
+class myIterator implements Iterator {
+
+function current (){}
+function key ( ){}
+function next ( ){}
+function rewind ( ){}
+function valid ( ){}
+
+
+}
+
+class TestRegexIterator extends RegexIterator{}
+
+$rege = '/^a/';
+
+
+$r = new TestRegexIterator(new myIterator, $rege);
+
+$r->setPregFlags(PREG_OFFSET_CAPTURE);
+
+echo $r->getPregFlags();
+
+
+?>
+--EXPECTF--
 256
\ No newline at end of file
diff --git a/ext/spl/tests/regexiterator_setpregflags_exception.phpt b/ext/spl/tests/regexiterator_setpregflags_exception.phpt
index 489505c..cc7c17c 100644
--- a/ext/spl/tests/regexiterator_setpregflags_exception.phpt
+++ b/ext/spl/tests/regexiterator_setpregflags_exception.phpt
@@ -1,36 +1,36 @@
---TEST--
-SPL: RegexIterator::getPregFlags() exception test
---CREDITS--
-Lance Kesson jac_kesson at hotmail.com
-#testfest London 2009-05-09
---FILE--
-<?php
-
-class myIterator implements Iterator {
-
-function current (){}
-function key ( ){}
-function next ( ){}
-function rewind ( ){}
-function valid ( ){}
-
-
-}
-
-class TestRegexIterator extends RegexIterator{}
-
-$rege = '/^a/';
-
-
-$r = new TestRegexIterator(new myIterator, $rege);
-
-
-try{	
-	$r->setPregFlags();
-}catch (Exception $e) {
-	echo $e->getMessage();
-}
-
-?>
---EXPECTF--
+--TEST--
+SPL: RegexIterator::getPregFlags() exception test
+--CREDITS--
+Lance Kesson jac_kesson at hotmail.com
+#testfest London 2009-05-09
+--FILE--
+<?php
+
+class myIterator implements Iterator {
+
+function current (){}
+function key ( ){}
+function next ( ){}
+function rewind ( ){}
+function valid ( ){}
+
+
+}
+
+class TestRegexIterator extends RegexIterator{}
+
+$rege = '/^a/';
+
+
+$r = new TestRegexIterator(new myIterator, $rege);
+
+
+try{	
+	$r->setPregFlags();
+}catch (Exception $e) {
+	echo $e->getMessage();
+}
+
+?>
+--EXPECTF--
 Warning: RegexIterator::setPregFlags() expects exactly 1 parameter, 0 given in %s
\ No newline at end of file
diff --git a/ext/spl/tests/spl_autoload_001.phpt b/ext/spl/tests/spl_autoload_001.phpt
index cdee656..f78e31a 100755
--- a/ext/spl/tests/spl_autoload_001.phpt
+++ b/ext/spl/tests/spl_autoload_001.phpt
@@ -1,138 +1,138 @@
---TEST--
-SPL: spl_autoload() and friends
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---INI--
-include_path=.
---FILE--
-<?php
-
-echo "===EMPTY===\n";
-
-var_dump(spl_autoload_extensions());
-
-try
-{
-	spl_autoload("TestClass");
-}
-catch(Exception $e)
-{
-	echo 'Exception: ' . $e->getMessage() . "\n";
-}
-
-$test_exts = array(NULL, "1", ".inc,,.php.inc", "");
-
-foreach($test_exts as $exts)
-{
-	echo "===($exts)===\n";
-	try
-	{
-		spl_autoload("TestClass", $exts);
-	}
-	catch(Exception $e)
-	{
-		echo 'Exception: ' . $e->getMessage() . "\n";
-	}
-}
-
-try
-{
-	spl_autoload_extensions(".inc,.php.inc");
-	spl_autoload("TestClass");
-}
-catch(Exception $e)
-{
-	echo 'Exception: ' . $e->getMessage() . "\n";
-}
-
-function TestFunc1($classname)
-{
-	echo __METHOD__ . "($classname)\n";
-}
-
-function TestFunc2($classname)
-{
-	echo __METHOD__ . "($classname)\n";
-}
-
-echo "===SPL_AUTOLOAD()===\n";
-
-spl_autoload_register();
-
-try
-{
-	var_dump(spl_autoload_extensions(".inc"));
-	var_dump(class_exists("TestClass", true));
-}
-catch(Exception $e)
-{
-	echo 'Exception: ' . $e->getMessage() . "\n";
-}
-
-echo "===REGISTER===\n";
-
-spl_autoload_unregister("spl_autoload");
-spl_autoload_register("TestFunc1");
-spl_autoload_register("TestFunc2");
-spl_autoload_register("TestFunc2"); /* 2nd call ignored */
-spl_autoload_extensions(".inc,.class.inc"); /* we do not have spl_autoload_registered yet */
-
-try
-{
-	var_dump(class_exists("TestClass", true));
-}
-catch(Exception $e)
-{
-	echo 'Exception: ' . $e->getMessage() . "\n";
-}
-
-echo "===LOAD===\n";
-
-spl_autoload_register("spl_autoload");
-var_dump(class_exists("TestClass", true));
-
-echo "===NOFUNCTION===\n";
-
-try
-{
-	spl_autoload_register("unavailable_autoload_function");
-}
-catch(Exception $e)
-{
-	echo 'Exception: ' . $e->getMessage() . "\n";
-}
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-===EMPTY===
-string(9) ".inc,.php"
-%stestclass.inc
-Exception: Class TestClass could not be loaded
-===()===
-Exception: Class TestClass could not be loaded
-===(1)===
-Exception: Class TestClass could not be loaded
-===(.inc,,.php.inc)===
-%stestclass
-%stestclass.php.inc
-Exception: Class TestClass could not be loaded
-===()===
-Exception: Class TestClass could not be loaded
-Exception: Class TestClass could not be loaded
-===SPL_AUTOLOAD()===
-string(4) ".inc"
-Exception: Class TestClass could not be loaded
-===REGISTER===
-TestFunc1(TestClass)
-TestFunc2(TestClass)
-bool(false)
-===LOAD===
-TestFunc1(TestClass)
-TestFunc2(TestClass)
-%stestclass.class.inc
-bool(true)
-===NOFUNCTION===
-Exception: Function 'unavailable_autoload_function' not found
-===DONE===
+--TEST--
+SPL: spl_autoload() and friends
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--INI--
+include_path=.
+--FILE--
+<?php
+
+echo "===EMPTY===\n";
+
+var_dump(spl_autoload_extensions());
+
+try
+{
+	spl_autoload("TestClass");
+}
+catch(Exception $e)
+{
+	echo 'Exception: ' . $e->getMessage() . "\n";
+}
+
+$test_exts = array(NULL, "1", ".inc,,.php.inc", "");
+
+foreach($test_exts as $exts)
+{
+	echo "===($exts)===\n";
+	try
+	{
+		spl_autoload("TestClass", $exts);
+	}
+	catch(Exception $e)
+	{
+		echo 'Exception: ' . $e->getMessage() . "\n";
+	}
+}
+
+try
+{
+	spl_autoload_extensions(".inc,.php.inc");
+	spl_autoload("TestClass");
+}
+catch(Exception $e)
+{
+	echo 'Exception: ' . $e->getMessage() . "\n";
+}
+
+function TestFunc1($classname)
+{
+	echo __METHOD__ . "($classname)\n";
+}
+
+function TestFunc2($classname)
+{
+	echo __METHOD__ . "($classname)\n";
+}
+
+echo "===SPL_AUTOLOAD()===\n";
+
+spl_autoload_register();
+
+try
+{
+	var_dump(spl_autoload_extensions(".inc"));
+	var_dump(class_exists("TestClass", true));
+}
+catch(Exception $e)
+{
+	echo 'Exception: ' . $e->getMessage() . "\n";
+}
+
+echo "===REGISTER===\n";
+
+spl_autoload_unregister("spl_autoload");
+spl_autoload_register("TestFunc1");
+spl_autoload_register("TestFunc2");
+spl_autoload_register("TestFunc2"); /* 2nd call ignored */
+spl_autoload_extensions(".inc,.class.inc"); /* we do not have spl_autoload_registered yet */
+
+try
+{
+	var_dump(class_exists("TestClass", true));
+}
+catch(Exception $e)
+{
+	echo 'Exception: ' . $e->getMessage() . "\n";
+}
+
+echo "===LOAD===\n";
+
+spl_autoload_register("spl_autoload");
+var_dump(class_exists("TestClass", true));
+
+echo "===NOFUNCTION===\n";
+
+try
+{
+	spl_autoload_register("unavailable_autoload_function");
+}
+catch(Exception $e)
+{
+	echo 'Exception: ' . $e->getMessage() . "\n";
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+===EMPTY===
+string(9) ".inc,.php"
+%stestclass.inc
+Exception: Class TestClass could not be loaded
+===()===
+Exception: Class TestClass could not be loaded
+===(1)===
+Exception: Class TestClass could not be loaded
+===(.inc,,.php.inc)===
+%stestclass
+%stestclass.php.inc
+Exception: Class TestClass could not be loaded
+===()===
+Exception: Class TestClass could not be loaded
+Exception: Class TestClass could not be loaded
+===SPL_AUTOLOAD()===
+string(4) ".inc"
+Exception: Class TestClass could not be loaded
+===REGISTER===
+TestFunc1(TestClass)
+TestFunc2(TestClass)
+bool(false)
+===LOAD===
+TestFunc1(TestClass)
+TestFunc2(TestClass)
+%stestclass.class.inc
+bool(true)
+===NOFUNCTION===
+Exception: Function 'unavailable_autoload_function' not found
+===DONE===
diff --git a/ext/spl/tests/spl_autoload_003.phpt b/ext/spl/tests/spl_autoload_003.phpt
index 40084d1..1344b39 100755
--- a/ext/spl/tests/spl_autoload_003.phpt
+++ b/ext/spl/tests/spl_autoload_003.phpt
@@ -1,46 +1,46 @@
---TEST--
-SPL: spl_autoload() and friends
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---INI--
-include_path=.
---FILE--
-<?php
-
-function TestFunc1($classname)
-{
-	echo __METHOD__ . "($classname)\n";
-}
-
-function TestFunc2($classname)
-{
-	echo __METHOD__ . "($classname)\n";
-	throw new Exception("Class $classname missing");
-}
-
-function TestFunc3($classname)
-{
-	echo __METHOD__ . "($classname)\n";
-}
-
-spl_autoload_register("TestFunc1");
-spl_autoload_register("TestFunc2");
-spl_autoload_register("TestFunc3");
-
-try
-{
-	var_dump(class_exists("TestClass", true));
-}
-catch(Exception $e)
-{
-	echo 'Exception: ' . $e->getMessage() . "\n";
-}
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-TestFunc1(TestClass)
-TestFunc2(TestClass)
-Exception: Class TestClass missing
-===DONE===
+--TEST--
+SPL: spl_autoload() and friends
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--INI--
+include_path=.
+--FILE--
+<?php
+
+function TestFunc1($classname)
+{
+	echo __METHOD__ . "($classname)\n";
+}
+
+function TestFunc2($classname)
+{
+	echo __METHOD__ . "($classname)\n";
+	throw new Exception("Class $classname missing");
+}
+
+function TestFunc3($classname)
+{
+	echo __METHOD__ . "($classname)\n";
+}
+
+spl_autoload_register("TestFunc1");
+spl_autoload_register("TestFunc2");
+spl_autoload_register("TestFunc3");
+
+try
+{
+	var_dump(class_exists("TestClass", true));
+}
+catch(Exception $e)
+{
+	echo 'Exception: ' . $e->getMessage() . "\n";
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+TestFunc1(TestClass)
+TestFunc2(TestClass)
+Exception: Class TestClass missing
+===DONE===
diff --git a/ext/spl/tests/spl_autoload_004.phpt b/ext/spl/tests/spl_autoload_004.phpt
index 9a91dd7..ec80d38 100755
--- a/ext/spl/tests/spl_autoload_004.phpt
+++ b/ext/spl/tests/spl_autoload_004.phpt
@@ -1,45 +1,45 @@
---TEST--
-SPL: spl_autoload() with static methods
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---INI--
-include_path=.
---FILE--
-<?php
-
-class MyAutoLoader {
-
-        static function autoLoad($className) {
-        	echo __METHOD__ . "($className)\n";
-        }
-}
-
-spl_autoload_register(array('MyAutoLoader', 'autoLoad'));
-
-// and
-
-$myAutoLoader = new MyAutoLoader();
-
-spl_autoload_register(array($myAutoLoader, 'autoLoad'));
-
-var_dump(spl_autoload_functions());
-
-// check
-var_dump(class_exists("TestClass", true));
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-array(1) {
-  [0]=>
-  array(2) {
-    [0]=>
-    string(12) "MyAutoLoader"
-    [1]=>
-    string(8) "autoLoad"
-  }
-}
-MyAutoLoader::autoLoad(TestClass)
-bool(false)
-===DONE===
+--TEST--
+SPL: spl_autoload() with static methods
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--INI--
+include_path=.
+--FILE--
+<?php
+
+class MyAutoLoader {
+
+        static function autoLoad($className) {
+        	echo __METHOD__ . "($className)\n";
+        }
+}
+
+spl_autoload_register(array('MyAutoLoader', 'autoLoad'));
+
+// and
+
+$myAutoLoader = new MyAutoLoader();
+
+spl_autoload_register(array($myAutoLoader, 'autoLoad'));
+
+var_dump(spl_autoload_functions());
+
+// check
+var_dump(class_exists("TestClass", true));
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+array(1) {
+  [0]=>
+  array(2) {
+    [0]=>
+    string(12) "MyAutoLoader"
+    [1]=>
+    string(8) "autoLoad"
+  }
+}
+MyAutoLoader::autoLoad(TestClass)
+bool(false)
+===DONE===
diff --git a/ext/spl/tests/spl_autoload_005.phpt b/ext/spl/tests/spl_autoload_005.phpt
index 2799154..1f946d9 100755
--- a/ext/spl/tests/spl_autoload_005.phpt
+++ b/ext/spl/tests/spl_autoload_005.phpt
@@ -1,57 +1,57 @@
---TEST--
-SPL: spl_autoload() with methods
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---INI--
-include_path=.
---FILE--
-<?php
-
-class MyAutoLoader {
-
-        function autoLoad($className)
-        {
-        	echo __METHOD__ . "($className)\n";
-        }
-        
-        function autoThrow($className)
-        {
-        	echo __METHOD__ . "($className)\n";
-        	throw new Exception("Unavailable");
-        }
-}
-
-try
-{
-	spl_autoload_register(array('MyAutoLoader', 'autoLoad'), true);
-}
-catch(Exception $e)
-{
-	echo 'Exception: ' . $e->getMessage() . "\n";
-}
-
-// and
-
-$myAutoLoader = new MyAutoLoader();
-
-spl_autoload_register(array($myAutoLoader, 'autoLoad'));
-spl_autoload_register(array($myAutoLoader, 'autoThrow'));
-
-try
-{
-	var_dump(class_exists("TestClass", true));
-}
-catch(Exception $e)
-{
-	echo 'Exception: ' . $e->getMessage() . "\n";
-}
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-Exception: Passed array specifies a non static method but no object
-MyAutoLoader::autoLoad(TestClass)
-MyAutoLoader::autoThrow(TestClass)
-Exception: Unavailable
-===DONE===
+--TEST--
+SPL: spl_autoload() with methods
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--INI--
+include_path=.
+--FILE--
+<?php
+
+class MyAutoLoader {
+
+        function autoLoad($className)
+        {
+        	echo __METHOD__ . "($className)\n";
+        }
+        
+        function autoThrow($className)
+        {
+        	echo __METHOD__ . "($className)\n";
+        	throw new Exception("Unavailable");
+        }
+}
+
+try
+{
+	spl_autoload_register(array('MyAutoLoader', 'autoLoad'), true);
+}
+catch(Exception $e)
+{
+	echo 'Exception: ' . $e->getMessage() . "\n";
+}
+
+// and
+
+$myAutoLoader = new MyAutoLoader();
+
+spl_autoload_register(array($myAutoLoader, 'autoLoad'));
+spl_autoload_register(array($myAutoLoader, 'autoThrow'));
+
+try
+{
+	var_dump(class_exists("TestClass", true));
+}
+catch(Exception $e)
+{
+	echo 'Exception: ' . $e->getMessage() . "\n";
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+Exception: Passed array specifies a non static method but no object
+MyAutoLoader::autoLoad(TestClass)
+MyAutoLoader::autoThrow(TestClass)
+Exception: Unavailable
+===DONE===
diff --git a/ext/spl/tests/spl_autoload_006.phpt b/ext/spl/tests/spl_autoload_006.phpt
index f704c4c..4931c9f 100755
--- a/ext/spl/tests/spl_autoload_006.phpt
+++ b/ext/spl/tests/spl_autoload_006.phpt
@@ -1,39 +1,39 @@
---TEST--
-SPL: spl_autoload() with static methods
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---INI--
-include_path=.
---FILE--
-<?php
-
-class MyAutoLoader {
-
-        static function autoLoad($className) {
-        	echo __METHOD__ . "($className)\n";
-        }
-}
-
-spl_autoload_register('MyAutoLoader::autoLoad');
-
-var_dump(spl_autoload_functions());
-
-// check
-var_dump(class_exists("TestClass", true));
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-array(1) {
-  [0]=>
-  array(2) {
-    [0]=>
-    string(12) "MyAutoLoader"
-    [1]=>
-    string(8) "autoLoad"
-  }
-}
-MyAutoLoader::autoLoad(TestClass)
-bool(false)
-===DONE===
+--TEST--
+SPL: spl_autoload() with static methods
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--INI--
+include_path=.
+--FILE--
+<?php
+
+class MyAutoLoader {
+
+        static function autoLoad($className) {
+        	echo __METHOD__ . "($className)\n";
+        }
+}
+
+spl_autoload_register('MyAutoLoader::autoLoad');
+
+var_dump(spl_autoload_functions());
+
+// check
+var_dump(class_exists("TestClass", true));
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+array(1) {
+  [0]=>
+  array(2) {
+    [0]=>
+    string(12) "MyAutoLoader"
+    [1]=>
+    string(8) "autoLoad"
+  }
+}
+MyAutoLoader::autoLoad(TestClass)
+bool(false)
+===DONE===
diff --git a/ext/spl/tests/spl_autoload_007.phpt b/ext/spl/tests/spl_autoload_007.phpt
index ad5df1a..66c9c5d 100755
--- a/ext/spl/tests/spl_autoload_007.phpt
+++ b/ext/spl/tests/spl_autoload_007.phpt
@@ -1,140 +1,140 @@
---TEST--
-SPL: spl_autoload() with inaccessible methods
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---INI--
-include_path=.
---FILE--
-<?php
-
-class MyAutoLoader {
-
-        static protected function noAccess($className) {
-        	echo __METHOD__ . "($className)\n";
-        }
-
-        static function autoLoad($className) {
-        	echo __METHOD__ . "($className)\n";
-        }
-
-        function dynaLoad($className) {
-        	echo __METHOD__ . "($className)\n";
-        }
-}
-
-$obj = new MyAutoLoader;
-
-$funcs = array(
-	'MyAutoLoader::notExist',
-	'MyAutoLoader::noAccess',
-	'MyAutoLoader::autoLoad',
-	'MyAutoLoader::dynaLoad',
-	array('MyAutoLoader', 'notExist'),
-	array('MyAutoLoader', 'noAccess'),
-	array('MyAutoLoader', 'autoLoad'),
-	array('MyAutoLoader', 'dynaLoad'),
-	array($obj, 'notExist'),
-	array($obj, 'noAccess'),
-	array($obj, 'autoLoad'),
-	array($obj, 'dynaLoad'),
-);
-
-foreach($funcs as $idx => $func)
-{
-	if ($idx) echo "\n";
-	try
-	{
-		var_dump($func);
-		spl_autoload_register($func);
-		echo "ok\n";
-	}
-	catch (Exception $e)
-	{
-		echo $e->getMessage() . "\n";
-	}
-}
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-string(22) "MyAutoLoader::notExist"
-Function 'MyAutoLoader::notExist' not found
-
-string(22) "MyAutoLoader::noAccess"
-Function 'MyAutoLoader::noAccess' not callable
-
-string(22) "MyAutoLoader::autoLoad"
-ok
-
-string(22) "MyAutoLoader::dynaLoad"
-Function 'MyAutoLoader::dynaLoad' not callable
-
-array(2) {
-  [0]=>
-  string(12) "MyAutoLoader"
-  [1]=>
-  string(8) "notExist"
-}
-Passed array does not specify an existing static method
-
-array(2) {
-  [0]=>
-  string(12) "MyAutoLoader"
-  [1]=>
-  string(8) "noAccess"
-}
-Passed array does not specify a callable static method
-
-array(2) {
-  [0]=>
-  string(12) "MyAutoLoader"
-  [1]=>
-  string(8) "autoLoad"
-}
-ok
-
-array(2) {
-  [0]=>
-  string(12) "MyAutoLoader"
-  [1]=>
-  string(8) "dynaLoad"
-}
-Passed array specifies a non static method but no object
-
-array(2) {
-  [0]=>
-  object(MyAutoLoader)#%d (0) {
-  }
-  [1]=>
-  string(8) "notExist"
-}
-Passed array does not specify an existing method
-
-array(2) {
-  [0]=>
-  object(MyAutoLoader)#%d (0) {
-  }
-  [1]=>
-  string(8) "noAccess"
-}
-Passed array does not specify a callable method
-
-array(2) {
-  [0]=>
-  object(MyAutoLoader)#%d (0) {
-  }
-  [1]=>
-  string(8) "autoLoad"
-}
-ok
-
-array(2) {
-  [0]=>
-  object(MyAutoLoader)#%d (0) {
-  }
-  [1]=>
-  string(8) "dynaLoad"
-}
-ok
-===DONE===
+--TEST--
+SPL: spl_autoload() with inaccessible methods
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--INI--
+include_path=.
+--FILE--
+<?php
+
+class MyAutoLoader {
+
+        static protected function noAccess($className) {
+        	echo __METHOD__ . "($className)\n";
+        }
+
+        static function autoLoad($className) {
+        	echo __METHOD__ . "($className)\n";
+        }
+
+        function dynaLoad($className) {
+        	echo __METHOD__ . "($className)\n";
+        }
+}
+
+$obj = new MyAutoLoader;
+
+$funcs = array(
+	'MyAutoLoader::notExist',
+	'MyAutoLoader::noAccess',
+	'MyAutoLoader::autoLoad',
+	'MyAutoLoader::dynaLoad',
+	array('MyAutoLoader', 'notExist'),
+	array('MyAutoLoader', 'noAccess'),
+	array('MyAutoLoader', 'autoLoad'),
+	array('MyAutoLoader', 'dynaLoad'),
+	array($obj, 'notExist'),
+	array($obj, 'noAccess'),
+	array($obj, 'autoLoad'),
+	array($obj, 'dynaLoad'),
+);
+
+foreach($funcs as $idx => $func)
+{
+	if ($idx) echo "\n";
+	try
+	{
+		var_dump($func);
+		spl_autoload_register($func);
+		echo "ok\n";
+	}
+	catch (Exception $e)
+	{
+		echo $e->getMessage() . "\n";
+	}
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+string(22) "MyAutoLoader::notExist"
+Function 'MyAutoLoader::notExist' not found
+
+string(22) "MyAutoLoader::noAccess"
+Function 'MyAutoLoader::noAccess' not callable
+
+string(22) "MyAutoLoader::autoLoad"
+ok
+
+string(22) "MyAutoLoader::dynaLoad"
+Function 'MyAutoLoader::dynaLoad' not callable
+
+array(2) {
+  [0]=>
+  string(12) "MyAutoLoader"
+  [1]=>
+  string(8) "notExist"
+}
+Passed array does not specify an existing static method
+
+array(2) {
+  [0]=>
+  string(12) "MyAutoLoader"
+  [1]=>
+  string(8) "noAccess"
+}
+Passed array does not specify a callable static method
+
+array(2) {
+  [0]=>
+  string(12) "MyAutoLoader"
+  [1]=>
+  string(8) "autoLoad"
+}
+ok
+
+array(2) {
+  [0]=>
+  string(12) "MyAutoLoader"
+  [1]=>
+  string(8) "dynaLoad"
+}
+Passed array specifies a non static method but no object
+
+array(2) {
+  [0]=>
+  object(MyAutoLoader)#%d (0) {
+  }
+  [1]=>
+  string(8) "notExist"
+}
+Passed array does not specify an existing method
+
+array(2) {
+  [0]=>
+  object(MyAutoLoader)#%d (0) {
+  }
+  [1]=>
+  string(8) "noAccess"
+}
+Passed array does not specify a callable method
+
+array(2) {
+  [0]=>
+  object(MyAutoLoader)#%d (0) {
+  }
+  [1]=>
+  string(8) "autoLoad"
+}
+ok
+
+array(2) {
+  [0]=>
+  object(MyAutoLoader)#%d (0) {
+  }
+  [1]=>
+  string(8) "dynaLoad"
+}
+ok
+===DONE===
diff --git a/ext/spl/tests/spl_autoload_008.phpt b/ext/spl/tests/spl_autoload_008.phpt
index a3f24d9..bafd26d 100755
--- a/ext/spl/tests/spl_autoload_008.phpt
+++ b/ext/spl/tests/spl_autoload_008.phpt
@@ -1,131 +1,131 @@
---TEST--
-SPL: spl_autoload() with exceptions
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---INI--
-include_path=.
---FILE--
-<?php
-
-function MyAutoLoad($className)
-{
-	echo __METHOD__ . "($className)\n";
-	throw new Exception('Bla');
-}
-
-class MyAutoLoader
-{
-	static function autoLoad($className)
-	{
-		echo __METHOD__ . "($className)\n";
-		throw new Exception('Bla');
-	}
-	
-	function dynaLoad($className)
-	{
-		echo __METHOD__ . "($className)\n";
-		throw new Exception('Bla');
-	}
-}
-
-$obj = new MyAutoLoader;
-
-$funcs = array(
-	'MyAutoLoad',
-	'MyAutoLoader::autoLoad',
-	'MyAutoLoader::dynaLoad',
-	array('MyAutoLoader', 'autoLoad'),
-	array('MyAutoLoader', 'dynaLoad'),
-	array($obj, 'autoLoad'),
-	array($obj, 'dynaLoad'),
-);
-
-foreach($funcs as $idx => $func)
-{
-	echo "====$idx====\n";
-
-	try
-	{
-		var_dump($func);
-		spl_autoload_register($func);
-		if (count(spl_autoload_functions()))
-		{
-			echo "registered\n";
-			
-			var_dump(class_exists("NoExistingTestClass", true));
-		}		
-	}
-	catch (Exception $e)
-	{
-		echo get_class($e) . ": " . $e->getMessage() . "\n";
-	}
-
-	spl_autoload_unregister($func);
-	var_dump(count(spl_autoload_functions()));
-}
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-====0====
-string(10) "MyAutoLoad"
-registered
-MyAutoLoad(NoExistingTestClass)
-Exception: Bla
-int(0)
-====1====
-string(22) "MyAutoLoader::autoLoad"
-registered
-MyAutoLoader::autoLoad(NoExistingTestClass)
-Exception: Bla
-int(0)
-====2====
-string(22) "MyAutoLoader::dynaLoad"
-LogicException: Function 'MyAutoLoader::dynaLoad' not callable
-int(0)
-====3====
-array(2) {
-  [0]=>
-  string(12) "MyAutoLoader"
-  [1]=>
-  string(8) "autoLoad"
-}
-registered
-MyAutoLoader::autoLoad(NoExistingTestClass)
-Exception: Bla
-int(0)
-====4====
-array(2) {
-  [0]=>
-  string(12) "MyAutoLoader"
-  [1]=>
-  string(8) "dynaLoad"
-}
-LogicException: Passed array specifies a non static method but no object
-int(0)
-====5====
-array(2) {
-  [0]=>
-  object(MyAutoLoader)#%d (0) {
-  }
-  [1]=>
-  string(8) "autoLoad"
-}
-registered
-MyAutoLoader::autoLoad(NoExistingTestClass)
-Exception: Bla
-int(0)
-====6====
-array(2) {
-  [0]=>
-  object(MyAutoLoader)#%d (0) {
-  }
-  [1]=>
-  string(8) "dynaLoad"
-}
-registered
-MyAutoLoader::dynaLoad(NoExistingTestClass)
-Exception: Bla
-int(0)
-===DONE===
+--TEST--
+SPL: spl_autoload() with exceptions
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--INI--
+include_path=.
+--FILE--
+<?php
+
+function MyAutoLoad($className)
+{
+	echo __METHOD__ . "($className)\n";
+	throw new Exception('Bla');
+}
+
+class MyAutoLoader
+{
+	static function autoLoad($className)
+	{
+		echo __METHOD__ . "($className)\n";
+		throw new Exception('Bla');
+	}
+	
+	function dynaLoad($className)
+	{
+		echo __METHOD__ . "($className)\n";
+		throw new Exception('Bla');
+	}
+}
+
+$obj = new MyAutoLoader;
+
+$funcs = array(
+	'MyAutoLoad',
+	'MyAutoLoader::autoLoad',
+	'MyAutoLoader::dynaLoad',
+	array('MyAutoLoader', 'autoLoad'),
+	array('MyAutoLoader', 'dynaLoad'),
+	array($obj, 'autoLoad'),
+	array($obj, 'dynaLoad'),
+);
+
+foreach($funcs as $idx => $func)
+{
+	echo "====$idx====\n";
+
+	try
+	{
+		var_dump($func);
+		spl_autoload_register($func);
+		if (count(spl_autoload_functions()))
+		{
+			echo "registered\n";
+			
+			var_dump(class_exists("NoExistingTestClass", true));
+		}		
+	}
+	catch (Exception $e)
+	{
+		echo get_class($e) . ": " . $e->getMessage() . "\n";
+	}
+
+	spl_autoload_unregister($func);
+	var_dump(count(spl_autoload_functions()));
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+====0====
+string(10) "MyAutoLoad"
+registered
+MyAutoLoad(NoExistingTestClass)
+Exception: Bla
+int(0)
+====1====
+string(22) "MyAutoLoader::autoLoad"
+registered
+MyAutoLoader::autoLoad(NoExistingTestClass)
+Exception: Bla
+int(0)
+====2====
+string(22) "MyAutoLoader::dynaLoad"
+LogicException: Function 'MyAutoLoader::dynaLoad' not callable
+int(0)
+====3====
+array(2) {
+  [0]=>
+  string(12) "MyAutoLoader"
+  [1]=>
+  string(8) "autoLoad"
+}
+registered
+MyAutoLoader::autoLoad(NoExistingTestClass)
+Exception: Bla
+int(0)
+====4====
+array(2) {
+  [0]=>
+  string(12) "MyAutoLoader"
+  [1]=>
+  string(8) "dynaLoad"
+}
+LogicException: Passed array specifies a non static method but no object
+int(0)
+====5====
+array(2) {
+  [0]=>
+  object(MyAutoLoader)#%d (0) {
+  }
+  [1]=>
+  string(8) "autoLoad"
+}
+registered
+MyAutoLoader::autoLoad(NoExistingTestClass)
+Exception: Bla
+int(0)
+====6====
+array(2) {
+  [0]=>
+  object(MyAutoLoader)#%d (0) {
+  }
+  [1]=>
+  string(8) "dynaLoad"
+}
+registered
+MyAutoLoader::dynaLoad(NoExistingTestClass)
+Exception: Bla
+int(0)
+===DONE===
diff --git a/ext/spl/tests/spl_autoload_009.phpt b/ext/spl/tests/spl_autoload_009.phpt
index 057e966..c282bf4 100755
--- a/ext/spl/tests/spl_autoload_009.phpt
+++ b/ext/spl/tests/spl_autoload_009.phpt
@@ -1,28 +1,28 @@
---TEST--
-SPL: spl_autoload() and friends
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---INI--
-include_path=.
---FILE--
-<?php
-
-function my_autoload($name)
-{
-	require $name . '.class.inc';
-	var_dump(class_exists($name));
-}
-
-spl_autoload_register("spl_autoload");
-spl_autoload_register("my_autoload");
-
-$obj = new testclass;
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-%stestclass.inc
-%stestclass.class.inc
-bool(true)
-===DONE===
+--TEST--
+SPL: spl_autoload() and friends
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--INI--
+include_path=.
+--FILE--
+<?php
+
+function my_autoload($name)
+{
+	require $name . '.class.inc';
+	var_dump(class_exists($name));
+}
+
+spl_autoload_register("spl_autoload");
+spl_autoload_register("my_autoload");
+
+$obj = new testclass;
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+%stestclass.inc
+%stestclass.class.inc
+bool(true)
+===DONE===
diff --git a/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt b/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt
index 9e3debf..399d9a3 100755
--- a/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt
+++ b/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt
@@ -1,22 +1,22 @@
---TEST--
-SPL: Spl File Info test getLinkTarget
---CREDITS--
-Nataniel McHugh nat at fishtrap.co.uk
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
-?>
---FILE--
-<?php
-$link = 'test_link';
-symlink(__FILE__, $link );
-$fileInfo = new SplFileInfo($link);
-
-if ($fileInfo->isLink()) {
-	echo $fileInfo->getLinkTarget() == __FILE__ ? 'same' : 'different',PHP_EOL;
-}
-var_dump(unlink($link));
-?>
---EXPECT--
-same
-bool(true)
+--TEST--
+SPL: Spl File Info test getLinkTarget
+--CREDITS--
+Nataniel McHugh nat at fishtrap.co.uk
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms");
+?>
+--FILE--
+<?php
+$link = 'test_link';
+symlink(__FILE__, $link );
+$fileInfo = new SplFileInfo($link);
+
+if ($fileInfo->isLink()) {
+	echo $fileInfo->getLinkTarget() == __FILE__ ? 'same' : 'different',PHP_EOL;
+}
+var_dump(unlink($link));
+?>
+--EXPECT--
+same
+bool(true)
diff --git a/ext/spl/tests/spl_recursive_iterator_iterator_key_case.phpt b/ext/spl/tests/spl_recursive_iterator_iterator_key_case.phpt
index 2498308..1262ec0 100644
--- a/ext/spl/tests/spl_recursive_iterator_iterator_key_case.phpt
+++ b/ext/spl/tests/spl_recursive_iterator_iterator_key_case.phpt
@@ -1,33 +1,33 @@
---TEST--
-SPL: Test on RecursiveIteratorIterator key function checking switch statements 
---CREDITS--
-Rohan Abraham (rohanabrahams at gmail.com)
-TestFest London May 2009
---FILE--
-<?php
-  $ar = array("one"=>1, "two"=>2, "three"=>array("four"=>4, "five"=>5, "six"=>array("seven"=>7)), "eight"=>8, -100 => 10, NULL => "null");
-  $it = new RecursiveArrayIterator($ar);
-  $it = new RecursiveIteratorIterator($it);
-  foreach($it as $k=>$v)
-  {
-    echo "$k=>$v\n";
-    var_dump($k);
-  }
-?>
---EXPECTF--
-one=>1
-%unicode|string%(3) "one"
-two=>2
-%unicode|string%(3) "two"
-four=>4
-%unicode|string%(4) "four"
-five=>5
-%unicode|string%(4) "five"
-seven=>7
-%unicode|string%(5) "seven"
-eight=>8
-%unicode|string%(5) "eight"
--100=>10
-int(-100)
-=>null
-%unicode|string%(0) ""
+--TEST--
+SPL: Test on RecursiveIteratorIterator key function checking switch statements 
+--CREDITS--
+Rohan Abraham (rohanabrahams at gmail.com)
+TestFest London May 2009
+--FILE--
+<?php
+  $ar = array("one"=>1, "two"=>2, "three"=>array("four"=>4, "five"=>5, "six"=>array("seven"=>7)), "eight"=>8, -100 => 10, NULL => "null");
+  $it = new RecursiveArrayIterator($ar);
+  $it = new RecursiveIteratorIterator($it);
+  foreach($it as $k=>$v)
+  {
+    echo "$k=>$v\n";
+    var_dump($k);
+  }
+?>
+--EXPECTF--
+one=>1
+%unicode|string%(3) "one"
+two=>2
+%unicode|string%(3) "two"
+four=>4
+%unicode|string%(4) "four"
+five=>5
+%unicode|string%(4) "five"
+seven=>7
+%unicode|string%(5) "seven"
+eight=>8
+%unicode|string%(5) "eight"
+-100=>10
+int(-100)
+=>null
+%unicode|string%(0) ""
diff --git a/ext/spl/tests/testclass b/ext/spl/tests/testclass
index f3cd9f3..ceb24c8 100755
--- a/ext/spl/tests/testclass
+++ b/ext/spl/tests/testclass
@@ -1,5 +1,5 @@
-<?php
-
-echo __FILE__ . "\n";
-
+<?php
+
+echo __FILE__ . "\n";
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/tests/testclass.class.inc b/ext/spl/tests/testclass.class.inc
index c55541b..f5fe741 100755
--- a/ext/spl/tests/testclass.class.inc
+++ b/ext/spl/tests/testclass.class.inc
@@ -1,9 +1,9 @@
-<?php
-
-echo __FILE__ . "\n";
-
-class TestClass
-{
-}
-
+<?php
+
+echo __FILE__ . "\n";
+
+class TestClass
+{
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/tests/testclass.inc b/ext/spl/tests/testclass.inc
index f3cd9f3..ceb24c8 100755
--- a/ext/spl/tests/testclass.inc
+++ b/ext/spl/tests/testclass.inc
@@ -1,5 +1,5 @@
-<?php
-
-echo __FILE__ . "\n";
-
+<?php
+
+echo __FILE__ . "\n";
+
 ?>
\ No newline at end of file
diff --git a/ext/spl/tests/testclass.php.inc b/ext/spl/tests/testclass.php.inc
index f3cd9f3..ceb24c8 100755
--- a/ext/spl/tests/testclass.php.inc
+++ b/ext/spl/tests/testclass.php.inc
@@ -1,5 +1,5 @@
-<?php
-
-echo __FILE__ . "\n";
-
+<?php
+
+echo __FILE__ . "\n";
+
 ?>
\ No newline at end of file
diff --git a/ext/sqlite/config.m4 b/ext/sqlite/config.m4
index bd1b1c2..5bacbea 100644
--- a/ext/sqlite/config.m4
+++ b/ext/sqlite/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.41.2.1.2.4 2008/09/13 00:24:12 moriyoshi Exp $
+dnl $Id: config.m4 266234 2008-09-13 00:24:12Z moriyoshi $
 dnl config.m4 for extension sqlite
 dnl vim:et:ts=2:sw=2
 
diff --git a/ext/sqlite/config.w32 b/ext/sqlite/config.w32
index b0778fc..34d209d 100644
--- a/ext/sqlite/config.w32
+++ b/ext/sqlite/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.8.2.1 2005/09/24 15:13:13 edink Exp $
+// $Id: config.w32 196803 2005-09-24 15:13:13Z edink $
 // vim:ft=javascript
 
 ARG_WITH("sqlite", "SQLite support", "no");
diff --git a/ext/sqlite/libsqlite/src/attach.c b/ext/sqlite/libsqlite/src/attach.c
index d50c218..f5b7e6b 100644
--- a/ext/sqlite/libsqlite/src/attach.c
+++ b/ext/sqlite/libsqlite/src/attach.c
@@ -11,7 +11,7 @@
 *************************************************************************
 ** This file contains code used to implement the ATTACH and DETACH commands.
 **
-** $Id: attach.c,v 1.4.4.1 2005/09/07 15:11:31 iliaa Exp $
+** $Id: attach.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 
diff --git a/ext/sqlite/libsqlite/src/auth.c b/ext/sqlite/libsqlite/src/auth.c
index 9143971..9649423 100644
--- a/ext/sqlite/libsqlite/src/auth.c
+++ b/ext/sqlite/libsqlite/src/auth.c
@@ -14,7 +14,7 @@
 ** systems that do not need this facility may omit it by recompiling
 ** the library with -DSQLITE_OMIT_AUTHORIZATION=1
 **
-** $Id: auth.c,v 1.6.2.1 2005/09/07 15:11:31 iliaa Exp $
+** $Id: auth.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 
diff --git a/ext/sqlite/libsqlite/src/btree.c b/ext/sqlite/libsqlite/src/btree.c
index f56d869..afe58d0 100644
--- a/ext/sqlite/libsqlite/src/btree.c
+++ b/ext/sqlite/libsqlite/src/btree.c
@@ -9,7 +9,7 @@
 **    May you share freely, never taking more than you give.
 **
 *************************************************************************
-** $Id: btree.c,v 1.5.4.1 2005/09/07 15:11:31 iliaa Exp $
+** $Id: btree.c 195361 2005-09-07 15:11:33Z iliaa $
 **
 ** This file implements a external (disk-based) database using BTrees.
 ** For a detailed discussion of BTrees, refer to
diff --git a/ext/sqlite/libsqlite/src/btree.h b/ext/sqlite/libsqlite/src/btree.h
index ce124cf..865a004 100644
--- a/ext/sqlite/libsqlite/src/btree.h
+++ b/ext/sqlite/libsqlite/src/btree.h
@@ -13,7 +13,7 @@
 ** subsystem.  See comments in the source code for a detailed description
 ** of what each interface routine does.
 **
-** @(#) $Id: btree.h,v 1.5.4.1 2005/09/07 15:11:31 iliaa Exp $
+** @(#) $Id: btree.h 195361 2005-09-07 15:11:33Z iliaa $
 */
 #ifndef _BTREE_H_
 #define _BTREE_H_
diff --git a/ext/sqlite/libsqlite/src/btree_rb.c b/ext/sqlite/libsqlite/src/btree_rb.c
index b9da435..4d08e00 100644
--- a/ext/sqlite/libsqlite/src/btree_rb.c
+++ b/ext/sqlite/libsqlite/src/btree_rb.c
@@ -9,7 +9,7 @@
 **    May you share freely, never taking more than you give.
 **
 *************************************************************************
-** $Id: btree_rb.c,v 1.5.4.1 2005/09/07 15:11:31 iliaa Exp $
+** $Id: btree_rb.c 195361 2005-09-07 15:11:33Z iliaa $
 **
 ** This file implements an in-core database using Red-Black balanced
 ** binary trees.
diff --git a/ext/sqlite/libsqlite/src/build.c b/ext/sqlite/libsqlite/src/build.c
index a18112a..015e540 100644
--- a/ext/sqlite/libsqlite/src/build.c
+++ b/ext/sqlite/libsqlite/src/build.c
@@ -23,7 +23,7 @@
 **     ROLLBACK
 **     PRAGMA
 **
-** $Id: build.c,v 1.6.4.1 2005/09/07 15:11:31 iliaa Exp $
+** $Id: build.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
diff --git a/ext/sqlite/libsqlite/src/copy.c b/ext/sqlite/libsqlite/src/copy.c
index 1dc5a0d..95bc804 100644
--- a/ext/sqlite/libsqlite/src/copy.c
+++ b/ext/sqlite/libsqlite/src/copy.c
@@ -11,7 +11,7 @@
 *************************************************************************
 ** This file contains code used to implement the COPY command.
 **
-** $Id: copy.c,v 1.4.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: copy.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 
diff --git a/ext/sqlite/libsqlite/src/date.c b/ext/sqlite/libsqlite/src/date.c
index 1fc8f96..b8f8542 100644
--- a/ext/sqlite/libsqlite/src/date.c
+++ b/ext/sqlite/libsqlite/src/date.c
@@ -16,7 +16,7 @@
 ** sqliteRegisterDateTimeFunctions() found at the bottom of the file.
 ** All other code has file scope.
 **
-** $Id: date.c,v 1.3.4.1.2.5 2009/04/07 11:45:50 kalle Exp $
+** $Id: date.c 278364 2009-04-07 11:45:50Z kalle $
 **
 ** NOTES:
 **
diff --git a/ext/sqlite/libsqlite/src/delete.c b/ext/sqlite/libsqlite/src/delete.c
index b5db904..cd0b2ca 100644
--- a/ext/sqlite/libsqlite/src/delete.c
+++ b/ext/sqlite/libsqlite/src/delete.c
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle DELETE FROM statements.
 **
-** $Id: delete.c,v 1.5.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: delete.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 
diff --git a/ext/sqlite/libsqlite/src/encode.c b/ext/sqlite/libsqlite/src/encode.c
index 956d7d1..1606074 100644
--- a/ext/sqlite/libsqlite/src/encode.c
+++ b/ext/sqlite/libsqlite/src/encode.c
@@ -15,7 +15,7 @@
 ** data in an SQLite database.  The code in this file is not used by any other
 ** part of the SQLite library.
 **
-** $Id: encode.c,v 1.5.4.1.2.1 2006/12/24 20:50:02 iliaa Exp $
+** $Id: encode.c 225725 2006-12-24 20:50:02Z iliaa $
 */
 #include <string.h>
 #include <assert.h>
diff --git a/ext/sqlite/libsqlite/src/expr.c b/ext/sqlite/libsqlite/src/expr.c
index 11d298d..1a0da7a 100644
--- a/ext/sqlite/libsqlite/src/expr.c
+++ b/ext/sqlite/libsqlite/src/expr.c
@@ -12,7 +12,7 @@
 ** This file contains routines used for analyzing expressions and
 ** for generating VDBE code that evaluates expressions in SQLite.
 **
-** $Id: expr.c,v 1.5.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: expr.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
diff --git a/ext/sqlite/libsqlite/src/func.c b/ext/sqlite/libsqlite/src/func.c
index 0d553f4..b8be436 100644
--- a/ext/sqlite/libsqlite/src/func.c
+++ b/ext/sqlite/libsqlite/src/func.c
@@ -16,7 +16,7 @@
 ** sqliteRegisterBuildinFunctions() found at the bottom of the file.
 ** All other code has file scope.
 **
-** $Id: func.c,v 1.5.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: func.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include <ctype.h>
 #include <math.h>
diff --git a/ext/sqlite/libsqlite/src/hash.c b/ext/sqlite/libsqlite/src/hash.c
index 5ecb9e5..582570f 100644
--- a/ext/sqlite/libsqlite/src/hash.c
+++ b/ext/sqlite/libsqlite/src/hash.c
@@ -12,7 +12,7 @@
 ** This is the implementation of generic hash-tables
 ** used in SQLite.
 **
-** $Id: hash.c,v 1.6.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: hash.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 #include <assert.h>
diff --git a/ext/sqlite/libsqlite/src/hash.h b/ext/sqlite/libsqlite/src/hash.h
index ea86c1b..1948841 100644
--- a/ext/sqlite/libsqlite/src/hash.h
+++ b/ext/sqlite/libsqlite/src/hash.h
@@ -12,7 +12,7 @@
 ** This is the header file for the generic hash-table implemenation
 ** used in SQLite.
 **
-** $Id: hash.h,v 1.6.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: hash.h 195361 2005-09-07 15:11:33Z iliaa $
 */
 #ifndef _SQLITE_HASH_H_
 #define _SQLITE_HASH_H_
diff --git a/ext/sqlite/libsqlite/src/insert.c b/ext/sqlite/libsqlite/src/insert.c
index 6ec3619..59f8c9b 100644
--- a/ext/sqlite/libsqlite/src/insert.c
+++ b/ext/sqlite/libsqlite/src/insert.c
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle INSERT statements in SQLite.
 **
-** $Id: insert.c,v 1.5.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: insert.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 
diff --git a/ext/sqlite/libsqlite/src/main.c b/ext/sqlite/libsqlite/src/main.c
index e7c6ab6..2af43d8 100644
--- a/ext/sqlite/libsqlite/src/main.c
+++ b/ext/sqlite/libsqlite/src/main.c
@@ -14,7 +14,7 @@
 ** other files are for internal use by SQLite and should not be
 ** accessed by users of the library.
 **
-** $Id: main.c,v 1.7.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: main.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 #include "os.h"
diff --git a/ext/sqlite/libsqlite/src/pager.c b/ext/sqlite/libsqlite/src/pager.c
index 64c3e4d..7f26cac 100644
--- a/ext/sqlite/libsqlite/src/pager.c
+++ b/ext/sqlite/libsqlite/src/pager.c
@@ -18,7 +18,7 @@
 ** file simultaneously, or one process from reading the database while
 ** another is writing.
 **
-** @(#) $Id: pager.c,v 1.6.4.2 2005/12/20 15:26:26 iliaa Exp $
+** @(#) $Id: pager.c 203289 2005-12-20 15:26:26Z iliaa $
 */
 #include "os.h"         /* Must be first to enable large file support */
 #include "sqliteInt.h"
diff --git a/ext/sqlite/libsqlite/src/pager.h b/ext/sqlite/libsqlite/src/pager.h
index 3e68b7f..8d3600f 100644
--- a/ext/sqlite/libsqlite/src/pager.h
+++ b/ext/sqlite/libsqlite/src/pager.h
@@ -13,7 +13,7 @@
 ** subsystem.  The page cache subsystem reads and writes a file a page
 ** at a time and provides a journal for rollback.
 **
-** @(#) $Id: pager.h,v 1.5.4.1 2005/09/07 15:11:32 iliaa Exp $
+** @(#) $Id: pager.h 195361 2005-09-07 15:11:33Z iliaa $
 */
 
 /*
diff --git a/ext/sqlite/libsqlite/src/parse.y b/ext/sqlite/libsqlite/src/parse.y
index da2ac2d..0b4c2ef 100644
--- a/ext/sqlite/libsqlite/src/parse.y
+++ b/ext/sqlite/libsqlite/src/parse.y
@@ -14,7 +14,7 @@
 ** the parser.  Lemon will also generate a header file containing
 ** numeric codes for all of the tokens.
 **
-** @(#) $Id: parse.y,v 1.5.4.1 2005/09/07 15:11:32 iliaa Exp $
+** @(#) $Id: parse.y 195361 2005-09-07 15:11:33Z iliaa $
 */
 %token_prefix TK_
 %token_type {Token}
diff --git a/ext/sqlite/libsqlite/src/pragma.c b/ext/sqlite/libsqlite/src/pragma.c
index 9d95824..bd0bd3b 100644
--- a/ext/sqlite/libsqlite/src/pragma.c
+++ b/ext/sqlite/libsqlite/src/pragma.c
@@ -11,7 +11,7 @@
 *************************************************************************
 ** This file contains code used to implement the PRAGMA command.
 **
-** $Id: pragma.c,v 1.4.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: pragma.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
diff --git a/ext/sqlite/libsqlite/src/random.c b/ext/sqlite/libsqlite/src/random.c
index 602c888..4e8139e 100644
--- a/ext/sqlite/libsqlite/src/random.c
+++ b/ext/sqlite/libsqlite/src/random.c
@@ -15,7 +15,7 @@
 ** Random numbers are used by some of the database backends in order
 ** to generate random integer keys for tables or random filenames.
 **
-** $Id: random.c,v 1.5.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: random.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 #include "os.h"
diff --git a/ext/sqlite/libsqlite/src/select.c b/ext/sqlite/libsqlite/src/select.c
index 1c48da9..8d83c56 100644
--- a/ext/sqlite/libsqlite/src/select.c
+++ b/ext/sqlite/libsqlite/src/select.c
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle SELECT statements in SQLite.
 **
-** $Id: select.c,v 1.6.4.1 2005/09/07 15:11:32 iliaa Exp $
+** $Id: select.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 
diff --git a/ext/sqlite/libsqlite/src/sqlite.h.in b/ext/sqlite/libsqlite/src/sqlite.h.in
index e92e418..855ca06 100644
--- a/ext/sqlite/libsqlite/src/sqlite.h.in
+++ b/ext/sqlite/libsqlite/src/sqlite.h.in
@@ -12,7 +12,7 @@
 ** This header file defines the interface that the SQLite library
 ** presents to client programs.
 **
-** @(#) $Id: sqlite.h.in,v 1.6.4.1 2005/09/07 15:11:33 iliaa Exp $
+** @(#) $Id: sqlite.h.in 195361 2005-09-07 15:11:33Z iliaa $
 */
 #ifndef _SQLITE_H_
 #define _SQLITE_H_
diff --git a/ext/sqlite/libsqlite/src/sqlite.w32.h b/ext/sqlite/libsqlite/src/sqlite.w32.h
index b85216f..abdd30c 100644
--- a/ext/sqlite/libsqlite/src/sqlite.w32.h
+++ b/ext/sqlite/libsqlite/src/sqlite.w32.h
@@ -12,7 +12,7 @@
 ** This header file defines the interface that the SQLite library
 ** presents to client programs.
 **
-** @(#) $Id: sqlite.w32.h,v 1.6.2.2 2005/12/20 15:26:26 iliaa Exp $
+** @(#) $Id: sqlite.w32.h 203289 2005-12-20 15:26:26Z iliaa $
 */
 #ifndef _SQLITE_H_
 #define _SQLITE_H_
diff --git a/ext/sqlite/libsqlite/src/sqliteInt.h b/ext/sqlite/libsqlite/src/sqliteInt.h
index 7ab879c..4c819de 100644
--- a/ext/sqlite/libsqlite/src/sqliteInt.h
+++ b/ext/sqlite/libsqlite/src/sqliteInt.h
@@ -11,7 +11,7 @@
 *************************************************************************
 ** Internal interface definitions for SQLite.
 **
-** @(#) $Id: sqliteInt.h,v 1.6.4.2 2005/12/20 15:26:26 iliaa Exp $
+** @(#) $Id: sqliteInt.h 203289 2005-12-20 15:26:26Z iliaa $
 */
 #include "config.h"
 #include "sqlite.h"
diff --git a/ext/sqlite/libsqlite/src/tokenize.c b/ext/sqlite/libsqlite/src/tokenize.c
index 67b55e2..f9b6afe 100644
--- a/ext/sqlite/libsqlite/src/tokenize.c
+++ b/ext/sqlite/libsqlite/src/tokenize.c
@@ -15,7 +15,7 @@
 ** individual tokens and sends those tokens one-by-one over to the
 ** parser for analysis.
 **
-** $Id: tokenize.c,v 1.6.4.1 2005/09/07 15:11:33 iliaa Exp $
+** $Id: tokenize.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 #include "os.h"
diff --git a/ext/sqlite/libsqlite/src/update.c b/ext/sqlite/libsqlite/src/update.c
index 5afe069..95a83b1 100644
--- a/ext/sqlite/libsqlite/src/update.c
+++ b/ext/sqlite/libsqlite/src/update.c
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle UPDATE statements.
 **
-** $Id: update.c,v 1.5.4.1 2005/09/07 15:11:33 iliaa Exp $
+** $Id: update.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 
diff --git a/ext/sqlite/libsqlite/src/util.c b/ext/sqlite/libsqlite/src/util.c
index dc63d4d..563889c 100644
--- a/ext/sqlite/libsqlite/src/util.c
+++ b/ext/sqlite/libsqlite/src/util.c
@@ -14,7 +14,7 @@
 ** This file contains functions for allocating memory, comparing
 ** strings, and stuff like that.
 **
-** $Id: util.c,v 1.6.4.2 2005/12/20 15:26:26 iliaa Exp $
+** $Id: util.c 203289 2005-12-20 15:26:26Z iliaa $
 */
 #include "sqliteInt.h"
 #include <stdarg.h>
diff --git a/ext/sqlite/libsqlite/src/vacuum.c b/ext/sqlite/libsqlite/src/vacuum.c
index efa8cb1..d89d9b7 100644
--- a/ext/sqlite/libsqlite/src/vacuum.c
+++ b/ext/sqlite/libsqlite/src/vacuum.c
@@ -14,7 +14,7 @@
 ** Most of the code in this file may be omitted by defining the
 ** SQLITE_OMIT_VACUUM macro.
 **
-** $Id: vacuum.c,v 1.4.4.1 2005/09/07 15:11:33 iliaa Exp $
+** $Id: vacuum.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 #include "os.h"
diff --git a/ext/sqlite/libsqlite/src/vdbe.c b/ext/sqlite/libsqlite/src/vdbe.c
index b540bdd..6b04b95 100644
--- a/ext/sqlite/libsqlite/src/vdbe.c
+++ b/ext/sqlite/libsqlite/src/vdbe.c
@@ -43,7 +43,7 @@
 ** in this file for details.  If in doubt, do not deviate from existing
 ** commenting and indentation practices when changing or adding code.
 **
-** $Id: vdbe.c,v 1.7.4.1.2.1 2006/09/09 10:59:05 tony2001 Exp $
+** $Id: vdbe.c 219681 2006-09-09 10:59:05Z tony2001 $
 */
 #include "sqliteInt.h"
 #include "os.h"
diff --git a/ext/sqlite/libsqlite/src/vdbe.h b/ext/sqlite/libsqlite/src/vdbe.h
index 71d9078..553a335 100644
--- a/ext/sqlite/libsqlite/src/vdbe.h
+++ b/ext/sqlite/libsqlite/src/vdbe.h
@@ -15,7 +15,7 @@
 ** or VDBE.  The VDBE implements an abstract machine that runs a
 ** simple program to access and modify the underlying database.
 **
-** $Id: vdbe.h,v 1.5.4.1 2005/09/07 15:11:33 iliaa Exp $
+** $Id: vdbe.h 195361 2005-09-07 15:11:33Z iliaa $
 */
 #ifndef _SQLITE_VDBE_H_
 #define _SQLITE_VDBE_H_
diff --git a/ext/sqlite/libsqlite/src/where.c b/ext/sqlite/libsqlite/src/where.c
index 89d689a..d9a626f 100644
--- a/ext/sqlite/libsqlite/src/where.c
+++ b/ext/sqlite/libsqlite/src/where.c
@@ -12,7 +12,7 @@
 ** This module contains C code that generates VDBE code used to process
 ** the WHERE clause of SQL statements.
 **
-** $Id: where.c,v 1.6.4.1 2005/09/07 15:11:33 iliaa Exp $
+** $Id: where.c 195361 2005-09-07 15:11:33Z iliaa $
 */
 #include "sqliteInt.h"
 
diff --git a/ext/sqlite/pdo_sqlite2.c b/ext/sqlite/pdo_sqlite2.c
index 5885486..34c621a 100644
--- a/ext/sqlite/pdo_sqlite2.c
+++ b/ext/sqlite/pdo_sqlite2.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_sqlite2.c,v 1.6.2.3.2.4 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: pdo_sqlite2.c 272374 2008-12-31 11:17:49Z sebastian $ */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
diff --git a/ext/sqlite/php_sqlite.h b/ext/sqlite/php_sqlite.h
index 2903278..5db8ddb 100644
--- a/ext/sqlite/php_sqlite.h
+++ b/ext/sqlite/php_sqlite.h
@@ -17,7 +17,7 @@
    |          Marcus Boerger <helly at php.net>                              |
    +----------------------------------------------------------------------+
 
-   $Id: php_sqlite.h,v 1.32.2.2.2.4 2008/12/31 11:17:44 sebastian Exp $ 
+   $Id: php_sqlite.h 272374 2008-12-31 11:17:49Z sebastian $ 
 */
 
 #ifndef PHP_SQLITE_H
diff --git a/ext/sqlite/sess_sqlite.c b/ext/sqlite/sess_sqlite.c
index 1a46082..6512f01 100644
--- a/ext/sqlite/sess_sqlite.c
+++ b/ext/sqlite/sess_sqlite.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: sess_sqlite.c,v 1.18.2.1.2.4 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: sess_sqlite.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c
index 17576f0..453fb94 100644
--- a/ext/sqlite/sqlite.c
+++ b/ext/sqlite/sqlite.c
@@ -17,7 +17,7 @@
    |          Marcus Boerger <helly at php.net>                              |
    +----------------------------------------------------------------------+
 
-   $Id: sqlite.c,v 1.166.2.13.2.12 2008/12/31 11:17:44 sebastian Exp $
+   $Id: sqlite.c 282740 2009-06-25 00:07:20Z scottmac $
 */
 
 #ifdef HAVE_CONFIG_H
@@ -1128,7 +1128,7 @@ PHP_MINFO_FUNCTION(sqlite)
 {
 	php_info_print_table_start();
 	php_info_print_table_header(2, "SQLite support", "enabled");
-	php_info_print_table_row(2, "PECL Module version", PHP_SQLITE_MODULE_VERSION " $Id: sqlite.c,v 1.166.2.13.2.12 2008/12/31 11:17:44 sebastian Exp $");
+	php_info_print_table_row(2, "PECL Module version", PHP_SQLITE_MODULE_VERSION " $Id: sqlite.c 282740 2009-06-25 00:07:20Z scottmac $");
 	php_info_print_table_row(2, "SQLite Library", sqlite_libversion());
 	php_info_print_table_row(2, "SQLite Encoding", sqlite_libencoding());
 	php_info_print_table_end();
@@ -2481,6 +2481,11 @@ static int sqlite_count_elements(zval *object, long *count TSRMLS_DC) /* {{{ */
 {
 	sqlite_object *obj = (sqlite_object*) zend_object_store_get_object(object TSRMLS_CC);
 
+	if (obj->u.res == NULL) {
+		zend_throw_exception(sqlite_ce_exception, "Row count is not available for this query", 0 TSRMLS_CC);
+		return FAILURE;
+	}
+
 	if (obj->u.res->buffered) {
 		* count = obj->u.res->nrows;
 		return SUCCESS;
diff --git a/ext/sqlite/tests/bug28112.phpt b/ext/sqlite/tests/bug28112.phpt
index 398180e..f3e9b8b 100755
--- a/ext/sqlite/tests/bug28112.phpt
+++ b/ext/sqlite/tests/bug28112.phpt
@@ -1,16 +1,16 @@
---TEST--
-Bug #28112 (sqlite_query() crashing apache on malformed query)
---SKIPIF--
-<?php if (!extension_loaded("sqlite")) print "skip"; ?>
---FILE--
-<?php
-
-if (!($db = sqlite_open(":memory:", 666, $error))) die ("Couldn't open the database");
-sqlite_query($db, "create table frob (foo INTEGER PRIMARY KEY, bar text);");
-$res = @sqlite_array_query($db, "");
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-===DONE===
+--TEST--
+Bug #28112 (sqlite_query() crashing apache on malformed query)
+--SKIPIF--
+<?php if (!extension_loaded("sqlite")) print "skip"; ?>
+--FILE--
+<?php
+
+if (!($db = sqlite_open(":memory:", 666, $error))) die ("Couldn't open the database");
+sqlite_query($db, "create table frob (foo INTEGER PRIMARY KEY, bar text);");
+$res = @sqlite_array_query($db, "");
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+===DONE===
diff --git a/ext/sqlite/tests/bug48679.phpt b/ext/sqlite/tests/bug48679.phpt
new file mode 100644
index 0000000..4b0c3f4
--- /dev/null
+++ b/ext/sqlite/tests/bug48679.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Bug #48679 (sqlite2 count on unbuffered query causes segfault)
+--SKIPIF--
+<?php 
+if (!extension_loaded("sqlite")) print "skip"; 
+?>
+--FILE--
+<?php
+
+try {
+	$x = new sqliteunbuffered;
+	count($x);
+} catch (SQLiteException $e) {
+	var_dump($e->getMessage());
+}
+echo "Done\n";
+?>
+--EXPECT--	
+string(41) "Row count is not available for this query"
+Done
diff --git a/ext/standard/array.c b/ext/standard/array.c
index b94d8c0..1a8b9d6 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: array.c,v 1.308.2.21.2.67 2009/05/15 17:03:43 moriyoshi Exp $ */
+/* $Id: array.c 287274 2009-08-14 06:18:47Z dmitry $ */
 
 #include "php.h"
 #include "php_ini.h"
@@ -657,6 +657,7 @@ static int array_user_compare(const void *a, const void *b TSRMLS_DC) /* {{{ */
 PHP_FUNCTION(usort)
 {
 	zval **array;
+	int refcount;
 	HashTable *target_hash;
 	PHP_ARRAY_CMP_FUNC_VARS;
 
@@ -678,12 +679,31 @@ PHP_FUNCTION(usort)
 	PHP_ARRAY_CMP_FUNC_CHECK(BG(user_compare_func_name))
 	BG(user_compare_fci_cache).initialized = 0;
 	
+	/* Clear the is_ref flag, so the attemts to modify the array in user
+	 * comaprison function will create a copy of array and won't affect the
+	 * original array. The fact of modification is detected using refcount
+	 * comparison. The result of sorting in such case is undefined and the
+	 * function returns FALSE.
+	 */
+	(*array)->is_ref = 0;
+	refcount = (*array)->refcount;
+
 	if (zend_hash_sort(target_hash, zend_qsort, array_user_compare, 1 TSRMLS_CC) == FAILURE) {
-		PHP_ARRAY_CMP_FUNC_RESTORE();
-		RETURN_FALSE;
+		RETVAL_FALSE;
+	} else {
+		if (refcount > (*array)->refcount) {
+			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Array was modified by the user comparison function");
+			RETVAL_FALSE;
+		} else {
+			RETVAL_TRUE;
+		}
+	}
+
+	if ((*array)->refcount > 1) {
+		(*array)->is_ref = 1;
 	}
+	
 	PHP_ARRAY_CMP_FUNC_RESTORE();
-	RETURN_TRUE;
 }
 /* }}} */
 
@@ -692,6 +712,7 @@ PHP_FUNCTION(usort)
 PHP_FUNCTION(uasort)
 {
 	zval **array;
+	int refcount;
 	HashTable *target_hash;
 	PHP_ARRAY_CMP_FUNC_VARS;
 
@@ -711,13 +732,31 @@ PHP_FUNCTION(uasort)
 	PHP_ARRAY_CMP_FUNC_CHECK(BG(user_compare_func_name))
 	BG(user_compare_fci_cache).initialized = 0;
 
+	/* Clear the is_ref flag, so the attemts to modify the array in user
+	 * comaprison function will create a copy of array and won't affect the
+	 * original array. The fact of modification is detected using refcount
+	 * comparison. The result of sorting in such case is undefined and the
+	 * function returns FALSE.
+	 */
+	(*array)->is_ref = 0;
+	refcount = (*array)->refcount;
+
 	if (zend_hash_sort(target_hash, zend_qsort, array_user_compare, 0 TSRMLS_CC) == FAILURE) {
-		PHP_ARRAY_CMP_FUNC_RESTORE();
-		RETURN_FALSE;
+		RETVAL_FALSE;
+	} else {
+		if (refcount > (*array)->refcount) {
+			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Array was modified by the user comparison function");
+			RETVAL_FALSE;
+		} else {
+			RETVAL_TRUE;
+		}
 	}
-	PHP_ARRAY_CMP_FUNC_RESTORE();
 
-	RETURN_TRUE;
+	if ((*array)->refcount > 1) {
+		(*array)->is_ref = 1;
+	}
+
+	PHP_ARRAY_CMP_FUNC_RESTORE();
 }
 /* }}} */
 
diff --git a/ext/standard/assert.c b/ext/standard/assert.c
index b9b8e95..d55a6d7 100644
--- a/ext/standard/assert.c
+++ b/ext/standard/assert.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: assert.c,v 1.60.2.3.2.8 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: assert.c 284154 2009-07-15 23:57:10Z stas $ */
 
 /* {{{ includes/startup/misc */
 
@@ -56,6 +56,7 @@ static PHP_INI_MH(OnChangeCallback)
 	if (EG(in_execution)) {
 		if (ASSERTG(callback)) {
 			zval_ptr_dtor(&ASSERTG(callback));
+			ASSERTG(callback) = NULL;
 		}
 		if (new_value && (ASSERTG(callback) || new_value_length)) {
 			MAKE_STD_ZVAL(ASSERTG(callback));
diff --git a/ext/standard/base64.c b/ext/standard/base64.c
index 1f24c17..8ea1e10 100644
--- a/ext/standard/base64.c
+++ b/ext/standard/base64.c
@@ -15,7 +15,7 @@
    | Author: Jim Winstead <jimw at php.net>                                  |
    +----------------------------------------------------------------------+
  */
-/* $Id: base64.c,v 1.43.2.2.2.7 2009/01/25 18:27:39 iliaa Exp $ */
+/* $Id: base64.c 274571 2009-01-25 18:27:39Z iliaa $ */
 
 #include <string.h>
 
diff --git a/ext/standard/base64.h b/ext/standard/base64.h
index f01e30d..9b09a9b 100644
--- a/ext/standard/base64.h
+++ b/ext/standard/base64.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: base64.h,v 1.14.2.1.2.4 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: base64.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef BASE64_H
 #define BASE64_H
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 0bc43a5..e0daf6d 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: basic_functions.c,v 1.725.2.31.2.84 2009/05/20 12:09:33 jani Exp $ */
+/* $Id: basic_functions.c 286890 2009-08-06 14:07:16Z scottmac $ */
 
 #include "php.h"
 #include "php_streams.h"
@@ -31,7 +31,7 @@
 #include "ext/standard/info.h"
 #include "ext/session/php_session.h"
 #include "zend_operators.h"
-#include "ext/standard/dns.h"
+#include "ext/standard/php_dns.h"
 #include "ext/standard/php_uuencode.h"
 
 #ifdef PHP_WIN32
@@ -668,10 +668,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_array_filter, 0, 0, 1)
 ZEND_END_ARG_INFO()
 
 static
-ZEND_BEGIN_ARG_INFO_EX(arginfo_array_map, 0, 0, 3)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_array_map, 0, 0, 2)
 	ZEND_ARG_INFO(0, callback)
-	ZEND_ARG_INFO(0, arg1) /* ARRAY_INFO(0, arg1, 0) */
-	ZEND_ARG_INFO(0, arg2) /* ARRAY_INFO(0, arg2, 0) */
+	ZEND_ARG_INFO(0, arg) /* ARRAY_INFO(0, arg, 0) */
 	ZEND_ARG_INFO(0, ...)
 ZEND_END_ARG_INFO()
 
@@ -3910,7 +3909,6 @@ static void basic_globals_ctor(php_basic_globals *basic_globals_p TSRMLS_DC)
 	zend_hash_init(&BG(sm_protected_env_vars), 5, NULL, NULL, 1);
 	BG(sm_allowed_env_vars) = NULL;
 
-	memset(&BG(url_adapt_state), 0, sizeof(BG(url_adapt_state)));
 	memset(&BG(url_adapt_state_ex), 0, sizeof(BG(url_adapt_state_ex)));
 	
 #if defined(_REENTRANT) && defined(HAVE_MBRLEN) && defined(HAVE_MBSTATE_T)
diff --git a/ext/standard/basic_functions.h b/ext/standard/basic_functions.h
index e0dddab..a2337fa 100644
--- a/ext/standard/basic_functions.h
+++ b/ext/standard/basic_functions.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: basic_functions.h,v 1.139.2.4.2.8 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: basic_functions.h 286378 2009-07-26 22:59:46Z jani $ */
 
 #ifndef BASIC_FUNCTIONS_H
 #define BASIC_FUNCTIONS_H
@@ -32,7 +32,6 @@
 
 #include "zend_highlight.h"
 
-#include "url_scanner.h"
 #include "url_scanner_ex.h"
 
 extern zend_module_entry basic_functions_module;
@@ -199,8 +198,6 @@ typedef struct _php_basic_globals {
 	/* var.c */
 	zend_class_entry *incomplete_class;
 
-	/* url_scanner.c */
-	url_adapt_state_t url_adapt_state;
 	/* url_scanner_ex.re */
 	url_adapt_state_ex_t url_adapt_state_ex;
 
diff --git a/ext/standard/browscap.c b/ext/standard/browscap.c
index 585271c..1b68e02 100644
--- a/ext/standard/browscap.c
+++ b/ext/standard/browscap.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: browscap.c,v 1.85.2.2.2.6 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: browscap.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_regex.h"
diff --git a/ext/standard/config.m4 b/ext/standard/config.m4
index 5a900a9..6ec3151 100644
--- a/ext/standard/config.m4
+++ b/ext/standard/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.80.2.3.2.3 2007/07/11 11:56:03 jani Exp $ -*- autoconf -*-
+dnl $Id: config.m4 286890 2009-08-06 14:07:16Z scottmac $ -*- autoconf -*-
 
 divert(3)dnl
 
@@ -309,7 +309,7 @@ fi
 
 dnl
 dnl Detect library functions needed by php dns_xxx functions
-dnl ext/standard/dns.h will collect these in a single define: HAVE_DNS_FUNCS
+dnl ext/standard/php_dns.h will collect these in a single define: HAVE_DNS_FUNCS
 dnl
 PHP_CHECK_FUNC(res_nmkquery, resolv, bind, socket)
 PHP_CHECK_FUNC(res_nsend, resolv, bind, socket)
@@ -509,7 +509,7 @@ PHP_NEW_EXTENSION(standard, array.c base64.c basic_functions.c browscap.c crc32.
                             info.c iptc.c lcg.c link.c mail.c math.c md5.c metaphone.c \
                             microtime.c pack.c pageinfo.c quot_print.c rand.c \
                             reg.c soundex.c string.c scanf.c syslog.c type.c uniqid.c url.c \
-                            url_scanner.c var.c versioning.c assert.c strnatcmp.c levenshtein.c \
+                            var.c versioning.c assert.c strnatcmp.c levenshtein.c \
                             incomplete_class.c url_scanner_ex.c ftp_fopen_wrapper.c \
                             http_fopen_wrapper.c php_fopen_wrapper.c credits.c css.c \
                             var_unserializer.c ftok.c sha1.c user_filters.c uuencode.c \
diff --git a/ext/standard/config.w32 b/ext/standard/config.w32
index 3129760..b1f1c43 100644
--- a/ext/standard/config.w32
+++ b/ext/standard/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.4.2.2.2.1 2007/04/18 09:38:54 rrichards Exp $
+// $Id: config.w32 286378 2009-07-26 22:59:46Z jani $
 
 ARG_WITH("config-file-scan-dir", "Dir to check for additional php ini files", "");
 AC_DEFINE("PHP_CONFIG_FILE_SCAN_DIR", PHP_CONFIG_FILE_SCAN_DIR);
@@ -11,7 +11,7 @@ EXTENSION("standard", "array.c base64.c basic_functions.c browscap.c \
 	file.c filestat.c formatted_print.c fsock.c head.c html.c image.c \
 	info.c iptc.c lcg.c link.c mail.c math.c md5.c metaphone.c microtime.c \
 	pack.c pageinfo.c quot_print.c rand.c reg.c soundex.c \
-	string.c scanf.c syslog.c type.c uniqid.c url.c url_scanner.c var.c \
+	string.c scanf.c syslog.c type.c uniqid.c url.c var.c \
 	versioning.c assert.c strnatcmp.c levenshtein.c incomplete_class.c \
 	url_scanner_ex.c ftp_fopen_wrapper.c http_fopen_wrapper.c \
 	php_fopen_wrapper.c credits.c css.c var_unserializer.c ftok.c sha1.c \
diff --git a/ext/standard/crc32.c b/ext/standard/crc32.c
index fd43e46..9e35496 100644
--- a/ext/standard/crc32.c
+++ b/ext/standard/crc32.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: crc32.c,v 1.16.2.4.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: crc32.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "basic_functions.h"
diff --git a/ext/standard/crc32.h b/ext/standard/crc32.h
index 9182d8a..cf07a2d 100644
--- a/ext/standard/crc32.h
+++ b/ext/standard/crc32.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: crc32.h,v 1.6.2.1.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: crc32.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /*
  * This code implements the AUTODIN II polynomial
diff --git a/ext/standard/credits.c b/ext/standard/credits.c
index d96c7cb..4c8bf3e 100644
--- a/ext/standard/credits.c
+++ b/ext/standard/credits.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: credits.c,v 1.36.2.4.2.9 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: credits.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "info.h"
diff --git a/ext/standard/credits.h b/ext/standard/credits.h
index 8b524c9..cad3928 100644
--- a/ext/standard/credits.h
+++ b/ext/standard/credits.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: credits.h,v 1.11.2.1.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: credits.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef CREDITS_H
 #define CREDITS_H
diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c
index a525402..3b04781 100644
--- a/ext/standard/crypt.c
+++ b/ext/standard/crypt.c
@@ -17,7 +17,7 @@
    |          Rasmus Lerdorf <rasmus at php.net>                             |
    +----------------------------------------------------------------------+
  */
-/* $Id: crypt.c,v 1.62.2.1.2.8 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: crypt.c 272374 2008-12-31 11:17:49Z sebastian $ */
 #include <stdlib.h>
 
 #include "php.h"
diff --git a/ext/standard/css.c b/ext/standard/css.c
index ce0b0ff..81900b5 100644
--- a/ext/standard/css.c
+++ b/ext/standard/css.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: css.c,v 1.13.2.1.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: css.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "info.h"
diff --git a/ext/standard/css.h b/ext/standard/css.h
index 47bf1ae..d4d2c15 100644
--- a/ext/standard/css.h
+++ b/ext/standard/css.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: css.h,v 1.6.2.1.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: css.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef CSS_H
 #define CSS_H
diff --git a/ext/standard/cyr_convert.c b/ext/standard/cyr_convert.c
index 588c1fe..8f17ab6 100644
--- a/ext/standard/cyr_convert.c
+++ b/ext/standard/cyr_convert.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: cyr_convert.c,v 1.27.2.3.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: cyr_convert.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdlib.h>
 
diff --git a/ext/standard/cyr_convert.h b/ext/standard/cyr_convert.h
index 9c775fc..e380b4e 100644
--- a/ext/standard/cyr_convert.h
+++ b/ext/standard/cyr_convert.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: cyr_convert.h,v 1.11.2.1.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: cyr_convert.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef CYR_CONVERT_H
 #define CYR_CONVERT_H
diff --git a/ext/standard/datetime.c b/ext/standard/datetime.c
index 7f1a9d3..ac40225 100644
--- a/ext/standard/datetime.c
+++ b/ext/standard/datetime.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: datetime.c,v 1.134.2.2.2.6 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: datetime.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "zend_operators.h"
diff --git a/ext/standard/datetime.h b/ext/standard/datetime.h
index 76f533f..02c7734 100644
--- a/ext/standard/datetime.h
+++ b/ext/standard/datetime.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: datetime.h,v 1.23.2.2.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: datetime.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef DATETIME_H
 #define DATETIME_H
diff --git a/ext/standard/dir.c b/ext/standard/dir.c
index c65cd9f..5f2545c 100644
--- a/ext/standard/dir.c
+++ b/ext/standard/dir.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dir.c,v 1.147.2.3.2.21 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: dir.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* {{{ includes/startup/misc */
 
diff --git a/ext/standard/dl.c b/ext/standard/dl.c
index 8565b67..fb299d0 100644
--- a/ext/standard/dl.c
+++ b/ext/standard/dl.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: dl.c,v 1.106.2.1.2.7 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: dl.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "dl.h"
diff --git a/ext/standard/dl.h b/ext/standard/dl.h
index 906c666..9d2014e 100644
--- a/ext/standard/dl.h
+++ b/ext/standard/dl.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: dl.h,v 1.23.2.1.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: dl.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef DL_H
 #define DL_H
diff --git a/ext/standard/dns.c b/ext/standard/dns.c
index f166858..0e7246f 100644
--- a/ext/standard/dns.c
+++ b/ext/standard/dns.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dns.c,v 1.70.2.7.2.11 2009/05/20 12:09:33 jani Exp $ */
+/* $Id: dns.c 286890 2009-08-06 14:07:16Z scottmac $ */
 
 /* {{{ includes */
 #include "php.h"
@@ -68,7 +68,7 @@
 #define AF_INET 2   /* internetwork: UDP, TCP, etc. */
 #endif
 
-#include "dns.h"
+#include "php_dns.h"
 
 /* type compat */
 #ifndef DNS_T_A
diff --git a/ext/standard/dns.h b/ext/standard/dns.h
deleted file mode 100644
index 3b63e45..0000000
--- a/ext/standard/dns.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* 
-   +----------------------------------------------------------------------+
-   | PHP Version 5                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2009 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 3.01 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available through the world-wide-web at the following url:           |
-   | http://www.php.net/license/3_01.txt                                  |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license at php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Authors: The typical suspects                                        |
-   |          Marcus Boerger <helly at php.net>                              |
-   |          Pollita <pollita at php.net>                                   |
-   +----------------------------------------------------------------------+
-*/
-
-/* $Id: dns.h,v 1.19.2.1.2.6 2009/05/20 12:09:33 jani Exp $ */
-
-#ifndef DNS_H
-#define DNS_H
-
-#if HAVE_RES_NMKQUERY && HAVE_RES_NSEND && HAVE_DN_EXPAND && HAVE_DN_SKIPNAME
-#define HAVE_DNS_FUNCS 1
-#endif
-
-PHP_FUNCTION(gethostbyaddr);
-PHP_FUNCTION(gethostbyname);
-PHP_FUNCTION(gethostbynamel);
-
-#if HAVE_RES_SEARCH && !(defined(__BEOS__) || defined(PHP_WIN32) || defined(NETWARE))
-PHP_FUNCTION(dns_check_record);
-# if HAVE_DN_SKIPNAME && HAVE_DN_EXPAND
-PHP_FUNCTION(dns_get_mx);
-# endif
-
-# if HAVE_DNS_FUNCS
-PHP_FUNCTION(dns_get_record);
-PHP_MINIT_FUNCTION(dns);
-# endif
-#endif
-
-#ifndef INT16SZ
-#define INT16SZ		2
-#endif
-
-#ifndef INT32SZ
-#define INT32SZ		4
-#endif
-
-#endif /* DNS_H */
diff --git a/ext/standard/exec.c b/ext/standard/exec.c
index 51278ec..4cee27a 100644
--- a/ext/standard/exec.c
+++ b/ext/standard/exec.c
@@ -16,7 +16,7 @@
    |         Ilia Alshanetsky <iliaa at php.net>                             |
    +----------------------------------------------------------------------+
  */
-/* $Id: exec.c,v 1.113.2.3.2.13 2009/04/30 15:25:05 pajoye Exp $ */
+/* $Id: exec.c 279616 2009-04-30 15:25:05Z pajoye $ */
 
 #include <stdio.h>
 #include "php.h"
diff --git a/ext/standard/exec.h b/ext/standard/exec.h
index d63db57..b8541dd 100644
--- a/ext/standard/exec.h
+++ b/ext/standard/exec.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: exec.h,v 1.24.2.3.2.3 2008/12/31 11:17:44 sebastian Exp $ */
+/* $Id: exec.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef EXEC_H
 #define EXEC_H
diff --git a/ext/standard/file.c b/ext/standard/file.c
index 630c42d..6e108c4 100644
--- a/ext/standard/file.c
+++ b/ext/standard/file.c
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: file.c,v 1.409.2.6.2.43 2009/05/24 16:02:22 iliaa Exp $ */
+/* $Id: file.c 281040 2009-05-24 16:02:22Z iliaa $ */
 
 /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
 
diff --git a/ext/standard/file.h b/ext/standard/file.h
index 315d30d..1136e54 100644
--- a/ext/standard/file.h
+++ b/ext/standard/file.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: file.h,v 1.94.2.2.2.7 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: file.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Synced with php 3.0 revision 1.30 1999-06-16 [ssb] */
 
diff --git a/ext/standard/filestat.c b/ext/standard/filestat.c
index d91cab2..344cec1 100644
--- a/ext/standard/filestat.c
+++ b/ext/standard/filestat.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: filestat.c,v 1.136.2.8.2.17 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: filestat.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "safe_mode.h"
diff --git a/ext/standard/filters.c b/ext/standard/filters.c
index eedac44..fee1c48 100644
--- a/ext/standard/filters.c
+++ b/ext/standard/filters.c
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: filters.c,v 1.44.2.6.2.7 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: filters.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_globals.h"
diff --git a/ext/standard/flock_compat.c b/ext/standard/flock_compat.c
index 0600924..8a1b7b4 100644
--- a/ext/standard/flock_compat.c
+++ b/ext/standard/flock_compat.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: flock_compat.c,v 1.29.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: flock_compat.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include <errno.h>
diff --git a/ext/standard/flock_compat.h b/ext/standard/flock_compat.h
index 901e339..20cd424 100644
--- a/ext/standard/flock_compat.h
+++ b/ext/standard/flock_compat.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: flock_compat.h,v 1.20.2.1.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: flock_compat.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef FLOCK_COMPAT_H
 #define FLOCK_COMPAT_H
diff --git a/ext/standard/formatted_print.c b/ext/standard/formatted_print.c
index 2a763bc..243e6e5 100644
--- a/ext/standard/formatted_print.c
+++ b/ext/standard/formatted_print.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: formatted_print.c,v 1.82.2.1.2.21 2009/01/20 18:03:19 iliaa Exp $ */
+/* $Id: formatted_print.c 284649 2009-07-23 14:54:04Z jani $ */
 
 #include <math.h>				/* modf() */
 #include "php.h"
@@ -700,14 +700,14 @@ PHP_FUNCTION(vsprintf)
 PHP_FUNCTION(user_printf)
 {
 	char *result;
-	int len;
+	int len, rlen;
 	
 	if ((result=php_formatted_print(ht, &len, 0, 0 TSRMLS_CC))==NULL) {
 		RETURN_FALSE;
 	}
-	PHPWRITE(result, len);
+	rlen = PHPWRITE(result, len);
 	efree(result);
-	RETURN_LONG(len);
+	RETURN_LONG(rlen);
 }
 /* }}} */
 
@@ -716,14 +716,14 @@ PHP_FUNCTION(user_printf)
 PHP_FUNCTION(vprintf)
 {
 	char *result;
-	int len;
+	int len, rlen;
 	
 	if ((result=php_formatted_print(ht, &len, 1, 0 TSRMLS_CC))==NULL) {
 		RETURN_FALSE;
 	}
-	PHPWRITE(result, len);
+	rlen = PHPWRITE(result, len);
 	efree(result);
-	RETURN_LONG(len);
+	RETURN_LONG(rlen);
 }
 /* }}} */
 
diff --git a/ext/standard/fsock.c b/ext/standard/fsock.c
index 3b1254e..70ed4b8 100644
--- a/ext/standard/fsock.c
+++ b/ext/standard/fsock.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: fsock.c,v 1.121.2.1.2.5 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: fsock.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_globals.h"
diff --git a/ext/standard/fsock.h b/ext/standard/fsock.h
index 6e4fd87..c2da435 100644
--- a/ext/standard/fsock.h
+++ b/ext/standard/fsock.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: fsock.h,v 1.50.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: fsock.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Synced with php 3.0 revision 1.24 1999-06-18 [ssb] */
 
diff --git a/ext/standard/ftok.c b/ext/standard/ftok.c
index 09b68ec..9fb4943 100644
--- a/ext/standard/ftok.c
+++ b/ext/standard/ftok.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: ftok.c,v 1.16.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: ftok.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/ext/standard/ftp_fopen_wrapper.c b/ext/standard/ftp_fopen_wrapper.c
index 8719821..61a02c2 100644
--- a/ext/standard/ftp_fopen_wrapper.c
+++ b/ext/standard/ftp_fopen_wrapper.c
@@ -18,7 +18,7 @@
    |          Sara Golemon <pollita at php.net>                              |
    +----------------------------------------------------------------------+
  */
-/* $Id: ftp_fopen_wrapper.c,v 1.85.2.4.2.11 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: ftp_fopen_wrapper.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_globals.h"
diff --git a/ext/standard/head.c b/ext/standard/head.c
index d7d9d6d..7a1a468 100644
--- a/ext/standard/head.c
+++ b/ext/standard/head.c
@@ -15,7 +15,7 @@
    | Author: Rasmus Lerdorf <rasmus at lerdorf.on.ca>                        |
    +----------------------------------------------------------------------+
  */
-/* $Id: head.c,v 1.84.2.1.2.11 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: head.c 286508 2009-07-29 13:44:16Z iliaa $ */
 
 #include <stdio.h>
 #include "php.h"
@@ -110,8 +110,18 @@ PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, t
 	} else {
 		snprintf(cookie, len + 100, "Set-Cookie: %s=%s", name, value ? encoded_value : "");
 		if (expires > 0) {
+			char *p;
 			strlcat(cookie, "; expires=", len + 100);
 			dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, expires, 0 TSRMLS_CC);
+			/* check to make sure that the year does not exceed 4 digits in length */
+			p = zend_memrchr(dt, '-', strlen(dt));
+			if (*(p + 5) != ' ') {
+				efree(dt);
+				efree(cookie);
+				efree(encoded_value);
+				zend_error(E_WARNING, "Expiry date cannot have a year greater then 9999");
+				return FAILURE;
+			}
 			strlcat(cookie, dt, len + 100);
 			efree(dt);
 		}
diff --git a/ext/standard/head.h b/ext/standard/head.h
index cfb38d8..84c4366 100644
--- a/ext/standard/head.h
+++ b/ext/standard/head.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: head.h,v 1.28.2.1.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: head.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef HEAD_H
 #define HEAD_H
diff --git a/ext/standard/html.c b/ext/standard/html.c
index 6e073e5..3266c22 100644
--- a/ext/standard/html.c
+++ b/ext/standard/html.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: html.c,v 1.111.2.2.2.23 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: html.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /*
  * HTML entity resources:
diff --git a/ext/standard/html.h b/ext/standard/html.h
index 155b58c..bd26aa0 100644
--- a/ext/standard/html.h
+++ b/ext/standard/html.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: html.h,v 1.20.2.1.2.5 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: html.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef HTML_H
 #define HTML_H
diff --git a/ext/standard/http.c b/ext/standard/http.c
index 0ea2432..8df9268 100644
--- a/ext/standard/http.c
+++ b/ext/standard/http.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: http.c,v 1.14.2.4.2.7 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: http.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_http.h"
 #include "php_ini.h"
diff --git a/ext/standard/http_fopen_wrapper.c b/ext/standard/http_fopen_wrapper.c
index a51ad91..1f1d326 100644
--- a/ext/standard/http_fopen_wrapper.c
+++ b/ext/standard/http_fopen_wrapper.c
@@ -19,7 +19,7 @@
    |          Sara Golemon <pollita at php.net>                              |
    +----------------------------------------------------------------------+
  */
-/* $Id: http_fopen_wrapper.c,v 1.99.2.12.2.19 2009/05/28 13:20:22 lbarnaud Exp $ */ 
+/* $Id: http_fopen_wrapper.c 286790 2009-08-04 09:24:48Z tony2001 $ */ 
 
 #include "php.h"
 #include "php_globals.h"
@@ -325,7 +325,6 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, char *path,
 		strlcat(scratch, " HTTP/1.0\r\n", scratch_len);
 	}
 
-
 	/* send it */
 	php_stream_write(stream, scratch, strlen(scratch));
 
@@ -347,7 +346,11 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, char *path,
 				}
 			}
 			smart_str_0(&tmpstr);
-			tmp = tmpstr.c;
+			/* Remove newlines and spaces from start and end. there's at least one extra \r\n at the end that needs to go. */
+			if (tmpstr.c) {
+				tmp = php_trim(tmpstr.c, strlen(tmpstr.c), NULL, 0, NULL, 3 TSRMLS_CC);
+				smart_str_free(&tmpstr);
+			}
 		}
 		if (Z_TYPE_PP(tmpzval) == IS_STRING && Z_STRLEN_PP(tmpzval)) {
 			/* Remove newlines and spaces from start and end php_trim will estrndup() */
@@ -755,6 +758,8 @@ out:
 		 * the stream */
 		stream->position = 0;
 
+		/* restore mode */
+		strlcpy(stream->mode, mode, sizeof(stream->mode));
 	}
 
 	return stream;
diff --git a/ext/standard/image.c b/ext/standard/image.c
index ef167d0..5f3a0be 100644
--- a/ext/standard/image.c
+++ b/ext/standard/image.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: image.c,v 1.114.2.2.2.8 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: image.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include <stdio.h>
diff --git a/ext/standard/incomplete_class.c b/ext/standard/incomplete_class.c
index 06d2202..094fe4a 100644
--- a/ext/standard/incomplete_class.c
+++ b/ext/standard/incomplete_class.c
@@ -17,7 +17,7 @@
  */
 
 
-/* $Id: incomplete_class.c,v 1.28.2.2.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: incomplete_class.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "basic_functions.h"
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 81c76ee..eb5d885 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: info.c,v 1.249.2.10.2.19 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: info.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_ini.h"
diff --git a/ext/standard/info.h b/ext/standard/info.h
index 09f163d..831646a 100644
--- a/ext/standard/info.h
+++ b/ext/standard/info.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: info.h,v 1.38.2.1.2.7 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: info.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef INFO_H
 #define INFO_H
diff --git a/ext/standard/iptc.c b/ext/standard/iptc.c
index db8aef3..a331355 100644
--- a/ext/standard/iptc.c
+++ b/ext/standard/iptc.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: iptc.c,v 1.50.2.2.2.7 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: iptc.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /*
  * Functions to parse & compse IPTC data.
diff --git a/ext/standard/lcg.c b/ext/standard/lcg.c
index e7f0a3d..926bd20 100644
--- a/ext/standard/lcg.c
+++ b/ext/standard/lcg.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: lcg.c,v 1.41.2.1.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: lcg.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_lcg.h"
diff --git a/ext/standard/levenshtein.c b/ext/standard/levenshtein.c
index e3a9918..c913807 100644
--- a/ext/standard/levenshtein.c
+++ b/ext/standard/levenshtein.c
@@ -15,7 +15,7 @@
    | Author: Hartmut Holzgraefe <hholzgra at php.net>                        |
    +----------------------------------------------------------------------+
  */
-/* $Id: levenshtein.c,v 1.34.2.1.2.6 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: levenshtein.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include <stdlib.h>
diff --git a/ext/standard/link.c b/ext/standard/link.c
index 125d9e6..f08be57 100644
--- a/ext/standard/link.c
+++ b/ext/standard/link.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: link.c,v 1.52.2.1.2.7 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: link.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_filestat.h"
diff --git a/ext/standard/mail.c b/ext/standard/mail.c
index 546a22f..73efd5e 100644
--- a/ext/standard/mail.c
+++ b/ext/standard/mail.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mail.c,v 1.87.2.1.2.12 2009/04/15 14:25:06 iliaa Exp $ */
+/* $Id: mail.c 278756 2009-04-15 14:25:06Z iliaa $ */
 
 #include <stdlib.h>
 #include <ctype.h>
diff --git a/ext/standard/math.c b/ext/standard/math.c
index 78ec5b5..5e00331 100644
--- a/ext/standard/math.c
+++ b/ext/standard/math.c
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: math.c,v 1.131.2.2.2.11 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: math.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_math.h"
diff --git a/ext/standard/md5.c b/ext/standard/md5.c
index 42609bb..75c26f8 100644
--- a/ext/standard/md5.c
+++ b/ext/standard/md5.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: md5.c,v 1.39.2.1.2.6 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: md5.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* 
  * md5.c - Copyright 1997 Lachlan Roche 
diff --git a/ext/standard/md5.h b/ext/standard/md5.h
index 6a4268e..36b4901 100644
--- a/ext/standard/md5.h
+++ b/ext/standard/md5.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: md5.h,v 1.17.2.1.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: md5.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef MD5_H
 #define MD5_H
diff --git a/ext/standard/metaphone.c b/ext/standard/metaphone.c
index 4dbf452..b6139bf 100644
--- a/ext/standard/metaphone.c
+++ b/ext/standard/metaphone.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: metaphone.c,v 1.28.2.1.2.8 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: metaphone.c 282959 2009-06-28 18:44:28Z felipe $ */
 
 /*
 	Based on CPANs "Text-Metaphone-1.96" by Michael G Schwern <schwern at pobox.com> 
@@ -225,15 +225,14 @@ static int metaphone(unsigned char *word, int word_len, long max_phonemes, char
 			w_idx += 2;
 		}
 		break;
-		/* WH becomes H, 
+		/* WH becomes W, 
 		   WR becomes R 
 		   W if followed by a vowel */
 	case 'W':
-		if (Next_Letter == 'H' ||
-			Next_Letter == 'R') {
+		if (Next_Letter == 'R') {
 			Phonize(Next_Letter);
 			w_idx += 2;
-		} else if (isvowel(Next_Letter)) {
+		} else if (Next_Letter == 'H' || isvowel(Next_Letter)) {
 			Phonize('W');
 			w_idx += 2;
 		}
diff --git a/ext/standard/microtime.c b/ext/standard/microtime.c
index 20da11c..c65564a 100644
--- a/ext/standard/microtime.c
+++ b/ext/standard/microtime.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: microtime.c,v 1.53.2.2.2.6 2009/05/21 14:21:53 lbarnaud Exp $ */
+/* $Id: microtime.c 280907 2009-05-21 14:21:53Z lbarnaud $ */
 
 #include "php.h"
 
diff --git a/ext/standard/microtime.h b/ext/standard/microtime.h
index 1e13bc6..dfcf07e 100644
--- a/ext/standard/microtime.h
+++ b/ext/standard/microtime.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: microtime.h,v 1.14.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: microtime.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef MICROTIME_H
 #define MICROTIME_H
diff --git a/ext/standard/pack.c b/ext/standard/pack.c
index 51172de..a9768e0 100644
--- a/ext/standard/pack.c
+++ b/ext/standard/pack.c
@@ -15,7 +15,7 @@
    | Author: Chris Schneider <cschneid at relog.ch>                          |
    +----------------------------------------------------------------------+
  */
-/* $Id: pack.c,v 1.57.2.5.2.9 2009/05/12 12:35:45 iliaa Exp $ */
+/* $Id: pack.c 287647 2009-08-24 18:40:13Z iliaa $ */
 
 #include "php.h"
 
@@ -708,15 +708,15 @@ PHP_FUNCTION(unpack)
 						buf = emalloc(len + 1);
 
 						for (ipos = opos = 0; opos < len; opos++) {
-							char c = (input[inputpos + ipos] >> nibbleshift) & 0xf;
+							char cc = (input[inputpos + ipos] >> nibbleshift) & 0xf;
 
-							if (c < 10) {
-								c += '0';
+							if (cc < 10) {
+								cc += '0';
 							} else {
-								c += 'a' - 10;
+								cc += 'a' - 10;
 							}
 
-							buf[opos] = c;
+							buf[opos] = cc;
 							nibbleshift = (nibbleshift + 4) & 7;
 
 							if (first-- == 0) {
diff --git a/ext/standard/pack.h b/ext/standard/pack.h
index 2665af4..4264846 100644
--- a/ext/standard/pack.h
+++ b/ext/standard/pack.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: pack.h,v 1.16.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: pack.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PACK_H
 #define PACK_H
diff --git a/ext/standard/pageinfo.c b/ext/standard/pageinfo.c
index 6af85ee..b77ff7a 100644
--- a/ext/standard/pageinfo.c
+++ b/ext/standard/pageinfo.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: pageinfo.c,v 1.40.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: pageinfo.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "pageinfo.h"
diff --git a/ext/standard/pageinfo.h b/ext/standard/pageinfo.h
index 354bbfa..4a600f3 100644
--- a/ext/standard/pageinfo.h
+++ b/ext/standard/pageinfo.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: pageinfo.h,v 1.14.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: pageinfo.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PAGEINFO_H
 #define PAGEINFO_H
diff --git a/ext/standard/php_array.h b/ext/standard/php_array.h
index d5d1973..0a5ec64 100644
--- a/ext/standard/php_array.h
+++ b/ext/standard/php_array.h
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_array.h,v 1.50.2.2.2.5 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_array.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_ARRAY_H
 #define PHP_ARRAY_H
diff --git a/ext/standard/php_assert.h b/ext/standard/php_assert.h
index acd5891..9a4cb13 100644
--- a/ext/standard/php_assert.h
+++ b/ext/standard/php_assert.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_assert.h,v 1.15.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_assert.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_ASSERT_H
 #define PHP_ASSERT_H
diff --git a/ext/standard/php_browscap.h b/ext/standard/php_browscap.h
index d687fe4..8f45544 100644
--- a/ext/standard/php_browscap.h
+++ b/ext/standard/php_browscap.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_browscap.h,v 1.13.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_browscap.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_BROWSCAP_H
 #define PHP_BROWSCAP_H
diff --git a/ext/standard/php_crypt.h b/ext/standard/php_crypt.h
index a848cde..b23da72 100644
--- a/ext/standard/php_crypt.h
+++ b/ext/standard/php_crypt.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_crypt.h,v 1.18.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_crypt.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_CRYPT_H
 #define PHP_CRYPT_H
diff --git a/ext/standard/php_dir.h b/ext/standard/php_dir.h
index a422a3e..6e0704a 100644
--- a/ext/standard/php_dir.h
+++ b/ext/standard/php_dir.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_dir.h,v 1.24.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_dir.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_DIR_H
 #define PHP_DIR_H
diff --git a/ext/standard/php_dns.h b/ext/standard/php_dns.h
new file mode 100644
index 0000000..7915f71
--- /dev/null
+++ b/ext/standard/php_dns.h
@@ -0,0 +1,54 @@
+/* 
+   +----------------------------------------------------------------------+
+   | PHP Version 5                                                        |
+   +----------------------------------------------------------------------+
+   | Copyright (c) 1997-2009 The PHP Group                                |
+   +----------------------------------------------------------------------+
+   | This source file is subject to version 3.01 of the PHP license,      |
+   | that is bundled with this package in the file LICENSE, and is        |
+   | available through the world-wide-web at the following url:           |
+   | http://www.php.net/license/3_01.txt                                  |
+   | If you did not receive a copy of the PHP license and are unable to   |
+   | obtain it through the world-wide-web, please send a note to          |
+   | license at php.net so we can mail you a copy immediately.               |
+   +----------------------------------------------------------------------+
+   | Authors: The typical suspects                                        |
+   |          Marcus Boerger <helly at php.net>                              |
+   |          Pollita <pollita at php.net>                                   |
+   +----------------------------------------------------------------------+
+*/
+
+/* $Id: php_dns.h 286890 2009-08-06 14:07:16Z scottmac $ */
+
+#ifndef PHP_DNS_H
+#define PHP_DNS_H
+
+#if HAVE_RES_NMKQUERY && HAVE_RES_NSEND && HAVE_DN_EXPAND && HAVE_DN_SKIPNAME
+#define HAVE_DNS_FUNCS 1
+#endif
+
+PHP_FUNCTION(gethostbyaddr);
+PHP_FUNCTION(gethostbyname);
+PHP_FUNCTION(gethostbynamel);
+
+#if HAVE_RES_SEARCH && !(defined(__BEOS__) || defined(PHP_WIN32) || defined(NETWARE))
+PHP_FUNCTION(dns_check_record);
+# if HAVE_DN_SKIPNAME && HAVE_DN_EXPAND
+PHP_FUNCTION(dns_get_mx);
+# endif
+
+# if HAVE_DNS_FUNCS
+PHP_FUNCTION(dns_get_record);
+PHP_MINIT_FUNCTION(dns);
+# endif
+#endif
+
+#ifndef INT16SZ
+#define INT16SZ		2
+#endif
+
+#ifndef INT32SZ
+#define INT32SZ		4
+#endif
+
+#endif /* PHP_DNS_H */
diff --git a/ext/standard/php_ext_syslog.h b/ext/standard/php_ext_syslog.h
index a47aa13..c849562 100644
--- a/ext/standard/php_ext_syslog.h
+++ b/ext/standard/php_ext_syslog.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_ext_syslog.h,v 1.12.2.2.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_ext_syslog.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_EXT_SYSLOG_H
 #define PHP_EXT_SYSLOG_H
diff --git a/ext/standard/php_filestat.h b/ext/standard/php_filestat.h
index 7992f4c..2c87bbd 100644
--- a/ext/standard/php_filestat.h
+++ b/ext/standard/php_filestat.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_filestat.h,v 1.24.2.4.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_filestat.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_FILESTAT_H
 #define PHP_FILESTAT_H
diff --git a/ext/standard/php_fopen_wrapper.c b/ext/standard/php_fopen_wrapper.c
index 9140121..7152876 100644
--- a/ext/standard/php_fopen_wrapper.c
+++ b/ext/standard/php_fopen_wrapper.c
@@ -17,7 +17,7 @@
    |          Hartmut Holzgraefe <hholzgra at php.net>                       |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_fopen_wrapper.c,v 1.45.2.4.2.13 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_fopen_wrapper.c 287507 2009-08-20 12:40:15Z jani $ */
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -31,22 +31,25 @@
 #include "php_fopen_wrappers.h"
 #include "SAPI.h"
 
-static size_t php_stream_output_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC)
+static size_t php_stream_output_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC) /* {{{ */
 {
 	PHPWRITE(buf, count);
 	return count;
 }
+/* }}} */
 
-static size_t php_stream_output_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
+static size_t php_stream_output_read(php_stream *stream, char *buf, size_t count TSRMLS_DC) /* {{{ */
 {
 	stream->eof = 1;
 	return 0;
 }
+/* }}} */
 
-static int php_stream_output_close(php_stream *stream, int close_handle TSRMLS_DC)
+static int php_stream_output_close(php_stream *stream, int close_handle TSRMLS_DC) /* {{{ */
 {
 	return 0;
 }
+/* }}} */
 
 php_stream_ops php_stream_output_ops = {
 	php_stream_output_write,
@@ -60,54 +63,60 @@ php_stream_ops php_stream_output_ops = {
 	NULL  /* set_option */
 };
 
-static size_t php_stream_input_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC)
+static size_t php_stream_input_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC) /* {{{ */
 {
 	return -1;
 }
+/* }}} */
 
-static size_t php_stream_input_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
+static size_t php_stream_input_read(php_stream *stream, char *buf, size_t count TSRMLS_DC) /* {{{ */
 {
 	off_t *position = (off_t*)stream->abstract;
 	size_t read_bytes = 0;
 
-	if(!stream->eof) {
-		if(SG(request_info).raw_post_data) { /* data has already been read by a post handler */
+	if (!stream->eof) {
+		if (SG(request_info).raw_post_data) { /* data has already been read by a post handler */
 			read_bytes = SG(request_info).raw_post_data_length - *position;
-			if(read_bytes <= count) {
+			if (read_bytes <= count) {
 				stream->eof = 1;
 			} else {
 				read_bytes = count;
 			}
-			if(read_bytes) {
+			if (read_bytes) {
 				memcpy(buf, SG(request_info).raw_post_data + *position, read_bytes);
 			}
-		} else if(sapi_module.read_post) {
+		} else if (sapi_module.read_post) {
 			read_bytes = sapi_module.read_post(buf, count TSRMLS_CC);
-			if(read_bytes <= 0){
+			if (read_bytes <= 0) {
 				stream->eof = 1;
 				read_bytes = 0;
 			}
+			/* Increment SG(read_post_bytes) only when something was actually read. */
+			SG(read_post_bytes) += read_bytes;
 		} else {
 			stream->eof = 1;
 		}
 	}
 
 	*position += read_bytes;
-	SG(read_post_bytes) += read_bytes;
-    return read_bytes;
+
+	return read_bytes;
 }
+/* }}} */
 
-static int php_stream_input_close(php_stream *stream, int close_handle TSRMLS_DC)
+static int php_stream_input_close(php_stream *stream, int close_handle TSRMLS_DC) /* {{{ */
 {
 	efree(stream->abstract);
 
 	return 0;
 }
+/* }}} */
 
-static int php_stream_input_flush(php_stream *stream TSRMLS_DC)
+static int php_stream_input_flush(php_stream *stream TSRMLS_DC) /* {{{ */
 {
 	return -1;
 }
+/* }}} */
 
 php_stream_ops php_stream_input_ops = {
 	php_stream_input_write,
@@ -121,7 +130,8 @@ php_stream_ops php_stream_input_ops = {
 	NULL  /* set_option */
 };
 
-static void php_stream_apply_filter_list(php_stream *stream, char *filterlist, int read_chain, int write_chain TSRMLS_DC) {
+static void php_stream_apply_filter_list(php_stream *stream, char *filterlist, int read_chain, int write_chain TSRMLS_DC) /* {{{ */
+{
 	char *p, *token;
 	php_stream_filter *temp_filter;
 
@@ -144,9 +154,9 @@ static void php_stream_apply_filter_list(php_stream *stream, char *filterlist, i
 		p = php_strtok_r(NULL, "|", &token);
 	}
 }
+/* }}} */
 
-
-php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC)
+php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC) /* {{{ */
 {
 	int fd = -1;
 	int mode_rw = 0;
@@ -158,7 +168,7 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, ch
 	if (!strncasecmp(path, "php://", 6)) {
 		path += 6;
 	}
-	
+
 	if (!strncasecmp(path, "temp", 4)) {
 		path += 4;
 		max_memory = PHP_STREAM_MAX_MEM;
@@ -175,9 +185,9 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, ch
 		} else {
 			mode_rw = TEMP_STREAM_READONLY;
 		}
-		return php_stream_temp_create(mode_rw, max_memory);		
+		return php_stream_temp_create(mode_rw, max_memory);
 	}
-	
+
 	if (!strcasecmp(path, "memory")) {
 		if (strpbrk(mode, "wa+")) {
 			mode_rw = TEMP_STREAM_DEFAULT;
@@ -186,11 +196,11 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, ch
 		}
 		return php_stream_memory_create(mode_rw);
 	}
-	
+
 	if (!strcasecmp(path, "output")) {
 		return php_stream_alloc(&php_stream_output_ops, NULL, 0, "wb");
 	}
-	
+
 	if (!strcasecmp(path, "input")) {
 		if ((options & STREAM_OPEN_FOR_INCLUDE) && !PG(allow_url_include) ) {
 			if (options & REPORT_ERRORS) {
@@ -200,7 +210,7 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, ch
 		}
 		return php_stream_alloc(&php_stream_input_ops, ecalloc(1, sizeof(off_t)), 0, "rb");
 	}
-	
+
 	if (!strcasecmp(path, "stdin")) {
 		if ((options & STREAM_OPEN_FOR_INCLUDE) && !PG(allow_url_include) ) {
 			if (options & REPORT_ERRORS) {
@@ -282,12 +292,12 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, ch
 		efree(pathdup);
 
 		return stream;
- 	} else {
+	} else {
 		/* invalid php://thingy */
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid php:// URL specified");
 		return NULL;
 	}
-	
+
 	/* must be stdin, stderr or stdout */
 	if (fd == -1)	{
 		/* failed to dup */
@@ -316,9 +326,10 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, ch
 			close(fd);
 		}
 	}
- 
+
 	return stream;
 }
+/* }}} */
 
 static php_stream_wrapper_ops php_stdio_wops = {
 	php_stream_url_wrap_php,
diff --git a/ext/standard/php_fopen_wrappers.h b/ext/standard/php_fopen_wrappers.h
index 9ad3869..04b9039 100644
--- a/ext/standard/php_fopen_wrappers.h
+++ b/ext/standard/php_fopen_wrappers.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_fopen_wrappers.h,v 1.21.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_fopen_wrappers.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_FOPEN_WRAPPERS_H
 #define PHP_FOPEN_WRAPPERS_H
diff --git a/ext/standard/php_ftok.h b/ext/standard/php_ftok.h
index 6c75236..dbf7dc0 100644
--- a/ext/standard/php_ftok.h
+++ b/ext/standard/php_ftok.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_ftok.h,v 1.9.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_ftok.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_FTOK_H
 #define PHP_FTOK_H
diff --git a/ext/standard/php_http.h b/ext/standard/php_http.h
index 92783e6..6d3e276 100644
--- a/ext/standard/php_http.h
+++ b/ext/standard/php_http.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_http.h,v 1.5.2.2.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_http.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_HTTP_H
 #define PHP_HTTP_H
diff --git a/ext/standard/php_image.h b/ext/standard/php_image.h
index c76eb27..8709dc4 100644
--- a/ext/standard/php_image.h
+++ b/ext/standard/php_image.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_image.h,v 1.29.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_image.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_IMAGE_H
 #define PHP_IMAGE_H
diff --git a/ext/standard/php_incomplete_class.h b/ext/standard/php_incomplete_class.h
index 7eae8e9..e676d89 100644
--- a/ext/standard/php_incomplete_class.h
+++ b/ext/standard/php_incomplete_class.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_incomplete_class.h,v 1.17.2.2.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_incomplete_class.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_INCOMPLETE_CLASS_H
 #define PHP_INCOMPLETE_CLASS_H
diff --git a/ext/standard/php_iptc.h b/ext/standard/php_iptc.h
index 3c0e509..9e06ba8 100644
--- a/ext/standard/php_iptc.h
+++ b/ext/standard/php_iptc.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_iptc.h,v 1.11.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_iptc.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_IPTC_H
 #define PHP_IPTC_H
diff --git a/ext/standard/php_lcg.h b/ext/standard/php_lcg.h
index 4c07f3a..61783bd 100644
--- a/ext/standard/php_lcg.h
+++ b/ext/standard/php_lcg.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_lcg.h,v 1.21.2.1.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_lcg.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_LCG_H
 #define PHP_LCG_H
diff --git a/ext/standard/php_link.h b/ext/standard/php_link.h
index 5844cc9..a134657 100644
--- a/ext/standard/php_link.h
+++ b/ext/standard/php_link.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_link.h,v 1.12.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_link.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_LINK_H
 #define PHP_LINK_H
diff --git a/ext/standard/php_mail.h b/ext/standard/php_mail.h
index 40ca27b..edc4ffe 100644
--- a/ext/standard/php_mail.h
+++ b/ext/standard/php_mail.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_mail.h,v 1.18.2.1.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_mail.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_MAIL_H
 #define PHP_MAIL_H
diff --git a/ext/standard/php_math.h b/ext/standard/php_math.h
index d03aeb0..aeca940 100644
--- a/ext/standard/php_math.h
+++ b/ext/standard/php_math.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_math.h,v 1.28.2.2.2.5 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_math.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_MATH_H
 #define PHP_MATH_H
diff --git a/ext/standard/php_metaphone.h b/ext/standard/php_metaphone.h
index 5b778fb..8ce5f8f 100644
--- a/ext/standard/php_metaphone.h
+++ b/ext/standard/php_metaphone.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_metaphone.h,v 1.16.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_metaphone.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_METAPHONE_H
 #define PHP_METAPHONE_H
diff --git a/ext/standard/php_rand.h b/ext/standard/php_rand.h
index 0933590..b89498c 100644
--- a/ext/standard/php_rand.h
+++ b/ext/standard/php_rand.h
@@ -20,7 +20,7 @@
    | Based on code from: Shawn Cokus <Cokus at math.washington.edu>          |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_rand.h,v 1.28.2.1.2.5 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_rand.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_RAND_H
 #define	PHP_RAND_H
diff --git a/ext/standard/php_smart_str.h b/ext/standard/php_smart_str.h
index e56655f..0561bfd 100644
--- a/ext/standard/php_smart_str.h
+++ b/ext/standard/php_smart_str.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_smart_str.h,v 1.30.2.3.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_smart_str.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SMART_STR_H
 #define PHP_SMART_STR_H
diff --git a/ext/standard/php_smart_str_public.h b/ext/standard/php_smart_str_public.h
index a1b93ff..108d2c8 100644
--- a/ext/standard/php_smart_str_public.h
+++ b/ext/standard/php_smart_str_public.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_smart_str_public.h,v 1.10.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_smart_str_public.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SMART_STR_PUBLIC_H
 #define PHP_SMART_STR_PUBLIC_H
diff --git a/ext/standard/php_standard.h b/ext/standard/php_standard.h
index 2fe6f83..d896810 100644
--- a/ext/standard/php_standard.h
+++ b/ext/standard/php_standard.h
@@ -16,14 +16,14 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_standard.h,v 1.24.2.2.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_standard.h 286890 2009-08-06 14:07:16Z scottmac $ */
 
 #include "basic_functions.h"
 #include "php_math.h"
 #include "php_string.h"
 #include "base64.h"
 #include "php_dir.h"
-#include "dns.h"
+#include "php_dns.h"
 #include "reg.h"
 #include "php_mail.h"
 #include "md5.h"
diff --git a/ext/standard/php_string.h b/ext/standard/php_string.h
index ab7edab..c6fcece 100644
--- a/ext/standard/php_string.h
+++ b/ext/standard/php_string.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_string.h,v 1.87.2.2.2.5 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_string.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Synced with php 3.0 revision 1.43 1999-06-16 [ssb] */
 
diff --git a/ext/standard/php_type.h b/ext/standard/php_type.h
index e1cfe30..bb94dcc 100644
--- a/ext/standard/php_type.h
+++ b/ext/standard/php_type.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_type.h,v 1.6.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_type.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_TYPE_H
 #define PHP_TYPE_H
diff --git a/ext/standard/php_uuencode.h b/ext/standard/php_uuencode.h
index b3a0706..7cb8e99 100644
--- a/ext/standard/php_uuencode.h
+++ b/ext/standard/php_uuencode.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_uuencode.h,v 1.4.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_uuencode.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_UUENCODE_H
 #define PHP_UUENCODE_H
diff --git a/ext/standard/php_var.h b/ext/standard/php_var.h
index 1590a09..baf25de 100644
--- a/ext/standard/php_var.h
+++ b/ext/standard/php_var.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_var.h,v 1.30.2.1.2.8 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_var.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_VAR_H
 #define PHP_VAR_H
diff --git a/ext/standard/php_versioning.h b/ext/standard/php_versioning.h
index 86f049e..42eca5a 100644
--- a/ext/standard/php_versioning.h
+++ b/ext/standard/php_versioning.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_versioning.h,v 1.10.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: php_versioning.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_VERSIONING_H
 #define PHP_VERSIONING_H
diff --git a/ext/standard/proc_open.c b/ext/standard/proc_open.c
index fe50d9d..f16d56a 100644
--- a/ext/standard/proc_open.c
+++ b/ext/standard/proc_open.c
@@ -15,7 +15,7 @@
    | Author: Wez Furlong <wez at thebrainroom.com>                           |
    +----------------------------------------------------------------------+
  */
-/* $Id: proc_open.c,v 1.36.2.1.2.23 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: proc_open.c 286752 2009-08-03 19:05:56Z felipe $ */
 
 #if 0 && (defined(__linux__) || defined(sun) || defined(__IRIX__))
 # define _BSD_SOURCE 		/* linux wants this when XOPEN mode is on */
@@ -30,6 +30,7 @@
 #include "php_string.h"
 #include "safe_mode.h"
 #include "ext/standard/head.h"
+#include "ext/standard/basic_functions.h"
 #include "ext/standard/file.h"
 #include "exec.h"
 #include "php_globals.h"
@@ -152,6 +153,34 @@ static php_process_env_t _php_array_to_envp(zval *environment, int is_persistent
 				if (string_length == 0) {
 					continue;
 				}
+				if (PG(safe_mode)) {
+					/* Check the protected list */
+					if (zend_hash_exists(&BG(sm_protected_env_vars), string_key, string_length - 1)) {
+						php_error_docref(NULL TSRMLS_CC, E_WARNING, "Safe Mode warning: Cannot override protected environment variable '%s'", string_key);
+						return env;
+					}
+					/* Check the allowed list */
+					if (BG(sm_allowed_env_vars) && *BG(sm_allowed_env_vars)) {
+						char *allowed_env_vars = estrdup(BG(sm_allowed_env_vars));
+						char *strtok_buf = NULL;
+						char *allowed_prefix = php_strtok_r(allowed_env_vars, ", ", &strtok_buf);
+						zend_bool allowed = 0;
+
+						while (allowed_prefix) {
+							if (!strncmp(allowed_prefix, string_key, strlen(allowed_prefix))) {
+								allowed = 1;
+								break;
+							}
+							allowed_prefix = php_strtok_r(NULL, ", ", &strtok_buf);
+						}
+						efree(allowed_env_vars);
+						if (!allowed) {
+							php_error_docref(NULL TSRMLS_CC, E_WARNING, "Safe Mode warning: Cannot set environment variable '%s' - it's not in the allowed list", string_key);
+							return env;
+						}
+					}
+				}
+
 				l = string_length + el_len + 1;
 				memcpy(p, string_key, string_length);
 				strcat(p, "=");
@@ -383,7 +412,7 @@ PHP_FUNCTION(proc_get_status)
 	GetExitCodeProcess(proc->childHandle, &wstatus);
 
 	running = wstatus == STILL_ACTIVE;
-	exitcode == STILL_ACTIVE ? -1 : wstatus;
+	exitcode = running ? -1 : wstatus;
 	
 #elif HAVE_SYS_WAIT_H
 	
diff --git a/ext/standard/proc_open.h b/ext/standard/proc_open.h
index 217e925..393b5d1 100644
--- a/ext/standard/proc_open.h
+++ b/ext/standard/proc_open.h
@@ -15,7 +15,7 @@
    | Author: Wez Furlong <wez at thebrainroom.com>                           |
    +----------------------------------------------------------------------+
  */
-/* $Id: proc_open.h,v 1.5.2.1.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: proc_open.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef PHP_WIN32
 typedef HANDLE php_file_descriptor_t;
diff --git a/ext/standard/quot_print.c b/ext/standard/quot_print.c
index f8af37f..7bc4619 100644
--- a/ext/standard/quot_print.c
+++ b/ext/standard/quot_print.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: quot_print.c,v 1.29.2.2.2.5 2009/01/07 17:38:13 felipe Exp $ */
+/* $Id: quot_print.c 272982 2009-01-07 17:38:13Z felipe $ */
 
 #include <stdlib.h>
 
diff --git a/ext/standard/quot_print.h b/ext/standard/quot_print.h
index 3c17dc4..f387607 100644
--- a/ext/standard/quot_print.h
+++ b/ext/standard/quot_print.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: quot_print.h,v 1.13.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: quot_print.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef QUOT_PRINT_H
 #define QUOT_PRINT_H
diff --git a/ext/standard/rand.c b/ext/standard/rand.c
index e3ba1c9..a0e2289 100644
--- a/ext/standard/rand.c
+++ b/ext/standard/rand.c
@@ -23,7 +23,7 @@
    |                     Shawn Cokus <Cokus at math.washington.edu>          |
    +----------------------------------------------------------------------+
  */
-/* $Id: rand.c,v 1.70.2.1.2.5 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: rand.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdlib.h>
 
diff --git a/ext/standard/reg.c b/ext/standard/reg.c
index 436553d..7757a4d 100644
--- a/ext/standard/reg.c
+++ b/ext/standard/reg.c
@@ -17,7 +17,7 @@
    |          Jaakko Hyvätti <jaakko at hyvatti.iki.fi>                      | 
    +----------------------------------------------------------------------+
  */
-/* $Id: reg.c,v 1.82.2.3.2.7 2009/05/29 00:03:28 scottmac Exp $ */
+/* $Id: reg.c 281355 2009-05-29 00:03:28Z scottmac $ */
 
 #include <stdio.h>
 #include <ctype.h>
diff --git a/ext/standard/reg.h b/ext/standard/reg.h
index 3812e33..63e0710 100644
--- a/ext/standard/reg.h
+++ b/ext/standard/reg.h
@@ -17,7 +17,7 @@
 */
 
 
-/* $Id: reg.h,v 1.21.2.1.2.4 2009/05/29 00:03:28 scottmac Exp $ */
+/* $Id: reg.h 281355 2009-05-29 00:03:28Z scottmac $ */
 
 #ifndef REG_H
 #define REG_H
diff --git a/ext/standard/scanf.c b/ext/standard/scanf.c
index 1271328..dbbe741 100644
--- a/ext/standard/scanf.c
+++ b/ext/standard/scanf.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: scanf.c,v 1.31.2.2.2.9 2009/02/06 10:22:34 felipe Exp $ */
+/* $Id: scanf.c 275270 2009-02-06 10:22:34Z felipe $ */
 
 /*
 	scanf.c --
diff --git a/ext/standard/scanf.h b/ext/standard/scanf.h
index e87bc17..42368fb 100644
--- a/ext/standard/scanf.h
+++ b/ext/standard/scanf.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: scanf.h,v 1.14.2.2.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: scanf.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef  SCANF_H
 #define  SCANF_H
diff --git a/ext/standard/sha1.c b/ext/standard/sha1.c
index d14167f..48493af 100644
--- a/ext/standard/sha1.c
+++ b/ext/standard/sha1.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: sha1.c,v 1.13.2.1.2.5 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: sha1.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/ext/standard/sha1.h b/ext/standard/sha1.h
index bb7a451..01a0d7f 100644
--- a/ext/standard/sha1.h
+++ b/ext/standard/sha1.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: sha1.h,v 1.5.2.1.2.4 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: sha1.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SHA1_H
 #define SHA1_H
diff --git a/ext/standard/soundex.c b/ext/standard/soundex.c
index ee8c2ac..ba6965f 100644
--- a/ext/standard/soundex.c
+++ b/ext/standard/soundex.c
@@ -15,7 +15,7 @@
    | Author: Bjørn Borud - Guardian Networks AS <borud at guardian.no>       |
    +----------------------------------------------------------------------+
  */
-/* $Id: soundex.c,v 1.25.2.1.2.3 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: soundex.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include <stdlib.h>
diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c
index f114b65..2cd3bf5 100644
--- a/ext/standard/streamsfuncs.c
+++ b/ext/standard/streamsfuncs.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: streamsfuncs.c,v 1.58.2.6.2.33 2009/04/19 17:10:52 lbarnaud Exp $ */
+/* $Id: streamsfuncs.c 286744 2009-08-03 15:58:18Z felipe $ */
 
 #include "php.h"
 #include "php_globals.h"
@@ -114,7 +114,7 @@ PHP_FUNCTION(stream_socket_client)
 	tv.tv_sec = conv / 1000000;
 	tv.tv_usec = conv % 1000000;
 
-	if (zerrno)	{
+	if (zerrno) {
 		zval_dtor(zerrno);
 		ZVAL_LONG(zerrno, 0);
 	}
@@ -155,11 +155,11 @@ PHP_FUNCTION(stream_socket_client)
 		}
 		RETURN_FALSE;
 	}
-	
+
 	if (errstr) {
 		efree(errstr);
 	}
-	
+
 	php_stream_to_zval(stream, return_value);
 
 	if (zcontext) {
@@ -565,7 +565,7 @@ PHP_FUNCTION(stream_get_wrappers)
 
 	if ((url_stream_wrappers_hash = php_stream_get_url_stream_wrappers_hash())) {
 		array_init(return_value);
-		for(zend_hash_internal_pointer_reset(url_stream_wrappers_hash);
+		for (zend_hash_internal_pointer_reset(url_stream_wrappers_hash);
 			(key_flags = zend_hash_get_current_key_ex(url_stream_wrappers_hash, &stream_protocol, &stream_protocol_len, &num_key, 0, NULL)) != HASH_KEY_NON_EXISTANT;
 			zend_hash_move_forward(url_stream_wrappers_hash)) {
 				if (key_flags == HASH_KEY_IS_STRING) {
@@ -1382,26 +1382,27 @@ PHP_FUNCTION(stream_socket_enable_crypto)
 */
 PHP_FUNCTION(stream_is_local)
 {
-	zval *zstream;
+	zval **zstream;
 	php_stream *stream = NULL;
 	php_stream_wrapper *wrapper = NULL;
 
-	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zstream) == FAILURE) {
+	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &zstream) == FAILURE) {
 		RETURN_FALSE;
 	}
 
-	if(Z_TYPE_P(zstream) == IS_RESOURCE) {
-		php_stream_from_zval(stream, &zstream);
-		if(stream == NULL) {
+	if (Z_TYPE_PP(zstream) == IS_RESOURCE) {
+		php_stream_from_zval(stream, zstream);
+		if (stream == NULL) {
 			RETURN_FALSE;
 		}
 		wrapper = stream->wrapper;
 	} else {
-		convert_to_string_ex(&zstream);
-		wrapper = php_stream_locate_url_wrapper(Z_STRVAL_P(zstream), NULL, 0 TSRMLS_CC);
+		convert_to_string_ex(zstream);
+		
+		wrapper = php_stream_locate_url_wrapper(Z_STRVAL_PP(zstream), NULL, 0 TSRMLS_CC);
 	}
 
-	if(!wrapper) {
+	if (!wrapper) {
 		RETURN_FALSE;
 	}
 
diff --git a/ext/standard/streamsfuncs.h b/ext/standard/streamsfuncs.h
index d074655..06fc1e6 100644
--- a/ext/standard/streamsfuncs.h
+++ b/ext/standard/streamsfuncs.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: streamsfuncs.h,v 1.13.2.1.2.6 2008/12/31 11:17:45 sebastian Exp $ */
+/* $Id: streamsfuncs.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Flags for stream_socket_client */
 #define PHP_STREAM_CLIENT_PERSISTENT	1
diff --git a/ext/standard/string.c b/ext/standard/string.c
index dd66edc..e1898c9 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: string.c,v 1.445.2.14.2.83 2009/04/01 17:07:46 mattwil Exp $ */
+/* $Id: string.c 287916 2009-08-31 12:28:46Z iliaa $ */
 
 /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
 
@@ -836,7 +836,7 @@ PHP_FUNCTION(wordwrap)
 		laststart = lastspace = 0;
 		for (current = 0; current < textlen; current++) {
 			if (text[current] == breakchar[0]) {
-				laststart = lastspace = current;
+				laststart = lastspace = current + 1;
 			} else if (text[current] == ' ') {
 				if (current - laststart >= linelength) {
 					newtext[current] = breakchar[0];
@@ -2183,7 +2183,7 @@ PHP_FUNCTION(chunk_split)
 	char *result;
 	char *end    = "\r\n";
 	int endlen   = 2;
-	int chunklen = 76;
+	long chunklen = 76;
 	int result_len;
 	int argc = ZEND_NUM_ARGS();
 
diff --git a/ext/standard/strnatcmp.c b/ext/standard/strnatcmp.c
index f6abfb5..9a3b4e7 100644
--- a/ext/standard/strnatcmp.c
+++ b/ext/standard/strnatcmp.c
@@ -38,7 +38,7 @@
 
 #if 0
 static char const *version UNUSED =
-    "$Id: strnatcmp.c,v 1.10.6.2 2009/04/09 16:04:15 rasmus Exp $";
+    "$Id: strnatcmp.c 286930 2009-08-08 14:39:34Z rasmus $";
 #endif
 /* {{{ compare_right
  */
@@ -101,11 +101,12 @@ compare_left(char const **a, char const *aend, char const **b, char const *bend)
  */
 PHPAPI int strnatcmp_ex(char const *a, size_t a_len, char const *b, size_t b_len, int fold_case)
 {
-	char ca, cb;
+	unsigned char ca, cb;
 	char const *ap, *bp;
 	char const *aend = a + a_len,
 			   *bend = b + b_len;
 	int fractional, result;
+	short leading = 1;
 
 	if (a_len == 0 || b_len == 0)
 		return a_len - b_len;
@@ -115,12 +116,25 @@ PHPAPI int strnatcmp_ex(char const *a, size_t a_len, char const *b, size_t b_len
 	while (1) {
 		ca = *ap; cb = *bp;
 
-		/* skip over leading spaces or zeros */
-		while (isspace((int)(unsigned char)ca) || (ca == '0' && (ap+1 < aend) && (*(ap+1)!='.')))
+		/* skip over leading zeros unless they are followed by punctuation */
+		while (leading && ca == '0' && (ap+1 < aend) && !ispunct(*(ap+1))) {
 			ca = *++ap;
+		}
 
-		while (isspace((int)(unsigned char)cb) || (cb == '0' && (bp+1 < bend) && (*(bp+1)!='.')))
+		while (leading && cb == '0' && (bp+1 < bend) && !ispunct(*(bp+1))) {
 			cb = *++bp;
+		}
+
+		leading = 0;
+
+		/* Skip consecutive whitespace */
+		while (isspace((int)(unsigned char)ca)) {
+			ca = *++ap;
+		}
+
+		while (isspace((int)(unsigned char)cb)) {
+			cb = *++bp;
+		}
 
 		/* process run of digits */
 		if (isdigit((int)(unsigned char)ca)  &&  isdigit((int)(unsigned char)cb)) {
diff --git a/ext/standard/syslog.c b/ext/standard/syslog.c
index ad1445e..81d6fb9 100644
--- a/ext/standard/syslog.c
+++ b/ext/standard/syslog.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: syslog.c,v 1.49.2.3.2.5 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: syslog.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/ext/standard/tests/array/array_chunk2.phpt b/ext/standard/tests/array/array_chunk2.phpt
index 09d148e..2560332 100644
--- a/ext/standard/tests/array/array_chunk2.phpt
+++ b/ext/standard/tests/array/array_chunk2.phpt
@@ -1,146 +1,146 @@
---TEST--
-basic array_chunk test
---FILE--
-<?php
-$input_array = array('a', 'b', 'c', 'd', 'e');
-var_dump(array_chunk($input_array, 0));
-var_dump(array_chunk($input_array, 0, true));
-var_dump(array_chunk($input_array, 1));
-var_dump(array_chunk($input_array, 1, true));	
-var_dump(array_chunk($input_array, 2));
-var_dump(array_chunk($input_array, 2, true));	
-var_dump(array_chunk($input_array, 10));
-var_dump(array_chunk($input_array, 10, true));	
-?>
---EXPECTF--
-Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
-NULL
-
-Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
-NULL
-array(5) {
-  [0]=>
-  array(1) {
-    [0]=>
-    string(1) "a"
-  }
-  [1]=>
-  array(1) {
-    [0]=>
-    string(1) "b"
-  }
-  [2]=>
-  array(1) {
-    [0]=>
-    string(1) "c"
-  }
-  [3]=>
-  array(1) {
-    [0]=>
-    string(1) "d"
-  }
-  [4]=>
-  array(1) {
-    [0]=>
-    string(1) "e"
-  }
-}
-array(5) {
-  [0]=>
-  array(1) {
-    [0]=>
-    string(1) "a"
-  }
-  [1]=>
-  array(1) {
-    [1]=>
-    string(1) "b"
-  }
-  [2]=>
-  array(1) {
-    [2]=>
-    string(1) "c"
-  }
-  [3]=>
-  array(1) {
-    [3]=>
-    string(1) "d"
-  }
-  [4]=>
-  array(1) {
-    [4]=>
-    string(1) "e"
-  }
-}
-array(3) {
-  [0]=>
-  array(2) {
-    [0]=>
-    string(1) "a"
-    [1]=>
-    string(1) "b"
-  }
-  [1]=>
-  array(2) {
-    [0]=>
-    string(1) "c"
-    [1]=>
-    string(1) "d"
-  }
-  [2]=>
-  array(1) {
-    [0]=>
-    string(1) "e"
-  }
-}
-array(3) {
-  [0]=>
-  array(2) {
-    [0]=>
-    string(1) "a"
-    [1]=>
-    string(1) "b"
-  }
-  [1]=>
-  array(2) {
-    [2]=>
-    string(1) "c"
-    [3]=>
-    string(1) "d"
-  }
-  [2]=>
-  array(1) {
-    [4]=>
-    string(1) "e"
-  }
-}
-array(1) {
-  [0]=>
-  array(5) {
-    [0]=>
-    string(1) "a"
-    [1]=>
-    string(1) "b"
-    [2]=>
-    string(1) "c"
-    [3]=>
-    string(1) "d"
-    [4]=>
-    string(1) "e"
-  }
-}
-array(1) {
-  [0]=>
-  array(5) {
-    [0]=>
-    string(1) "a"
-    [1]=>
-    string(1) "b"
-    [2]=>
-    string(1) "c"
-    [3]=>
-    string(1) "d"
-    [4]=>
-    string(1) "e"
-  }
-}
+--TEST--
+basic array_chunk test
+--FILE--
+<?php
+$input_array = array('a', 'b', 'c', 'd', 'e');
+var_dump(array_chunk($input_array, 0));
+var_dump(array_chunk($input_array, 0, true));
+var_dump(array_chunk($input_array, 1));
+var_dump(array_chunk($input_array, 1, true));	
+var_dump(array_chunk($input_array, 2));
+var_dump(array_chunk($input_array, 2, true));	
+var_dump(array_chunk($input_array, 10));
+var_dump(array_chunk($input_array, 10, true));	
+?>
+--EXPECTF--
+Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
+NULL
+
+Warning: array_chunk(): Size parameter expected to be greater than 0 in %s on line %d
+NULL
+array(5) {
+  [0]=>
+  array(1) {
+    [0]=>
+    string(1) "a"
+  }
+  [1]=>
+  array(1) {
+    [0]=>
+    string(1) "b"
+  }
+  [2]=>
+  array(1) {
+    [0]=>
+    string(1) "c"
+  }
+  [3]=>
+  array(1) {
+    [0]=>
+    string(1) "d"
+  }
+  [4]=>
+  array(1) {
+    [0]=>
+    string(1) "e"
+  }
+}
+array(5) {
+  [0]=>
+  array(1) {
+    [0]=>
+    string(1) "a"
+  }
+  [1]=>
+  array(1) {
+    [1]=>
+    string(1) "b"
+  }
+  [2]=>
+  array(1) {
+    [2]=>
+    string(1) "c"
+  }
+  [3]=>
+  array(1) {
+    [3]=>
+    string(1) "d"
+  }
+  [4]=>
+  array(1) {
+    [4]=>
+    string(1) "e"
+  }
+}
+array(3) {
+  [0]=>
+  array(2) {
+    [0]=>
+    string(1) "a"
+    [1]=>
+    string(1) "b"
+  }
+  [1]=>
+  array(2) {
+    [0]=>
+    string(1) "c"
+    [1]=>
+    string(1) "d"
+  }
+  [2]=>
+  array(1) {
+    [0]=>
+    string(1) "e"
+  }
+}
+array(3) {
+  [0]=>
+  array(2) {
+    [0]=>
+    string(1) "a"
+    [1]=>
+    string(1) "b"
+  }
+  [1]=>
+  array(2) {
+    [2]=>
+    string(1) "c"
+    [3]=>
+    string(1) "d"
+  }
+  [2]=>
+  array(1) {
+    [4]=>
+    string(1) "e"
+  }
+}
+array(1) {
+  [0]=>
+  array(5) {
+    [0]=>
+    string(1) "a"
+    [1]=>
+    string(1) "b"
+    [2]=>
+    string(1) "c"
+    [3]=>
+    string(1) "d"
+    [4]=>
+    string(1) "e"
+  }
+}
+array(1) {
+  [0]=>
+  array(5) {
+    [0]=>
+    string(1) "a"
+    [1]=>
+    string(1) "b"
+    [2]=>
+    string(1) "c"
+    [3]=>
+    string(1) "d"
+    [4]=>
+    string(1) "e"
+  }
+}
diff --git a/ext/standard/tests/array/array_combine.phpt b/ext/standard/tests/array/array_combine.phpt
index 6952b66..34d4ff8 100755
--- a/ext/standard/tests/array/array_combine.phpt
+++ b/ext/standard/tests/array/array_combine.phpt
@@ -1,122 +1,122 @@
---TEST--
-basic array_combine test
---FILE--
-<?php
-	$array1 = array('green', 'red', 'yellow');
-	$array2 = array('1', '2', '3');
-	$array3 = array(0, 1, 2);
-	$array4 = array(TRUE, FALSE, NULL);
-	$a = array_combine($array1, $array1);
-	$b = array_combine($array1, $array2);
-	$c = array_combine($array1, $array3);
-	$d = array_combine($array1, $array4);
-	$e = array_combine($array2, $array1);
-	$f = array_combine($array2, $array2);
-	$g = array_combine($array2, $array3);
-	$h = array_combine($array2, $array4);
-	$i = array_combine($array3, $array1);
-	$j = array_combine($array3, $array2);
-	$k = array_combine($array3, $array3);
-	$l = array_combine($array3, $array4);
-	$m = array_combine($array4, $array1);
-	$n = array_combine($array4, $array2);
-	$o = array_combine($array4, $array3);
-	$p = array_combine($array4, $array4);
-	for($letter = "a"; $letter <= "p"; $letter++)
-	{
-	 print_r($$letter);
-	}
-?>
---EXPECT--
-Array
-(
-    [green] => green
-    [red] => red
-    [yellow] => yellow
-)
-Array
-(
-    [green] => 1
-    [red] => 2
-    [yellow] => 3
-)
-Array
-(
-    [green] => 0
-    [red] => 1
-    [yellow] => 2
-)
-Array
-(
-    [green] => 1
-    [red] => 
-    [yellow] => 
-)
-Array
-(
-    [1] => green
-    [2] => red
-    [3] => yellow
-)
-Array
-(
-    [1] => 1
-    [2] => 2
-    [3] => 3
-)
-Array
-(
-    [1] => 0
-    [2] => 1
-    [3] => 2
-)
-Array
-(
-    [1] => 1
-    [2] => 
-    [3] => 
-)
-Array
-(
-    [0] => green
-    [1] => red
-    [2] => yellow
-)
-Array
-(
-    [0] => 1
-    [1] => 2
-    [2] => 3
-)
-Array
-(
-    [0] => 0
-    [1] => 1
-    [2] => 2
-)
-Array
-(
-    [0] => 1
-    [1] => 
-    [2] => 
-)
-Array
-(
-    [1] => green
-    [] => yellow
-)
-Array
-(
-    [1] => 1
-    [] => 3
-)
-Array
-(
-    [1] => 0
-    [] => 2
-)
-Array
-(
-    [1] => 1
-    [] => 
+--TEST--
+basic array_combine test
+--FILE--
+<?php
+	$array1 = array('green', 'red', 'yellow');
+	$array2 = array('1', '2', '3');
+	$array3 = array(0, 1, 2);
+	$array4 = array(TRUE, FALSE, NULL);
+	$a = array_combine($array1, $array1);
+	$b = array_combine($array1, $array2);
+	$c = array_combine($array1, $array3);
+	$d = array_combine($array1, $array4);
+	$e = array_combine($array2, $array1);
+	$f = array_combine($array2, $array2);
+	$g = array_combine($array2, $array3);
+	$h = array_combine($array2, $array4);
+	$i = array_combine($array3, $array1);
+	$j = array_combine($array3, $array2);
+	$k = array_combine($array3, $array3);
+	$l = array_combine($array3, $array4);
+	$m = array_combine($array4, $array1);
+	$n = array_combine($array4, $array2);
+	$o = array_combine($array4, $array3);
+	$p = array_combine($array4, $array4);
+	for($letter = "a"; $letter <= "p"; $letter++)
+	{
+	 print_r($$letter);
+	}
+?>
+--EXPECT--
+Array
+(
+    [green] => green
+    [red] => red
+    [yellow] => yellow
+)
+Array
+(
+    [green] => 1
+    [red] => 2
+    [yellow] => 3
+)
+Array
+(
+    [green] => 0
+    [red] => 1
+    [yellow] => 2
+)
+Array
+(
+    [green] => 1
+    [red] => 
+    [yellow] => 
+)
+Array
+(
+    [1] => green
+    [2] => red
+    [3] => yellow
+)
+Array
+(
+    [1] => 1
+    [2] => 2
+    [3] => 3
+)
+Array
+(
+    [1] => 0
+    [2] => 1
+    [3] => 2
+)
+Array
+(
+    [1] => 1
+    [2] => 
+    [3] => 
+)
+Array
+(
+    [0] => green
+    [1] => red
+    [2] => yellow
+)
+Array
+(
+    [0] => 1
+    [1] => 2
+    [2] => 3
+)
+Array
+(
+    [0] => 0
+    [1] => 1
+    [2] => 2
+)
+Array
+(
+    [0] => 1
+    [1] => 
+    [2] => 
+)
+Array
+(
+    [1] => green
+    [] => yellow
+)
+Array
+(
+    [1] => 1
+    [] => 3
+)
+Array
+(
+    [1] => 0
+    [] => 2
+)
+Array
+(
+    [1] => 1
+    [] => 
 )
\ No newline at end of file
diff --git a/ext/standard/tests/array/array_count_values2.phpt b/ext/standard/tests/array/array_count_values2.phpt
index 5047217..8dc9b23 100644
--- a/ext/standard/tests/array/array_count_values2.phpt
+++ b/ext/standard/tests/array/array_count_values2.phpt
@@ -1,43 +1,43 @@
---TEST--
-basic array_count_values test
---FILE--
-<?php
-$array1 = array(1, 
-				"hello", 
-				1, 
-				"world", 
-				"hello", 
-				"", 
-				"rabbit", 
-				"foo", 
-				"Foo", 
-				TRUE, 
-				FALSE, 
-				NULL, 
-				0);
-var_dump(array_count_values($array1));
-?>
---EXPECTF--
-Warning: array_count_values(): Can only count STRING and INTEGER values! in %s on line %s
-
-Warning: array_count_values(): Can only count STRING and INTEGER values! in %s on line %s
-
-Warning: array_count_values(): Can only count STRING and INTEGER values! in %s on line %s
-array(8) {
-  [1]=>
-  int(2)
-  ["hello"]=>
-  int(2)
-  ["world"]=>
-  int(1)
-  [""]=>
-  int(1)
-  ["rabbit"]=>
-  int(1)
-  ["foo"]=>
-  int(1)
-  ["Foo"]=>
-  int(1)
-  [0]=>
-  int(1)
-}
+--TEST--
+basic array_count_values test
+--FILE--
+<?php
+$array1 = array(1, 
+				"hello", 
+				1, 
+				"world", 
+				"hello", 
+				"", 
+				"rabbit", 
+				"foo", 
+				"Foo", 
+				TRUE, 
+				FALSE, 
+				NULL, 
+				0);
+var_dump(array_count_values($array1));
+?>
+--EXPECTF--
+Warning: array_count_values(): Can only count STRING and INTEGER values! in %s on line %s
+
+Warning: array_count_values(): Can only count STRING and INTEGER values! in %s on line %s
+
+Warning: array_count_values(): Can only count STRING and INTEGER values! in %s on line %s
+array(8) {
+  [1]=>
+  int(2)
+  ["hello"]=>
+  int(2)
+  ["world"]=>
+  int(1)
+  [""]=>
+  int(1)
+  ["rabbit"]=>
+  int(1)
+  ["foo"]=>
+  int(1)
+  ["Foo"]=>
+  int(1)
+  [0]=>
+  int(1)
+}
diff --git a/ext/standard/tests/array/array_diff_assoc.phpt b/ext/standard/tests/array/array_diff_assoc.phpt
index 32d4758..29db107 100755
--- a/ext/standard/tests/array/array_diff_assoc.phpt
+++ b/ext/standard/tests/array/array_diff_assoc.phpt
@@ -1,49 +1,49 @@
---TEST--
-basic array_diff_assoc test
---FILE--	
-<?php
-$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red", "");
-$array2 = array("a" => "green", "yellow", "red", TRUE);
-$array3 = array("red", "a"=>"brown", "");
-$result[] = array_diff_assoc($array1, $array2);
-$result[] = array_diff_assoc($array1, $array3);
-$result[] = array_diff_assoc($array2, $array3);
-$result[] = array_diff_assoc($array1, $array2, $array3);
-print_r($result)
-?>
---EXPECT--
-Array
-(
-    [0] => Array
-        (
-            [b] => brown
-            [c] => blue
-            [0] => red
-            [1] => 
-        )
-
-    [1] => Array
-        (
-            [a] => green
-            [b] => brown
-            [c] => blue
-        )
-
-    [2] => Array
-        (
-            [a] => green
-            [0] => yellow
-            [1] => red
-            [2] => 1
-        )
-
-    [3] => Array
-        (
-            [b] => brown
-            [c] => blue
-        )
-
-)
-
-
-
+--TEST--
+basic array_diff_assoc test
+--FILE--	
+<?php
+$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red", "");
+$array2 = array("a" => "green", "yellow", "red", TRUE);
+$array3 = array("red", "a"=>"brown", "");
+$result[] = array_diff_assoc($array1, $array2);
+$result[] = array_diff_assoc($array1, $array3);
+$result[] = array_diff_assoc($array2, $array3);
+$result[] = array_diff_assoc($array1, $array2, $array3);
+print_r($result)
+?>
+--EXPECT--
+Array
+(
+    [0] => Array
+        (
+            [b] => brown
+            [c] => blue
+            [0] => red
+            [1] => 
+        )
+
+    [1] => Array
+        (
+            [a] => green
+            [b] => brown
+            [c] => blue
+        )
+
+    [2] => Array
+        (
+            [a] => green
+            [0] => yellow
+            [1] => red
+            [2] => 1
+        )
+
+    [3] => Array
+        (
+            [b] => brown
+            [c] => blue
+        )
+
+)
+
+
+
diff --git a/ext/standard/tests/array/array_diff_key2.phpt b/ext/standard/tests/array/array_diff_key2.phpt
index ba32b98..b7ef7f3 100644
--- a/ext/standard/tests/array/array_diff_key2.phpt
+++ b/ext/standard/tests/array/array_diff_key2.phpt
@@ -1,44 +1,44 @@
---TEST--
-basic array_diff_key test
---FILE--
-<?php
-$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red", "");
-$array2 = array("a" => "green", "yellow", "red", TRUE);
-$array3 = array("red", "a"=>"brown", "");
-$result[] = array_diff_key($array1, $array2);
-$result[] = array_diff_key($array1, $array3);
-$result[] = array_diff_key($array2, $array3);
-$result[] = array_diff_key($array1, $array2, $array3);
-
-var_dump($result);
-
-?>
---EXPECT--
-array(4) {
-  [0]=>
-  array(2) {
-    ["b"]=>
-    string(5) "brown"
-    ["c"]=>
-    string(4) "blue"
-  }
-  [1]=>
-  array(2) {
-    ["b"]=>
-    string(5) "brown"
-    ["c"]=>
-    string(4) "blue"
-  }
-  [2]=>
-  array(1) {
-    [2]=>
-    bool(true)
-  }
-  [3]=>
-  array(2) {
-    ["b"]=>
-    string(5) "brown"
-    ["c"]=>
-    string(4) "blue"
-  }
-}
+--TEST--
+basic array_diff_key test
+--FILE--
+<?php
+$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red", "");
+$array2 = array("a" => "green", "yellow", "red", TRUE);
+$array3 = array("red", "a"=>"brown", "");
+$result[] = array_diff_key($array1, $array2);
+$result[] = array_diff_key($array1, $array3);
+$result[] = array_diff_key($array2, $array3);
+$result[] = array_diff_key($array1, $array2, $array3);
+
+var_dump($result);
+
+?>
+--EXPECT--
+array(4) {
+  [0]=>
+  array(2) {
+    ["b"]=>
+    string(5) "brown"
+    ["c"]=>
+    string(4) "blue"
+  }
+  [1]=>
+  array(2) {
+    ["b"]=>
+    string(5) "brown"
+    ["c"]=>
+    string(4) "blue"
+  }
+  [2]=>
+  array(1) {
+    [2]=>
+    bool(true)
+  }
+  [3]=>
+  array(2) {
+    ["b"]=>
+    string(5) "brown"
+    ["c"]=>
+    string(4) "blue"
+  }
+}
diff --git a/ext/standard/tests/array/array_fill.phpt b/ext/standard/tests/array/array_fill.phpt
index 8220ef4..1de7c31 100644
--- a/ext/standard/tests/array/array_fill.phpt
+++ b/ext/standard/tests/array/array_fill.phpt
@@ -1,366 +1,366 @@
---TEST--
-basic array_fill test
---FILE--
-<?php
-$array1 = array(0.0, 1, 2.5);
-$array2 = array(TRUE, FALSE, NULL, "d", "e", "f");
-foreach($array1 as $start)
-{
-   foreach($array1 as $num)
-   {
-      foreach($array2 as $value)
-      {
-         echo '==========================='."\n";
-	 echo 'start: '.$start.' num: '.$num.' value: '.$value."\n";
-  	 $output = array_fill($start, $num, $value);
-	 var_dump($output);
-      }
-   }
-}
-echo '== Done ==';
-?>
-===============Done====================
---EXPECTF--
-===========================
-start: 0 num: 0 value: 1
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 0 num: 0 value: 
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 0 num: 0 value: 
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 0 num: 0 value: d
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 0 num: 0 value: e
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 0 num: 0 value: f
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 0 num: 1 value: 1
-array(1) {
-  [0]=>
-  bool(true)
-}
-===========================
-start: 0 num: 1 value: 
-array(1) {
-  [0]=>
-  bool(false)
-}
-===========================
-start: 0 num: 1 value: 
-array(1) {
-  [0]=>
-  NULL
-}
-===========================
-start: 0 num: 1 value: d
-array(1) {
-  [0]=>
-  string(1) "d"
-}
-===========================
-start: 0 num: 1 value: e
-array(1) {
-  [0]=>
-  string(1) "e"
-}
-===========================
-start: 0 num: 1 value: f
-array(1) {
-  [0]=>
-  string(1) "f"
-}
-===========================
-start: 0 num: 2.5 value: 1
-array(2) {
-  [0]=>
-  bool(true)
-  [1]=>
-  bool(true)
-}
-===========================
-start: 0 num: 2.5 value: 
-array(2) {
-  [0]=>
-  bool(false)
-  [1]=>
-  bool(false)
-}
-===========================
-start: 0 num: 2.5 value: 
-array(2) {
-  [0]=>
-  NULL
-  [1]=>
-  NULL
-}
-===========================
-start: 0 num: 2.5 value: d
-array(2) {
-  [0]=>
-  string(1) "d"
-  [1]=>
-  string(1) "d"
-}
-===========================
-start: 0 num: 2.5 value: e
-array(2) {
-  [0]=>
-  string(1) "e"
-  [1]=>
-  string(1) "e"
-}
-===========================
-start: 0 num: 2.5 value: f
-array(2) {
-  [0]=>
-  string(1) "f"
-  [1]=>
-  string(1) "f"
-}
-===========================
-start: 1 num: 0 value: 1
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 1 num: 0 value: 
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 1 num: 0 value: 
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 1 num: 0 value: d
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 1 num: 0 value: e
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 1 num: 0 value: f
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 1 num: 1 value: 1
-array(1) {
-  [1]=>
-  bool(true)
-}
-===========================
-start: 1 num: 1 value: 
-array(1) {
-  [1]=>
-  bool(false)
-}
-===========================
-start: 1 num: 1 value: 
-array(1) {
-  [1]=>
-  NULL
-}
-===========================
-start: 1 num: 1 value: d
-array(1) {
-  [1]=>
-  string(1) "d"
-}
-===========================
-start: 1 num: 1 value: e
-array(1) {
-  [1]=>
-  string(1) "e"
-}
-===========================
-start: 1 num: 1 value: f
-array(1) {
-  [1]=>
-  string(1) "f"
-}
-===========================
-start: 1 num: 2.5 value: 1
-array(2) {
-  [1]=>
-  bool(true)
-  [2]=>
-  bool(true)
-}
-===========================
-start: 1 num: 2.5 value: 
-array(2) {
-  [1]=>
-  bool(false)
-  [2]=>
-  bool(false)
-}
-===========================
-start: 1 num: 2.5 value: 
-array(2) {
-  [1]=>
-  NULL
-  [2]=>
-  NULL
-}
-===========================
-start: 1 num: 2.5 value: d
-array(2) {
-  [1]=>
-  string(1) "d"
-  [2]=>
-  string(1) "d"
-}
-===========================
-start: 1 num: 2.5 value: e
-array(2) {
-  [1]=>
-  string(1) "e"
-  [2]=>
-  string(1) "e"
-}
-===========================
-start: 1 num: 2.5 value: f
-array(2) {
-  [1]=>
-  string(1) "f"
-  [2]=>
-  string(1) "f"
-}
-===========================
-start: 2.5 num: 0 value: 1
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 2.5 num: 0 value: 
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 2.5 num: 0 value: 
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 2.5 num: 0 value: d
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 2.5 num: 0 value: e
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 2.5 num: 0 value: f
-
-Warning: array_fill(): Number of elements must be positive in %s on line %d
-bool(false)
-===========================
-start: 2.5 num: 1 value: 1
-array(1) {
-  [2]=>
-  bool(true)
-}
-===========================
-start: 2.5 num: 1 value: 
-array(1) {
-  [2]=>
-  bool(false)
-}
-===========================
-start: 2.5 num: 1 value: 
-array(1) {
-  [2]=>
-  NULL
-}
-===========================
-start: 2.5 num: 1 value: d
-array(1) {
-  [2]=>
-  string(1) "d"
-}
-===========================
-start: 2.5 num: 1 value: e
-array(1) {
-  [2]=>
-  string(1) "e"
-}
-===========================
-start: 2.5 num: 1 value: f
-array(1) {
-  [2]=>
-  string(1) "f"
-}
-===========================
-start: 2.5 num: 2.5 value: 1
-array(2) {
-  [2]=>
-  bool(true)
-  [3]=>
-  bool(true)
-}
-===========================
-start: 2.5 num: 2.5 value: 
-array(2) {
-  [2]=>
-  bool(false)
-  [3]=>
-  bool(false)
-}
-===========================
-start: 2.5 num: 2.5 value: 
-array(2) {
-  [2]=>
-  NULL
-  [3]=>
-  NULL
-}
-===========================
-start: 2.5 num: 2.5 value: d
-array(2) {
-  [2]=>
-  string(1) "d"
-  [3]=>
-  string(1) "d"
-}
-===========================
-start: 2.5 num: 2.5 value: e
-array(2) {
-  [2]=>
-  string(1) "e"
-  [3]=>
-  string(1) "e"
-}
-===========================
-start: 2.5 num: 2.5 value: f
-array(2) {
-  [2]=>
-  string(1) "f"
-  [3]=>
-  string(1) "f"
-}
-== Done =================Done====================
+--TEST--
+basic array_fill test
+--FILE--
+<?php
+$array1 = array(0.0, 1, 2.5);
+$array2 = array(TRUE, FALSE, NULL, "d", "e", "f");
+foreach($array1 as $start)
+{
+   foreach($array1 as $num)
+   {
+      foreach($array2 as $value)
+      {
+         echo '==========================='."\n";
+	 echo 'start: '.$start.' num: '.$num.' value: '.$value."\n";
+  	 $output = array_fill($start, $num, $value);
+	 var_dump($output);
+      }
+   }
+}
+echo '== Done ==';
+?>
+===============Done====================
+--EXPECTF--
+===========================
+start: 0 num: 0 value: 1
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: d
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: e
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 0 value: f
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 0 num: 1 value: 1
+array(1) {
+  [0]=>
+  bool(true)
+}
+===========================
+start: 0 num: 1 value: 
+array(1) {
+  [0]=>
+  bool(false)
+}
+===========================
+start: 0 num: 1 value: 
+array(1) {
+  [0]=>
+  NULL
+}
+===========================
+start: 0 num: 1 value: d
+array(1) {
+  [0]=>
+  string(1) "d"
+}
+===========================
+start: 0 num: 1 value: e
+array(1) {
+  [0]=>
+  string(1) "e"
+}
+===========================
+start: 0 num: 1 value: f
+array(1) {
+  [0]=>
+  string(1) "f"
+}
+===========================
+start: 0 num: 2.5 value: 1
+array(2) {
+  [0]=>
+  bool(true)
+  [1]=>
+  bool(true)
+}
+===========================
+start: 0 num: 2.5 value: 
+array(2) {
+  [0]=>
+  bool(false)
+  [1]=>
+  bool(false)
+}
+===========================
+start: 0 num: 2.5 value: 
+array(2) {
+  [0]=>
+  NULL
+  [1]=>
+  NULL
+}
+===========================
+start: 0 num: 2.5 value: d
+array(2) {
+  [0]=>
+  string(1) "d"
+  [1]=>
+  string(1) "d"
+}
+===========================
+start: 0 num: 2.5 value: e
+array(2) {
+  [0]=>
+  string(1) "e"
+  [1]=>
+  string(1) "e"
+}
+===========================
+start: 0 num: 2.5 value: f
+array(2) {
+  [0]=>
+  string(1) "f"
+  [1]=>
+  string(1) "f"
+}
+===========================
+start: 1 num: 0 value: 1
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: d
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: e
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 0 value: f
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 1 num: 1 value: 1
+array(1) {
+  [1]=>
+  bool(true)
+}
+===========================
+start: 1 num: 1 value: 
+array(1) {
+  [1]=>
+  bool(false)
+}
+===========================
+start: 1 num: 1 value: 
+array(1) {
+  [1]=>
+  NULL
+}
+===========================
+start: 1 num: 1 value: d
+array(1) {
+  [1]=>
+  string(1) "d"
+}
+===========================
+start: 1 num: 1 value: e
+array(1) {
+  [1]=>
+  string(1) "e"
+}
+===========================
+start: 1 num: 1 value: f
+array(1) {
+  [1]=>
+  string(1) "f"
+}
+===========================
+start: 1 num: 2.5 value: 1
+array(2) {
+  [1]=>
+  bool(true)
+  [2]=>
+  bool(true)
+}
+===========================
+start: 1 num: 2.5 value: 
+array(2) {
+  [1]=>
+  bool(false)
+  [2]=>
+  bool(false)
+}
+===========================
+start: 1 num: 2.5 value: 
+array(2) {
+  [1]=>
+  NULL
+  [2]=>
+  NULL
+}
+===========================
+start: 1 num: 2.5 value: d
+array(2) {
+  [1]=>
+  string(1) "d"
+  [2]=>
+  string(1) "d"
+}
+===========================
+start: 1 num: 2.5 value: e
+array(2) {
+  [1]=>
+  string(1) "e"
+  [2]=>
+  string(1) "e"
+}
+===========================
+start: 1 num: 2.5 value: f
+array(2) {
+  [1]=>
+  string(1) "f"
+  [2]=>
+  string(1) "f"
+}
+===========================
+start: 2.5 num: 0 value: 1
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: 
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: d
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: e
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 0 value: f
+
+Warning: array_fill(): Number of elements must be positive in %s on line %d
+bool(false)
+===========================
+start: 2.5 num: 1 value: 1
+array(1) {
+  [2]=>
+  bool(true)
+}
+===========================
+start: 2.5 num: 1 value: 
+array(1) {
+  [2]=>
+  bool(false)
+}
+===========================
+start: 2.5 num: 1 value: 
+array(1) {
+  [2]=>
+  NULL
+}
+===========================
+start: 2.5 num: 1 value: d
+array(1) {
+  [2]=>
+  string(1) "d"
+}
+===========================
+start: 2.5 num: 1 value: e
+array(1) {
+  [2]=>
+  string(1) "e"
+}
+===========================
+start: 2.5 num: 1 value: f
+array(1) {
+  [2]=>
+  string(1) "f"
+}
+===========================
+start: 2.5 num: 2.5 value: 1
+array(2) {
+  [2]=>
+  bool(true)
+  [3]=>
+  bool(true)
+}
+===========================
+start: 2.5 num: 2.5 value: 
+array(2) {
+  [2]=>
+  bool(false)
+  [3]=>
+  bool(false)
+}
+===========================
+start: 2.5 num: 2.5 value: 
+array(2) {
+  [2]=>
+  NULL
+  [3]=>
+  NULL
+}
+===========================
+start: 2.5 num: 2.5 value: d
+array(2) {
+  [2]=>
+  string(1) "d"
+  [3]=>
+  string(1) "d"
+}
+===========================
+start: 2.5 num: 2.5 value: e
+array(2) {
+  [2]=>
+  string(1) "e"
+  [3]=>
+  string(1) "e"
+}
+===========================
+start: 2.5 num: 2.5 value: f
+array(2) {
+  [2]=>
+  string(1) "f"
+  [3]=>
+  string(1) "f"
+}
+== Done =================Done====================
diff --git a/ext/standard/tests/array/array_filter.phpt b/ext/standard/tests/array/array_filter.phpt
index c470c26..dcedb2e 100644
--- a/ext/standard/tests/array/array_filter.phpt
+++ b/ext/standard/tests/array/array_filter.phpt
@@ -1,93 +1,93 @@
---TEST--
-basic array_filter test
---FILE--
-<?php
-function odd($var)
-{
-   return($var & 1);
-}
-
-function even($var)
-{
-   return(!($var & 1));
-}
-
-$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
-$array2 = array(6, 7, 8, 9, 10, 11, 12, 0);
-$array3 = array(TRUE, FALSE, NULL);
-
-echo "Odd :\n";
-var_dump(array_filter($array1, "odd"));
-var_dump(array_filter($array2, "odd"));
-var_dump(array_filter($array3, "odd"));
-echo "Even:\n";
-var_dump(array_filter($array1, "even"));
-var_dump(array_filter($array2, "even"));
-var_dump(array_filter($array3, "even"));
-
-var_dump(array_filter(array()));
-var_dump(array_filter(array(), array()));
-var_dump(array_filter("", null));
-var_dump(array_filter($array1, 1));
-
-echo '== DONE ==';
-?> 
---EXPECTF--
-Odd :
-array(3) {
-  ["a"]=>
-  int(1)
-  ["c"]=>
-  int(3)
-  ["e"]=>
-  int(5)
-}
-array(3) {
-  [1]=>
-  int(7)
-  [3]=>
-  int(9)
-  [5]=>
-  int(11)
-}
-array(1) {
-  [0]=>
-  bool(true)
-}
-Even:
-array(2) {
-  ["b"]=>
-  int(2)
-  ["d"]=>
-  int(4)
-}
-array(5) {
-  [0]=>
-  int(6)
-  [2]=>
-  int(8)
-  [4]=>
-  int(10)
-  [6]=>
-  int(12)
-  [7]=>
-  int(0)
-}
-array(2) {
-  [1]=>
-  bool(false)
-  [2]=>
-  NULL
-}
-array(0) {
-}
-
-Warning: array_filter(): The second argument, 'Array', should be a valid callback in %s on line %d
-NULL
-
-Warning: array_filter(): The first argument should be an array in %s on line %d
-NULL
-
-Warning: array_filter(): The second argument, '1', should be a valid callback in %s on line %d
-NULL
-== DONE ==
+--TEST--
+basic array_filter test
+--FILE--
+<?php
+function odd($var)
+{
+   return($var & 1);
+}
+
+function even($var)
+{
+   return(!($var & 1));
+}
+
+$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
+$array2 = array(6, 7, 8, 9, 10, 11, 12, 0);
+$array3 = array(TRUE, FALSE, NULL);
+
+echo "Odd :\n";
+var_dump(array_filter($array1, "odd"));
+var_dump(array_filter($array2, "odd"));
+var_dump(array_filter($array3, "odd"));
+echo "Even:\n";
+var_dump(array_filter($array1, "even"));
+var_dump(array_filter($array2, "even"));
+var_dump(array_filter($array3, "even"));
+
+var_dump(array_filter(array()));
+var_dump(array_filter(array(), array()));
+var_dump(array_filter("", null));
+var_dump(array_filter($array1, 1));
+
+echo '== DONE ==';
+?> 
+--EXPECTF--
+Odd :
+array(3) {
+  ["a"]=>
+  int(1)
+  ["c"]=>
+  int(3)
+  ["e"]=>
+  int(5)
+}
+array(3) {
+  [1]=>
+  int(7)
+  [3]=>
+  int(9)
+  [5]=>
+  int(11)
+}
+array(1) {
+  [0]=>
+  bool(true)
+}
+Even:
+array(2) {
+  ["b"]=>
+  int(2)
+  ["d"]=>
+  int(4)
+}
+array(5) {
+  [0]=>
+  int(6)
+  [2]=>
+  int(8)
+  [4]=>
+  int(10)
+  [6]=>
+  int(12)
+  [7]=>
+  int(0)
+}
+array(2) {
+  [1]=>
+  bool(false)
+  [2]=>
+  NULL
+}
+array(0) {
+}
+
+Warning: array_filter(): The second argument, 'Array', should be a valid callback in %s on line %d
+NULL
+
+Warning: array_filter(): The first argument should be an array in %s on line %d
+NULL
+
+Warning: array_filter(): The second argument, '1', should be a valid callback in %s on line %d
+NULL
+== DONE ==
diff --git a/ext/standard/tests/array/array_flip.phpt b/ext/standard/tests/array/array_flip.phpt
index af26fd8..8d8622c 100644
--- a/ext/standard/tests/array/array_flip.phpt
+++ b/ext/standard/tests/array/array_flip.phpt
@@ -1,58 +1,58 @@
---TEST--
-basic array_flip test
---FILE--
-<?php
-$trans = array("a" => 1, 
-               "b" => 1, 
-               "c" => 2, 
-               "z" => 0, 
-               "d" => TRUE, 
-               "E" => FALSE, 
-               "F" => NULL, 
-               0 => "G", 
-               1 => "h", 
-               2 => "i");
-$trans = array_flip($trans);
-var_dump($trans);
-
-var_dump(array_flip());
-var_dump(array_flip(array()));
-var_dump(array_flip(array(1)));
-var_dump(array_flip(array(array())));
-
-echo "Done\n";
-?>
---EXPECTF--
-Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
-
-Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
-
-Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
-array(6) {
-  [1]=>
-  string(1) "b"
-  [2]=>
-  string(1) "c"
-  [0]=>
-  string(1) "z"
-  ["G"]=>
-  int(0)
-  ["h"]=>
-  int(1)
-  ["i"]=>
-  int(2)
-}
-
-Warning: Wrong parameter count for array_flip() in %s on line %d
-NULL
-array(0) {
-}
-array(1) {
-  [1]=>
-  int(0)
-}
-
-Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
-array(0) {
-}
-Done
+--TEST--
+basic array_flip test
+--FILE--
+<?php
+$trans = array("a" => 1, 
+               "b" => 1, 
+               "c" => 2, 
+               "z" => 0, 
+               "d" => TRUE, 
+               "E" => FALSE, 
+               "F" => NULL, 
+               0 => "G", 
+               1 => "h", 
+               2 => "i");
+$trans = array_flip($trans);
+var_dump($trans);
+
+var_dump(array_flip());
+var_dump(array_flip(array()));
+var_dump(array_flip(array(1)));
+var_dump(array_flip(array(array())));
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+array(6) {
+  [1]=>
+  string(1) "b"
+  [2]=>
+  string(1) "c"
+  [0]=>
+  string(1) "z"
+  ["G"]=>
+  int(0)
+  ["h"]=>
+  int(1)
+  ["i"]=>
+  int(2)
+}
+
+Warning: Wrong parameter count for array_flip() in %s on line %d
+NULL
+array(0) {
+}
+array(1) {
+  [1]=>
+  int(0)
+}
+
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+array(0) {
+}
+Done
diff --git a/ext/standard/tests/array/array_product_error.phpt b/ext/standard/tests/array/array_product_error.phpt
index fd2cfc4..6435eaf 100644
--- a/ext/standard/tests/array/array_product_error.phpt
+++ b/ext/standard/tests/array/array_product_error.phpt
@@ -1,45 +1,45 @@
---TEST--
-Test array_product() function : error conditions 
---FILE--
-<?php
-/* Prototype  : mixed array_product(array input)
- * Description: Returns the product of the array entries 
- * Source code: ext/standard/array.c
- * Alias to functions: 
- */
-
-echo "*** Testing array_product() : error conditions ***\n";
-
-// Zero arguments
-echo "\n-- Testing array_product() function with Zero arguments --\n";
-var_dump( array_product() );
-
-//Test array_product with one more than the expected number of arguments
-echo "\n-- Testing array_product() function with more than expected no. of arguments --\n";
-$input = array(1, 2);
-$extra_arg = 10;
-var_dump( array_product($input, $extra_arg) );
-
-echo "\n-- Testing array_product() function incorrect argument type --\n";
-var_dump( array_product("bob") );
-
-?>
-===DONE===
---EXPECTF--
-*** Testing array_product() : error conditions ***
-
--- Testing array_product() function with Zero arguments --
-
-Warning: Wrong parameter count for array_product() in %sarray_product_error.php on line %d
-NULL
-
--- Testing array_product() function with more than expected no. of arguments --
-
-Warning: Wrong parameter count for array_product() in %sarray_product_error.php on line %d
-NULL
-
--- Testing array_product() function incorrect argument type --
-
-Warning: array_product(): The argument should be an array in %sarray_product_error.php on line %d
-NULL
+--TEST--
+Test array_product() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : mixed array_product(array input)
+ * Description: Returns the product of the array entries 
+ * Source code: ext/standard/array.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing array_product() : error conditions ***\n";
+
+// Zero arguments
+echo "\n-- Testing array_product() function with Zero arguments --\n";
+var_dump( array_product() );
+
+//Test array_product with one more than the expected number of arguments
+echo "\n-- Testing array_product() function with more than expected no. of arguments --\n";
+$input = array(1, 2);
+$extra_arg = 10;
+var_dump( array_product($input, $extra_arg) );
+
+echo "\n-- Testing array_product() function incorrect argument type --\n";
+var_dump( array_product("bob") );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing array_product() : error conditions ***
+
+-- Testing array_product() function with Zero arguments --
+
+Warning: Wrong parameter count for array_product() in %sarray_product_error.php on line %d
+NULL
+
+-- Testing array_product() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for array_product() in %sarray_product_error.php on line %d
+NULL
+
+-- Testing array_product() function incorrect argument type --
+
+Warning: array_product(): The argument should be an array in %sarray_product_error.php on line %d
+NULL
 ===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/array/array_product_variation1.phpt b/ext/standard/tests/array/array_product_variation1.phpt
index 1d47fa5..cd2ed71 100644
--- a/ext/standard/tests/array/array_product_variation1.phpt
+++ b/ext/standard/tests/array/array_product_variation1.phpt
@@ -1,58 +1,58 @@
---TEST--
-Test array_product() function : variation 
---FILE--
-<?php
-/* Prototype  : mixed array_product(array input)
- * Description: Returns the product of the array entries 
- * Source code: ext/standard/array.c
- * Alias to functions: 
- */
-
-echo "*** Testing array_product() : variation - using non numeric values ***\n";
-
-class A {
-  static function help() { echo "hello\n"; }
-}
-$fp = fopen(__FILE__, "r");
-
-$types = array("boolean (true)" => true, "boolean (false)" => false, 
-       "string" => "hello", "numeric string" =>  "12",
-       "resource" => $fp, "object" => new A(), "null" => null,
-       "array" => array(3,2));
-
-foreach ($types as $desc => $type) {
-  echo $desc . "\n";
-  var_dump(array_product(array($type)));
-  echo "\n";
-}
-
-fclose($fp);
-?>
-===DONE===
---EXPECTF--
-*** Testing array_product() : variation - using non numeric values ***
-boolean (true)
-int(1)
-
-boolean (false)
-int(0)
-
-string
-int(0)
-
-numeric string
-int(12)
-
-resource
-int(%d)
-
-object
-int(1)
-
-null
-int(0)
-
-array
-int(1)
-
+--TEST--
+Test array_product() function : variation 
+--FILE--
+<?php
+/* Prototype  : mixed array_product(array input)
+ * Description: Returns the product of the array entries 
+ * Source code: ext/standard/array.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing array_product() : variation - using non numeric values ***\n";
+
+class A {
+  static function help() { echo "hello\n"; }
+}
+$fp = fopen(__FILE__, "r");
+
+$types = array("boolean (true)" => true, "boolean (false)" => false, 
+       "string" => "hello", "numeric string" =>  "12",
+       "resource" => $fp, "object" => new A(), "null" => null,
+       "array" => array(3,2));
+
+foreach ($types as $desc => $type) {
+  echo $desc . "\n";
+  var_dump(array_product(array($type)));
+  echo "\n";
+}
+
+fclose($fp);
+?>
+===DONE===
+--EXPECTF--
+*** Testing array_product() : variation - using non numeric values ***
+boolean (true)
+int(1)
+
+boolean (false)
+int(0)
+
+string
+int(0)
+
+numeric string
+int(12)
+
+resource
+int(%d)
+
+object
+int(1)
+
+null
+int(0)
+
+array
+int(1)
+
 ===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/array/array_product_variation2.phpt b/ext/standard/tests/array/array_product_variation2.phpt
index 186987b..94a5450 100644
--- a/ext/standard/tests/array/array_product_variation2.phpt
+++ b/ext/standard/tests/array/array_product_variation2.phpt
@@ -1,22 +1,22 @@
---TEST--
-Test array_product() function : variation - using a keyed array
---FILE--
-<?php
-/* Prototype  : mixed array_product(array input)
- * Description: Returns the product of the array entries 
- * Source code: ext/standard/array.c
- * Alias to functions: 
- */
-
-echo "*** Testing array_product() : variations ***\n";
-
-echo "\n-- Testing array_product() function with a keyed array --\n";
-var_dump( array_product(array("bob" => 2, "janet" => 5)) );
-?>
-===DONE===
---EXPECTF--
-*** Testing array_product() : variations ***
-
--- Testing array_product() function with a keyed array --
-int(10)
-===DONE===
+--TEST--
+Test array_product() function : variation - using a keyed array
+--FILE--
+<?php
+/* Prototype  : mixed array_product(array input)
+ * Description: Returns the product of the array entries 
+ * Source code: ext/standard/array.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing array_product() : variations ***\n";
+
+echo "\n-- Testing array_product() function with a keyed array --\n";
+var_dump( array_product(array("bob" => 2, "janet" => 5)) );
+?>
+===DONE===
+--EXPECTF--
+*** Testing array_product() : variations ***
+
+-- Testing array_product() function with a keyed array --
+int(10)
+===DONE===
diff --git a/ext/standard/tests/array/array_product_variation3.phpt b/ext/standard/tests/array/array_product_variation3.phpt
index 33f8110..87b7be7 100644
--- a/ext/standard/tests/array/array_product_variation3.phpt
+++ b/ext/standard/tests/array/array_product_variation3.phpt
@@ -1,48 +1,48 @@
---TEST--
-Test array_product() function : variation - negative numbers
---FILE--
-<?php
-/* Prototype  : mixed array_product(array input)
- * Description: Returns the product of the array entries 
- * Source code: ext/standard/array.c
- * Alias to functions: 
- */
-
-echo "*** Testing array_product() : variations - negative numbers***\n";
-
-echo "\n-- Testing array_product() function with one negative number --\n";
-var_dump( array_product(array(-2)) );
-
-echo "\n-- Testing array_product() function with two negative numbers --\n";
-var_dump( array_product(array(-2, -3)) );
-
-echo "\n-- Testing array_product() function with three negative numbers --\n";
-var_dump( array_product(array(-2, -3, -4)) );
-
-echo "\n-- Testing array_product() function with negative floats --\n";
-var_dump( array_product(array(-1.5)));
-
-echo "\n-- Testing array_product() function with negative floats --\n";
-var_dump( array_product(array(-99999999.9, 99999999.1)));
-
-
-?>
-===DONE===
---EXPECTF--
-*** Testing array_product() : variations - negative numbers***
-
--- Testing array_product() function with one negative number --
-int(-2)
-
--- Testing array_product() function with two negative numbers --
-int(6)
-
--- Testing array_product() function with three negative numbers --
-int(-24)
-
--- Testing array_product() function with negative floats --
-float(-1.5)
-
--- Testing array_product() function with negative floats --
-float(-9.9999999E+15)
+--TEST--
+Test array_product() function : variation - negative numbers
+--FILE--
+<?php
+/* Prototype  : mixed array_product(array input)
+ * Description: Returns the product of the array entries 
+ * Source code: ext/standard/array.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing array_product() : variations - negative numbers***\n";
+
+echo "\n-- Testing array_product() function with one negative number --\n";
+var_dump( array_product(array(-2)) );
+
+echo "\n-- Testing array_product() function with two negative numbers --\n";
+var_dump( array_product(array(-2, -3)) );
+
+echo "\n-- Testing array_product() function with three negative numbers --\n";
+var_dump( array_product(array(-2, -3, -4)) );
+
+echo "\n-- Testing array_product() function with negative floats --\n";
+var_dump( array_product(array(-1.5)));
+
+echo "\n-- Testing array_product() function with negative floats --\n";
+var_dump( array_product(array(-99999999.9, 99999999.1)));
+
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing array_product() : variations - negative numbers***
+
+-- Testing array_product() function with one negative number --
+int(-2)
+
+-- Testing array_product() function with two negative numbers --
+int(6)
+
+-- Testing array_product() function with three negative numbers --
+int(-24)
+
+-- Testing array_product() function with negative floats --
+float(-1.5)
+
+-- Testing array_product() function with negative floats --
+float(-9.9999999E+15)
 ===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/array/array_product_variation4.phpt b/ext/standard/tests/array/array_product_variation4.phpt
index 1493bbd..a018611 100644
--- a/ext/standard/tests/array/array_product_variation4.phpt
+++ b/ext/standard/tests/array/array_product_variation4.phpt
@@ -1,29 +1,29 @@
---TEST--
-Test array_product() function : variation - testing with a very large array
---FILE--
-<?php
-/* Prototype  : mixed array_product(array input)
- * Description: Returns the product of the array entries 
- * Source code: ext/standard/array.c
- * Alias to functions: 
- */
-
-echo "*** Testing array_product() : variations ***\n";
-
-echo "\n-- Testing array_product() function with a very large array --\n";
-
-$array = array();
-
-for ($i = 0; $i < 999; $i++) {
-  $array[] = 999;
-}
-
-var_dump( array_product($array) );
-?>
-===DONE===
---EXPECTF--
-*** Testing array_product() : variations ***
-
--- Testing array_product() function with a very large array --
-float(INF)
-===DONE===
+--TEST--
+Test array_product() function : variation - testing with a very large array
+--FILE--
+<?php
+/* Prototype  : mixed array_product(array input)
+ * Description: Returns the product of the array entries 
+ * Source code: ext/standard/array.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing array_product() : variations ***\n";
+
+echo "\n-- Testing array_product() function with a very large array --\n";
+
+$array = array();
+
+for ($i = 0; $i < 999; $i++) {
+  $array[] = 999;
+}
+
+var_dump( array_product($array) );
+?>
+===DONE===
+--EXPECTF--
+*** Testing array_product() : variations ***
+
+-- Testing array_product() function with a very large array --
+float(INF)
+===DONE===
diff --git a/ext/standard/tests/array/array_product_variation5.phpt b/ext/standard/tests/array/array_product_variation5.phpt
index c938ad4..ed22a3a 100644
--- a/ext/standard/tests/array/array_product_variation5.phpt
+++ b/ext/standard/tests/array/array_product_variation5.phpt
@@ -1,223 +1,223 @@
---TEST--
-Test array_product() function : usage variation 
---FILE--
-<?php
-/* Prototype  : mixed array_product(array input)
- * Description: Returns the product of the array entries 
- * Source code: ext/standard/array.c
- * Alias to functions: 
- */
-
-echo "*** Testing array_product() : usage variation ***\n";
-
-// Initialise function arguments not being substituted (if any)
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// define some classes
-class classWithToString
-{
-	public function __toString() {
-		return "Class A object";
-	}
-}
-
-class classWithoutToString
-{
-}
-
-// heredoc string
-$heredoc = <<<EOT
-hello world
-EOT;
-
-// add arrays
-$index_array = array (1, 2, 3);
-$assoc_array = array ('one' => 1, 'two' => 2);
-
-//array of values to iterate over
-$inputs = array(
-
-      // int data
-      'int 0' => 0,
-      'int 1' => 1,
-      'int 12345' => 12345,
-      'int -12345' => -2345,
-
-      // float data
-      'float 10.5' => 10.5,
-      'float -10.5' => -10.5,
-      'float 12.3456789000e10' => 12.3456789000e10,
-      'float -12.3456789000e10' => -12.3456789000e10,
-      'float .5' => .5,
-
-      // null data
-      'uppercase NULL' => NULL,
-      'lowercase null' => null,
-
-      // boolean data
-      'lowercase true' => true,
-      'lowercase false' =>false,
-      'uppercase TRUE' =>TRUE,
-      'uppercase FALSE' =>FALSE,
-
-      // empty data
-      'empty string DQ' => "",
-      'empty string SQ' => '',
-
-      // string data
-      'string DQ' => "string",
-      'string SQ' => 'string',
-      'mixed case string' => "sTrInG",
-      'heredoc' => $heredoc,
-
-      // object data
-      'instance of classWithToString' => new classWithToString(),
-      'instance of classWithoutToString' => new classWithoutToString(),
-
-      // undefined data
-      'undefined var' => @$undefined_var,
-
-      // unset data
-      'unset var' => @$unset_var,
-);
-
-// loop through each element of the array for input
-
-foreach($inputs as $key =>$value) {
-      echo "\n--$key--\n";
-      var_dump( array_product($value) );
-};
-
-?>
-===DONE===
---EXPECTF--
-*** Testing array_product() : usage variation ***
-
---int 0--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---int 1--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---int 12345--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---int -12345--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---float 10.5--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---float -10.5--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---float 12.3456789000e10--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---float -12.3456789000e10--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---float .5--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---uppercase NULL--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---lowercase null--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---lowercase true--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---lowercase false--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---uppercase TRUE--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---uppercase FALSE--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---empty string DQ--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---empty string SQ--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---string DQ--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---string SQ--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---mixed case string--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---heredoc--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---instance of classWithToString--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---instance of classWithoutToString--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---undefined var--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
-
---unset var--
-
-Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
-NULL
+--TEST--
+Test array_product() function : usage variation 
+--FILE--
+<?php
+/* Prototype  : mixed array_product(array input)
+ * Description: Returns the product of the array entries 
+ * Source code: ext/standard/array.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing array_product() : usage variation ***\n";
+
+// Initialise function arguments not being substituted (if any)
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// define some classes
+class classWithToString
+{
+	public function __toString() {
+		return "Class A object";
+	}
+}
+
+class classWithoutToString
+{
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// add arrays
+$index_array = array (1, 2, 3);
+$assoc_array = array ('one' => 1, 'two' => 2);
+
+//array of values to iterate over
+$inputs = array(
+
+      // int data
+      'int 0' => 0,
+      'int 1' => 1,
+      'int 12345' => 12345,
+      'int -12345' => -2345,
+
+      // float data
+      'float 10.5' => 10.5,
+      'float -10.5' => -10.5,
+      'float 12.3456789000e10' => 12.3456789000e10,
+      'float -12.3456789000e10' => -12.3456789000e10,
+      'float .5' => .5,
+
+      // null data
+      'uppercase NULL' => NULL,
+      'lowercase null' => null,
+
+      // boolean data
+      'lowercase true' => true,
+      'lowercase false' =>false,
+      'uppercase TRUE' =>TRUE,
+      'uppercase FALSE' =>FALSE,
+
+      // empty data
+      'empty string DQ' => "",
+      'empty string SQ' => '',
+
+      // string data
+      'string DQ' => "string",
+      'string SQ' => 'string',
+      'mixed case string' => "sTrInG",
+      'heredoc' => $heredoc,
+
+      // object data
+      'instance of classWithToString' => new classWithToString(),
+      'instance of classWithoutToString' => new classWithoutToString(),
+
+      // undefined data
+      'undefined var' => @$undefined_var,
+
+      // unset data
+      'unset var' => @$unset_var,
+);
+
+// loop through each element of the array for input
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( array_product($value) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing array_product() : usage variation ***
+
+--int 0--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--int 1--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--int 12345--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--int -12345--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--float 10.5--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--float -10.5--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--float 12.3456789000e10--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--float -12.3456789000e10--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--float .5--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--uppercase NULL--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--lowercase null--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--lowercase true--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--lowercase false--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--uppercase TRUE--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--uppercase FALSE--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--empty string DQ--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--empty string SQ--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--string DQ--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--string SQ--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--mixed case string--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--heredoc--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--instance of classWithToString--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--instance of classWithoutToString--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--undefined var--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
+
+--unset var--
+
+Warning: array_product(): The argument should be an array in %sarray_product_variation5.php on line %d
+NULL
 ===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/array/bug33989.phpt b/ext/standard/tests/array/bug33989.phpt
index 4bb9a25..ccef172 100755
--- a/ext/standard/tests/array/bug33989.phpt
+++ b/ext/standard/tests/array/bug33989.phpt
@@ -1,10 +1,10 @@
---TEST--
-Bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP)
---FILE--
-<?php
-$a="a";
-extract($GLOBALS, EXTR_REFS);
-echo "ok\n";
-?>
---EXPECT--
-ok
+--TEST--
+Bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP)
+--FILE--
+<?php
+$a="a";
+extract($GLOBALS, EXTR_REFS);
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/ext/standard/tests/array/bug34982.phpt b/ext/standard/tests/array/bug34982.phpt
index 9024096..7a80d78 100755
--- a/ext/standard/tests/array/bug34982.phpt
+++ b/ext/standard/tests/array/bug34982.phpt
@@ -1,40 +1,40 @@
---TEST--
-Bug #34982 (array_walk_recursive() modifies elements outside function scope) 
---FILE--
-<?php
-$ar = array(
-    'element 1',
-    array('subelement1')
-    );
-
-func($ar);
-print_r($ar);
-
-function func($a) {
-  array_walk_recursive($a, 'apply');
-  print_r($a);
-}
-
-function apply(&$input, $key) {
-  $input = 'changed';
-}
-?>
---EXPECT--
-Array
-(
-    [0] => changed
-    [1] => Array
-        (
-            [0] => changed
-        )
-
-)
-Array
-(
-    [0] => element 1
-    [1] => Array
-        (
-            [0] => subelement1
-        )
-
-)
+--TEST--
+Bug #34982 (array_walk_recursive() modifies elements outside function scope) 
+--FILE--
+<?php
+$ar = array(
+    'element 1',
+    array('subelement1')
+    );
+
+func($ar);
+print_r($ar);
+
+function func($a) {
+  array_walk_recursive($a, 'apply');
+  print_r($a);
+}
+
+function apply(&$input, $key) {
+  $input = 'changed';
+}
+?>
+--EXPECT--
+Array
+(
+    [0] => changed
+    [1] => Array
+        (
+            [0] => changed
+        )
+
+)
+Array
+(
+    [0] => element 1
+    [1] => Array
+        (
+            [0] => subelement1
+        )
+
+)
diff --git a/ext/standard/tests/array/bug40709.phpt b/ext/standard/tests/array/bug40709.phpt
index 6ab6bbd..eb0c712 100644
--- a/ext/standard/tests/array/bug40709.phpt
+++ b/ext/standard/tests/array/bug40709.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Bug #40709 (array_reduce() behaves strange with one item stored arrays)
---SKIPIF--
 --FILE--
 <?php
 function CommaSeperatedList($a, $b) {
diff --git a/ext/standard/tests/array/bug44929.phpt b/ext/standard/tests/array/bug44929.phpt
index dd2b0db..efcbcda 100644
--- a/ext/standard/tests/array/bug44929.phpt
+++ b/ext/standard/tests/array/bug44929.phpt
@@ -2,20 +2,24 @@
 Bug #44929 (natsort doesn't handle leading zeros well)
 --FILE--
 <?php
-$a = array('001','008','005','00011','03','000014','-123','0.002','00','0');
+$a = array('001','008','005','00011','03','000014','-123','0.002','00','0','0_0','0-0');
 natsort($a);
 var_dump($a);
 ?>
 --EXPECT--
-array(10) {
+array(12) {
   [6]=>
   string(4) "-123"
   [8]=>
   string(2) "00"
   [9]=>
   string(1) "0"
+  [11]=>
+  string(3) "0-0"
   [7]=>
   string(5) "0.002"
+  [10]=>
+  string(3) "0_0"
   [0]=>
   string(3) "001"
   [4]=>
diff --git a/ext/standard/tests/array/key_exists_basic.phpt b/ext/standard/tests/array/key_exists_basic.phpt
new file mode 100644
index 0000000..40d982d
--- /dev/null
+++ b/ext/standard/tests/array/key_exists_basic.phpt
@@ -0,0 +1,15 @@
+--TEST--
+Test function key_exists() by calling it with its expected arguments
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+echo "*** test key_exists() by calling it with its expected arguments ***\n";
+$a = array('bar' => 1);  
+var_dump(key_exists('bar', $a));
+var_dump(key_exists('foo', $a));
+--EXPECTF--
+*** test key_exists() by calling it with its expected arguments ***
+bool(true)
+bool(false)
diff --git a/ext/standard/tests/array/key_exists_error.phpt b/ext/standard/tests/array/key_exists_error.phpt
new file mode 100644
index 0000000..07abdfd
--- /dev/null
+++ b/ext/standard/tests/array/key_exists_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Test function key_exists() by calling it more than or less than its expected arguments
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+echo "*** Test by calling method or function with incorrect numbers of arguments ***\n";
+
+$a = array('bar' => 1);  
+var_dump(key_exists());
+var_dump(key_exists('foo', $a, 'baz'));
+
+?>
+--EXPECTF--
+*** Test by calling method or function with incorrect numbers of arguments ***
+
+Warning: Wrong parameter count for key_exists() in %s.php on line %d
+NULL
+
+Warning: Wrong parameter count for key_exists() in %s.php on line %d
+NULL
diff --git a/ext/standard/tests/array/key_exists_variation1.phpt b/ext/standard/tests/array/key_exists_variation1.phpt
new file mode 100644
index 0000000..94ea8d4
--- /dev/null
+++ b/ext/standard/tests/array/key_exists_variation1.phpt
@@ -0,0 +1,15 @@
+--TEST--
+Test function key_exists() by calling it with its expected arguments
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+echo "*** test key_exists() by calling it with its expected arguments ***\n";
+$a = array('bar' => 1, 'foo' => array('bar' => 2, 'baz' => 3));  
+var_dump(key_exists('baz', $a));
+var_dump(key_exists('baz', $a['foo']));
+--EXPECTF--
+*** test key_exists() by calling it with its expected arguments ***
+bool(false)
+bool(true)
diff --git a/ext/standard/tests/array/key_exists_variation2.phpt b/ext/standard/tests/array/key_exists_variation2.phpt
new file mode 100644
index 0000000..5f5ab86
--- /dev/null
+++ b/ext/standard/tests/array/key_exists_variation2.phpt
@@ -0,0 +1,72 @@
+--TEST--
+Test function key_exists() by calling it with its expected arguments
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+echo "*** test key_exists() by using mixed type of arrays ***\n";
+
+// there is not a index = 0 element
+$a = array(1 => 'bar', 'foo' => 'baz');  
+var_dump(key_exists(0, $a));
+
+echo "integer\n";
+// 1 has index = 0
+$b = array(1, 'foo' => 'baz');  
+var_dump(key_exists(0, $b));
+
+// 42 has index = 0, netherless its position is the latest
+$c = array('foo' => 'baz', 42);  
+var_dump(key_exists(0, $c));
+
+echo "string\n";
+// 'bar' has index = 0, netherless it is a string
+$d = array('bar', 'foo' => 'baz');  
+var_dump(key_exists(0, $d));
+
+// 'baz' has index = 0, netherless its position is the latest
+$e = array('foo' => 'baz', 'baz');  
+var_dump(key_exists(0, $e));
+
+echo "obj\n";
+class ObjectA
+{
+  public $foo = 'bar';
+}
+
+$obj = new ObjectA();
+
+// object has index = 0, netherless its position is the latest
+$f = array('foo' => 'baz', $obj);  
+var_dump(key_exists(0, $f));
+
+// object has index = 0, netherless its position is the first
+$g = array($obj, 'foo' => 'baz');  
+var_dump(key_exists(0, $g));
+
+echo "stream resource\n";
+// stream resource has index = 0, netherless its position is the first
+$st = fopen('php://memory', '+r');
+$h = array($st, 'foo' => 'baz');  
+var_dump(key_exists(0, $h));
+
+// stream resource has index = 0, netherless its position is the latest
+$i = array('foo' => 'baz', $st);  
+var_dump(key_exists(0, $i));
+
+--EXPECTF--
+*** test key_exists() by using mixed type of arrays ***
+bool(false)
+integer
+bool(true)
+bool(true)
+string
+bool(true)
+bool(true)
+obj
+bool(true)
+bool(true)
+stream resource
+bool(true)
+bool(true)
diff --git a/ext/standard/tests/array/max_basiclong_64bit.phpt b/ext/standard/tests/array/max_basiclong_64bit.phpt
new file mode 100644
index 0000000..1eb7e31
--- /dev/null
+++ b/ext/standard/tests/array/max_basiclong_64bit.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Test max function : 64bit long tests
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+ 
+define("MAX_64Bit", 9223372036854775807);
+define("MAX_32Bit", 2147483647);
+define("MIN_64Bit", -MAX_64Bit - 1);
+define("MIN_32Bit", -MAX_32Bit - 1);
+
+$arrayVals = array(
+    MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+    MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+    MAX_64Bit -1, MIN_64Bit + 1
+);
+
+$longVals = array(
+    MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+    MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+    MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
+);
+
+   var_dump(max($arrayVals));
+   var_dump(max($longVals));   
+   
+?>
+===DONE===
+--EXPECT--
+int(9223372036854775807)
+int(9223372036854775807)
+===DONE===
diff --git a/ext/standard/tests/array/min_basiclong_64bit.phpt b/ext/standard/tests/array/min_basiclong_64bit.phpt
new file mode 100644
index 0000000..52f63f3
--- /dev/null
+++ b/ext/standard/tests/array/min_basiclong_64bit.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Test min function : 64bit long tests
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+ 
+define("MAX_64Bit", 9223372036854775807);
+define("MAX_32Bit", 2147483647);
+define("MIN_64Bit", -MAX_64Bit - 1);
+define("MIN_32Bit", -MAX_32Bit - 1);
+
+$arrayVals = array(
+    MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+    MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+    MAX_64Bit -1, MIN_64Bit + 1
+);
+
+$longVals = array(
+    MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+    MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+    MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
+);
+
+   var_dump(min($arrayVals));
+   var_dump(min($longVals));   
+   
+?>
+===DONE===
+--EXPECT--
+int(-9223372036854775808)
+int(-9223372036854775808)
+===DONE===
diff --git a/ext/standard/tests/array/unexpected_array_mod_bug.phpt b/ext/standard/tests/array/unexpected_array_mod_bug.phpt
new file mode 100755
index 0000000..58f2249
--- /dev/null
+++ b/ext/standard/tests/array/unexpected_array_mod_bug.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Crash when function parameter modified via reference
+--FILE--
+<?php
+function usercompare($a,$b) {
+  unset($GLOBALS['my_var'][2]); 
+  return 0;
+}
+$my_var = array(1 => "entry_1",
+2 => "entry_2",
+3 => "entry_3",
+4 => "entry_4",
+5 => "entry_5");
+usort($my_var, "usercompare");
+
+echo "Done.\n";
+?>
+--EXPECTF--
+
+Warning: usort(): Array was modified by the user comparison function in %s on line %d
+Done.
diff --git a/ext/standard/tests/dir/readdir_variation7.phpt b/ext/standard/tests/dir/readdir_variation7.phpt
index 86bd430..bff87ce 100644
--- a/ext/standard/tests/dir/readdir_variation7.phpt
+++ b/ext/standard/tests/dir/readdir_variation7.phpt
@@ -17,14 +17,6 @@ echo "*** Testing readdir() : usage variations ***\n";
 var_dump($fp = fopen(__FILE__, "r"));
 var_dump( readdir($fp) );
 
-// get file length over 256 characters
-<<<EOT
-123456789012345678901234567890
-123456789012345678901234567890
-123456789012345678901234567890
-123456789012345678901234567890
-123456789012345678901234567890
-EOT;
 ?>
 ===DONE===
 --EXPECTF--
diff --git a/ext/standard/tests/file/bug39538.phpt b/ext/standard/tests/file/bug39538.phpt
index 1724a72..71b5dea 100644
--- a/ext/standard/tests/file/bug39538.phpt
+++ b/ext/standard/tests/file/bug39538.phpt
@@ -23,10 +23,10 @@ arsed
 )
 Array
 (
-    [0] => 
+    [0] => 
 this is an test
     [1] => next data
-    [2] => p
+    [2] => p
 arsed
 )
 Array
diff --git a/ext/standard/tests/file/file_get_contents_basic001.phpt b/ext/standard/tests/file/file_get_contents_basic001.phpt
new file mode 100644
index 0000000..71b6963
--- /dev/null
+++ b/ext/standard/tests/file/file_get_contents_basic001.phpt
@@ -0,0 +1,21 @@
+--TEST--
+file_get_contents() test using basic syntax
+--CREDITS--
+"Blanche V.N." <valerie_nare at yahoo.fr>
+--FILE--
+<?php
+	$file_content = "Bienvenue au CodeFest a Montreal";
+	$temp_filename = dirname(__FILE__)."/fichier_a_lire.txt";
+	$handle = fopen($temp_filename,"w");
+	fwrite($handle,$file_content);
+	fclose($handle);
+	$var = file_get_contents($temp_filename);
+	echo $var;
+?>
+--CLEAN--
+<?php
+	$temp_filename = dirname(__FILE__)."/fichier_a_lire.txt";
+	unlink($temp_filename);
+?>
+--EXPECT--
+Bienvenue au CodeFest a Montreal
diff --git a/ext/standard/tests/file/file_get_contents_error001.phpt b/ext/standard/tests/file/file_get_contents_error001.phpt
new file mode 100644
index 0000000..ced0da0
--- /dev/null
+++ b/ext/standard/tests/file/file_get_contents_error001.phpt
@@ -0,0 +1,18 @@
+--TEST--
+file_get_contents() test using offset parameter out of range
+--CREDITS--
+"Blanche V.N." <valerie_nare at yahoo.fr>
+"Sylvain R." <sracine at phpquebec.org>
+--INI--
+display_errors=false
+--SKIPIF--
+<?php
+	if (!function_exists("file_get_contents"))
+		die ("skip file_get_contents function is not found");
+?>
+--FILE--
+<?php
+	var_dump(file_get_contents("http://checkip.dyndns.com",null,null,8000,1));
+?>
+--EXPECT--
+bool(false)
diff --git a/ext/standard/tests/file/file_get_contents_error002.phpt b/ext/standard/tests/file/file_get_contents_error002.phpt
new file mode 100644
index 0000000..47c7b9c
--- /dev/null
+++ b/ext/standard/tests/file/file_get_contents_error002.phpt
@@ -0,0 +1,18 @@
+--TEST--
+file_get_contents() test using negative parameter for length (last parameter)
+--CREDITS--
+"Blanche V.N." <valerie_nare at yahoo.fr>
+"Sylvain R." <sracine at phpquebec.org>
+--INI--
+display_errors=false
+--SKIPIF--
+<?php
+	if (!function_exists("file_get_contents"))
+		die ("skip file_get_contents function is not found");
+?>
+--FILE--
+<?php
+	var_dump(file_get_contents("http://checkip.dyndns.com",null,null,0,-1));
+?>
+--EXPECT--
+bool(false)
diff --git a/ext/standard/tests/file/include_userstream_001.phpt b/ext/standard/tests/file/include_userstream_001.phpt
index eeb6bd0..d805afd 100755
--- a/ext/standard/tests/file/include_userstream_001.phpt
+++ b/ext/standard/tests/file/include_userstream_001.phpt
@@ -1,82 +1,82 @@
---TEST--
-User streams and include()
---INI--
-allow_url_fopen=1
-allow_url_include=0
---FILE--
-<?php
-class test {
-    private $data = '<?php echo "Hello World\n";?>';
-	private $pos;
-
-	function stream_open($path, $mode, $options, &$opened_path)
-	{
-		if (strchr($mode, 'a'))
-			$this->pos = strlen($this->data);
-		else
-			$this->po = 0;
-		
-		return true;
-	}
-
-	function stream_read($count)
-	{
-		$ret = substr($this->data, $this->pos, $count);
-		$this->pos += strlen($ret);
-		return $ret;
-	}
-
-	function stream_tell()
-	{
-		return $this->pos;
-	}
-
-	function stream_eof()
-	{
-		return $this->pos >= strlen($this->data);
-	}
-
-	function stream_seek($offset, $whence)
-	{
-		switch($whence) {
-			case SEEK_SET:
-				if ($offset < $this->data && $offset >= 0) {
-					$this->pos = $offset;
-					return true;
-				} else {
-					return false;
-				}
-				break;
-			case SEEK_CUR:
-				if ($offset >= 0) {
-					$this->pos += $offset;
-					return true;
-				} else {
-					return false;
-				}
-				break;
-			case SEEK_END:
-				if (strlen($this->data) + $offset >= 0) {
-					$this->pos = strlen($this->data) + $offset;
-					return true;
-				} else {
-					return false;
-				}
-				break;
-			default:
-				return false;
-		}
-	}
-
-}
-
-stream_register_wrapper("test1", "test", STREAM_IS_URL);
-stream_register_wrapper("test2", "test");
-echo @file_get_contents("test1://hello"),"\n";
- at include "test1://hello";
-echo @file_get_contents("test2://hello"),"\n";
- at include "test2://hello";
---EXPECT--
-<?php echo "Hello World\n";?>
-<?php echo "Hello World\n";?>
-Hello World
+--TEST--
+User streams and include()
+--INI--
+allow_url_fopen=1
+allow_url_include=0
+--FILE--
+<?php
+class test {
+    private $data = '<?php echo "Hello World\n";?>';
+	private $pos;
+
+	function stream_open($path, $mode, $options, &$opened_path)
+	{
+		if (strchr($mode, 'a'))
+			$this->pos = strlen($this->data);
+		else
+			$this->po = 0;
+		
+		return true;
+	}
+
+	function stream_read($count)
+	{
+		$ret = substr($this->data, $this->pos, $count);
+		$this->pos += strlen($ret);
+		return $ret;
+	}
+
+	function stream_tell()
+	{
+		return $this->pos;
+	}
+
+	function stream_eof()
+	{
+		return $this->pos >= strlen($this->data);
+	}
+
+	function stream_seek($offset, $whence)
+	{
+		switch($whence) {
+			case SEEK_SET:
+				if ($offset < $this->data && $offset >= 0) {
+					$this->pos = $offset;
+					return true;
+				} else {
+					return false;
+				}
+				break;
+			case SEEK_CUR:
+				if ($offset >= 0) {
+					$this->pos += $offset;
+					return true;
+				} else {
+					return false;
+				}
+				break;
+			case SEEK_END:
+				if (strlen($this->data) + $offset >= 0) {
+					$this->pos = strlen($this->data) + $offset;
+					return true;
+				} else {
+					return false;
+				}
+				break;
+			default:
+				return false;
+		}
+	}
+
+}
+
+stream_register_wrapper("test1", "test", STREAM_IS_URL);
+stream_register_wrapper("test2", "test");
+echo @file_get_contents("test1://hello"),"\n";
+ at include "test1://hello";
+echo @file_get_contents("test2://hello"),"\n";
+ at include "test2://hello";
+--EXPECT--
+<?php echo "Hello World\n";?>
+<?php echo "Hello World\n";?>
+Hello World
diff --git a/ext/standard/tests/file/include_userstream_002.phpt b/ext/standard/tests/file/include_userstream_002.phpt
index 8751ccf..80690a9 100755
--- a/ext/standard/tests/file/include_userstream_002.phpt
+++ b/ext/standard/tests/file/include_userstream_002.phpt
@@ -1,106 +1,106 @@
---TEST--
-local user streams must not be able to open() url's
---INI--
-allow_url_fopen=1
-allow_url_include=0
---FILE--
-<?php
-class test {
-    private $data = '<?php echo "Hello World\n";?>';
-	private $pos;
-	private $stream = null;
-
-	function stream_open($path, $mode, $options, &$opened_path)
-	{
-		if (strpos($path, "test2://") === 0) {
-			$this->stream = fopen("test1://".substr($path, 8), $mode);
-			return !empty($this->stream);
-		}
-		if (strchr($mode, 'a'))
-			$this->pos = strlen($this->data);
-		else
-			$this->po = 0;
-		
-		return true;
-	}
-
-	function stream_read($count)
-	{
-		if (!empty($this->stream)) {
-			return fread($this->stream, $count);
-		}
-		$ret = substr($this->data, $this->pos, $count);
-		$this->pos += strlen($ret);
-		return $ret;
-	}
-
-	function stream_tell()
-	{
-		if (!empty($this->stream)) {
-			return ftell($this->stream);
-		}
-		return $this->pos;
-	}
-
-	function stream_eof()
-	{
-		if (!empty($this->stream)) {
-			return feof($this->stream);
-		}
-		return $this->pos >= strlen($this->data);
-	}
-
-	function stream_seek($offset, $whence)
-	{
-		if (!empty($this->stream)) {
-			return fseek($this->stream, $offset, $whence);
-		}
-		switch($whence) {
-			case SEEK_SET:
-				if ($offset < $this->data && $offset >= 0) {
-					$this->pos = $offset;
-					return true;
-				} else {
-					return false;
-				}
-				break;
-			case SEEK_CUR:
-				if ($offset >= 0) {
-					$this->pos += $offset;
-					return true;
-				} else {
-					return false;
-				}
-				break;
-			case SEEK_END:
-				if (strlen($this->data) + $offset >= 0) {
-					$this->pos = strlen($this->data) + $offset;
-					return true;
-				} else {
-					return false;
-				}
-				break;
-			default:
-				return false;
-		}
-	}
-
-}
-
-stream_register_wrapper("test1", "test", STREAM_IS_URL);
-stream_register_wrapper("test2", "test");
-echo @file_get_contents("test1://hello"),"\n";
- at include "test1://hello";
-echo @file_get_contents("test2://hello"),"\n";
-include "test2://hello";
---EXPECTF--
-<?php echo "Hello World\n";?>
-<?php echo "Hello World\n";?>
-
-Warning: fopen(): URL file-access is disabled in the server configuration in %sinclude_userstream_002.php on line 10
-
-Warning: fopen(test1://hello): failed to open stream: no suitable wrapper could be found in %sinclude_userstream_002.php on line 10
-
-Warning: include(test2://hello): failed to open stream: "test::stream_open" call failed in %sinclude_userstream_002.php on line 89
-
-Warning: include(): Failed opening 'test2://hello' for inclusion (include_path='%s') in %sinclude_userstream_002.php on line 89
+--TEST--
+local user streams must not be able to open() url's
+--INI--
+allow_url_fopen=1
+allow_url_include=0
+--FILE--
+<?php
+class test {
+    private $data = '<?php echo "Hello World\n";?>';
+	private $pos;
+	private $stream = null;
+
+	function stream_open($path, $mode, $options, &$opened_path)
+	{
+		if (strpos($path, "test2://") === 0) {
+			$this->stream = fopen("test1://".substr($path, 8), $mode);
+			return !empty($this->stream);
+		}
+		if (strchr($mode, 'a'))
+			$this->pos = strlen($this->data);
+		else
+			$this->po = 0;
+		
+		return true;
+	}
+
+	function stream_read($count)
+	{
+		if (!empty($this->stream)) {
+			return fread($this->stream, $count);
+		}
+		$ret = substr($this->data, $this->pos, $count);
+		$this->pos += strlen($ret);
+		return $ret;
+	}
+
+	function stream_tell()
+	{
+		if (!empty($this->stream)) {
+			return ftell($this->stream);
+		}
+		return $this->pos;
+	}
+
+	function stream_eof()
+	{
+		if (!empty($this->stream)) {
+			return feof($this->stream);
+		}
+		return $this->pos >= strlen($this->data);
+	}
+
+	function stream_seek($offset, $whence)
+	{
+		if (!empty($this->stream)) {
+			return fseek($this->stream, $offset, $whence);
+		}
+		switch($whence) {
+			case SEEK_SET:
+				if ($offset < $this->data && $offset >= 0) {
+					$this->pos = $offset;
+					return true;
+				} else {
+					return false;
+				}
+				break;
+			case SEEK_CUR:
+				if ($offset >= 0) {
+					$this->pos += $offset;
+					return true;
+				} else {
+					return false;
+				}
+				break;
+			case SEEK_END:
+				if (strlen($this->data) + $offset >= 0) {
+					$this->pos = strlen($this->data) + $offset;
+					return true;
+				} else {
+					return false;
+				}
+				break;
+			default:
+				return false;
+		}
+	}
+
+}
+
+stream_register_wrapper("test1", "test", STREAM_IS_URL);
+stream_register_wrapper("test2", "test");
+echo @file_get_contents("test1://hello"),"\n";
+ at include "test1://hello";
+echo @file_get_contents("test2://hello"),"\n";
+include "test2://hello";
+--EXPECTF--
+<?php echo "Hello World\n";?>
+<?php echo "Hello World\n";?>
+
+Warning: fopen(): URL file-access is disabled in the server configuration in %sinclude_userstream_002.php on line 10
+
+Warning: fopen(test1://hello): failed to open stream: no suitable wrapper could be found in %sinclude_userstream_002.php on line 10
+
+Warning: include(test2://hello): failed to open stream: "test::stream_open" call failed in %sinclude_userstream_002.php on line 89
+
+Warning: include(): Failed opening 'test2://hello' for inclusion (include_path='%s') in %sinclude_userstream_002.php on line 89
diff --git a/ext/standard/tests/file/is_uploaded_file_basic.phpt b/ext/standard/tests/file/is_uploaded_file_basic.phpt
index dca90b6..bc40d5d 100644
--- a/ext/standard/tests/file/is_uploaded_file_basic.phpt
+++ b/ext/standard/tests/file/is_uploaded_file_basic.phpt
@@ -2,8 +2,6 @@
 is_uploaded_file() function
 --CREDITS--
 Dave Kelsey <d_kelsey at uk.ibm.com>
---SKIPIF--
-<?php if (php_sapi_name()=='cli') die('skip'); ?>
 --POST_RAW--
 Content-type: multipart/form-data, boundary=AaB03x
 
diff --git a/ext/standard/tests/file/lchgrp_basic.phpt b/ext/standard/tests/file/lchgrp_basic.phpt
new file mode 100644
index 0000000..1713bef
--- /dev/null
+++ b/ext/standard/tests/file/lchgrp_basic.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Test lchgrp() function : basic functionality
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') die('skip no windows support');
+if (!function_exists("posix_getgid")) die("skip no posix_getgid()");
+?>
+--FILE--
+<?php
+$filename = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'lchgrp.txt';
+$symlink = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'symlink.txt';
+
+$gid = posix_getgid();
+
+var_dump( touch( $filename ) );
+var_dump( symlink( $filename, $symlink ) );
+var_dump( lchgrp( $filename, $gid ) );
+var_dump( filegroup( $symlink ) === $gid );
+
+?>
+===DONE===
+--CLEAN--
+<?php
+
+$filename = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'lchgrp.txt';
+$symlink = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'symlink.txt';
+unlink($filename);
+unlink($symlink);
+
+?>
+--EXPECTF--
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+===DONE===
diff --git a/ext/standard/tests/file/move_uploaded_file_basic.phpt b/ext/standard/tests/file/move_uploaded_file_basic.phpt
index 591eec8..e7c2e89 100644
--- a/ext/standard/tests/file/move_uploaded_file_basic.phpt
+++ b/ext/standard/tests/file/move_uploaded_file_basic.phpt
@@ -2,8 +2,6 @@
 move_uploaded_file() function
 --CREDITS--
 Dave Kelsey <d_kelsey at uk.ibm.com>
---SKIPIF--
-<?php if (php_sapi_name()=='cli') die('skip'); ?>
 --POST_RAW--
 Content-type: multipart/form-data, boundary=AaB03x
 
diff --git a/ext/standard/tests/file/touch_variation5.phpt b/ext/standard/tests/file/touch_variation5.phpt
index f0e1f78..a448db3 100644
--- a/ext/standard/tests/file/touch_variation5.phpt
+++ b/ext/standard/tests/file/touch_variation5.phpt
@@ -178,10 +178,10 @@ PASSED: /%s/touchVar5.tmp/../touchVar5.tmp/aSubDirOrFile - created
 Warning: touch(): Unable to create file /%s/BADDIR/aSubDirOrFile because %s in %s on line %d
 --- testing touchVar5.tmp/aSubDirOrFile/ ---
 
-Warning: touch(): Unable to create file touchVar5.tmp/aSubDirOrFile/ because Is a directory in %s on line %d
+Warning: touch(): Unable to create file touchVar5.tmp/aSubDirOrFile/ because %s in %s on line %d
 --- testing /%s/touchVar5.tmp/aSubDirOrFile/ ---
 
-Warning: touch(): Unable to create file /%s/touchVar5.tmp/aSubDirOrFile/ because Is a directory in %s on line %d
+Warning: touch(): Unable to create file /%s/touchVar5.tmp/aSubDirOrFile/ because %s in %s on line %d
 --- testing touchVar5.tmp//aSubDirOrFile ---
 PASSED: touchVar5.tmp//aSubDirOrFile - created
 --- testing /%s//touchVar5.tmp//aSubDirOrFile ---
diff --git a/ext/standard/tests/file/unlink_variation8.phpt b/ext/standard/tests/file/unlink_variation8.phpt
index e87a584..e142763 100644
--- a/ext/standard/tests/file/unlink_variation8.phpt
+++ b/ext/standard/tests/file/unlink_variation8.phpt
@@ -178,7 +178,7 @@ Warning: unlink(/%s/BADDIR/file.tmp): No such file or directory in %s on line %d
 Warning: unlink(unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
 -- unlinking soft link unlinkVar8.tmp/file.tmp/ --
 
-Warning: unlink(unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
+Warning: unlink(unlinkVar8.tmp/file.tmp/): %s directory in %s on line %d
 -- unlinking hard link unlinkVar8.tmp/file.tmp/ --
 
 Warning: unlink(unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
@@ -187,7 +187,7 @@ Warning: unlink(unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
 Warning: unlink(/%s/unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
 -- unlinking soft link /%s/unlinkVar8.tmp/file.tmp/ --
 
-Warning: unlink(/%s/unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
+Warning: unlink(/%s/unlinkVar8.tmp/file.tmp/): %s directory in %s on line %d
 -- unlinking hard link /%s/unlinkVar8.tmp/file.tmp/ --
 
 Warning: unlink(/%s/unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
@@ -203,4 +203,4 @@ file removed
 file unlinked
 -- unlinking hard link /%s//unlinkVar8.tmp//file.tmp --
 file unlinked
-===DONE===
\ No newline at end of file
+===DONE===
diff --git a/ext/standard/tests/general_functions/bug25038.phpt b/ext/standard/tests/general_functions/bug25038.phpt
index 25e695b..52fe032 100755
--- a/ext/standard/tests/general_functions/bug25038.phpt
+++ b/ext/standard/tests/general_functions/bug25038.phpt
@@ -1,32 +1,32 @@
---TEST--
-Bug #25038 (call_user_func issues warning if function throws exception)
---FILE--
-<?php
-
-function bar($x='no argument')
-{
-    throw new Exception("This is an exception from bar({$x}).");
-}
-try
-{
-	bar('first try');
-}
-catch (Exception $e)
-{
-	print $e->getMessage()."\n";
-}
-try
-{
-	call_user_func('bar','second try');
-}
-catch (Exception $e)
-{
-	print $e->getMessage()."\n";
-}
-
-?>
-===DONE===
---EXPECT--
-This is an exception from bar(first try).
-This is an exception from bar(second try).
-===DONE===
+--TEST--
+Bug #25038 (call_user_func issues warning if function throws exception)
+--FILE--
+<?php
+
+function bar($x='no argument')
+{
+    throw new Exception("This is an exception from bar({$x}).");
+}
+try
+{
+	bar('first try');
+}
+catch (Exception $e)
+{
+	print $e->getMessage()."\n";
+}
+try
+{
+	call_user_func('bar','second try');
+}
+catch (Exception $e)
+{
+	print $e->getMessage()."\n";
+}
+
+?>
+===DONE===
+--EXPECT--
+This is an exception from bar(first try).
+This is an exception from bar(second try).
+===DONE===
diff --git a/ext/standard/tests/general_functions/bug35229.phpt b/ext/standard/tests/general_functions/bug35229.phpt
index e5a2945..c3c273d 100755
--- a/ext/standard/tests/general_functions/bug35229.phpt
+++ b/ext/standard/tests/general_functions/bug35229.phpt
@@ -1,30 +1,30 @@
---TEST--
-Bug #35229 (call_user_func() crashes when argument stack is nearly full)
---FILE--
-<?php
-class test2 {
-  static function use_stack() {
-    echo "OK\n";
-  }
-}
-
-function __autoload($class)
-{
-	eval('class test1 extends test2 {}');
-
-	test1::use_stack(
-    1,2,3,4,5,6,7,8,9,10,
-    11,12,13,14,15,16,17,18,19,20,
-    21,22,23,24,25,26,27,28,29,30
-  );
-}
-
-call_user_func(array('test1', 'use_stack'),
-  1,2,3,4,5,6,7,8,9,10,
-  11,12,13,14,15,16,17,18,19,20,
-  21,22,23,24,25,26,27,28,29,30
-);
-?>
---EXPECT--
-OK
-OK
+--TEST--
+Bug #35229 (call_user_func() crashes when argument stack is nearly full)
+--FILE--
+<?php
+class test2 {
+  static function use_stack() {
+    echo "OK\n";
+  }
+}
+
+function __autoload($class)
+{
+	eval('class test1 extends test2 {}');
+
+	test1::use_stack(
+    1,2,3,4,5,6,7,8,9,10,
+    11,12,13,14,15,16,17,18,19,20,
+    21,22,23,24,25,26,27,28,29,30
+  );
+}
+
+call_user_func(array('test1', 'use_stack'),
+  1,2,3,4,5,6,7,8,9,10,
+  11,12,13,14,15,16,17,18,19,20,
+  21,22,23,24,25,26,27,28,29,30
+);
+?>
+--EXPECT--
+OK
+OK
diff --git a/ext/standard/tests/general_functions/bug48660.phpt b/ext/standard/tests/general_functions/bug48660.phpt
new file mode 100644
index 0000000..7715e9b
--- /dev/null
+++ b/ext/standard/tests/general_functions/bug48660.phpt
@@ -0,0 +1,58 @@
+--TEST--
+Bug #48660 (parse_ini_*(): dollar sign as last character of value fails)
+--FILE--
+<?php
+
+$ini_location = dirname(__FILE__) . '/bug48660.tmp';
+
+// Build ini data
+$ini_data = '
+[cases]
+
+Case.a = avalue
+Case.b = "$dollar_sign"
+Case.c = "dollar_sign$"
+Case.d = "$dollar_sign$"
+Case.e = 10
+';
+
+// Save ini data to file
+file_put_contents($ini_location, $ini_data);
+
+var_dump(parse_ini_file($ini_location, true));
+var_dump(parse_ini_file($ini_location, true));
+
+?>
+--CLEAN--
+<?php @unlink(dirname(__FILE__) . '/bug48660.tmp'); ?>
+--EXPECTF--
+array(1) {
+  ["cases"]=>
+  array(5) {
+    ["Case.a"]=>
+    string(6) "avalue"
+    ["Case.b"]=>
+    string(12) "$dollar_sign"
+    ["Case.c"]=>
+    string(12) "dollar_sign$"
+    ["Case.d"]=>
+    string(13) "$dollar_sign$"
+    ["Case.e"]=>
+    string(2) "10"
+  }
+}
+array(1) {
+  ["cases"]=>
+  array(5) {
+    ["Case.a"]=>
+    string(6) "avalue"
+    ["Case.b"]=>
+    string(12) "$dollar_sign"
+    ["Case.c"]=>
+    string(12) "dollar_sign$"
+    ["Case.d"]=>
+    string(13) "$dollar_sign$"
+    ["Case.e"]=>
+    string(2) "10"
+  }
+}
diff --git a/ext/standard/tests/general_functions/bug49056.phpt b/ext/standard/tests/general_functions/bug49056.phpt
new file mode 100644
index 0000000..208766c
--- /dev/null
+++ b/ext/standard/tests/general_functions/bug49056.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Bug #49056 (parse_ini_*() regression in 5.3.0 when using non-ASCII strings as option keys)
+--FILE--
+<?php
+
+$string = <<<EOT
+Cooking_furniture="Küchen Möbel (en)"
+Küchen_Möbel="Cooking furniture (en)"
+EOT;
+
+$filename = dirname(__FILE__) . '/bug49056.tmp';
+
+file_put_contents( $filename, $string);
+
+var_dump(parse_ini_file($filename));
+
+?>
+--CLEAN--
+<?php @unlink(dirname(__FILE__) . '/bug49056.tmp'); ?>
+--EXPECT--
+array(2) {
+  ["Cooking_furniture"]=>
+  string(23) "Küchen Möbel (en)"
+  ["Küchen_Möbel"]=>
+  string(22) "Cooking furniture (en)"
+}
diff --git a/ext/standard/tests/general_functions/get_cfg_var_basic.phpt b/ext/standard/tests/general_functions/get_cfg_var_basic.phpt
new file mode 100644
index 0000000..3fb0056
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_basic.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Test function get_cfg_var() by calling it with its expected arguments
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+
+echo "*** Test by calling method or function with its expected arguments ***\n";
+var_dump(get_cfg_var( 'session.use_cookies' ) );
+var_dump(get_cfg_var( 'session.serialize_handler' ) );
+var_dump(get_cfg_var( 'session.save_handler' ) );
+
+?>
+--EXPECTF--
+*** Test by calling method or function with its expected arguments ***
+string(1) "0"
+string(3) "php"
+string(5) "files"
diff --git a/ext/standard/tests/general_functions/get_cfg_var_error.phpt b/ext/standard/tests/general_functions/get_cfg_var_error.phpt
new file mode 100644
index 0000000..427b860
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_error.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test function get_cfg_var() by calling it more than or less than its expected arguments
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+echo "*** Test by calling method or function with incorrect numbers of arguments ***\n";
+
+var_dump(get_cfg_var( 'session.use_cookies', 'session.serialize_handler' ) );
+var_dump(get_cfg_var(  ) );
+
+
+?>
+--EXPECTF--
+*** Test by calling method or function with incorrect numbers of arguments ***
+
+Warning: Wrong parameter count for get_cfg_var() in %s.php on line %d
+NULL
+
+Warning: Wrong parameter count for get_cfg_var() in %s.php on line %d
+NULL
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation1.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation1.phpt
new file mode 100644
index 0000000..34e6cd6
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation1.phpt
@@ -0,0 +1,46 @@
+--TEST--
+Test function get_cfg_var() by substituting argument 1 with array values.
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with array values ***\n";
+
+
+
+$index_array = array(1, 2, 3);
+$assoc_array = array(1 => 'one', 2 => 'two');
+
+$variation_array = array(
+  'empty array' => array(),
+  'int indexed array' => $index_array,
+  'associative array' => $assoc_array,
+  'nested arrays' => array('foo', $index_array, $assoc_array),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(get_cfg_var( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with array values ***
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation2.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation2.phpt
new file mode 100644
index 0000000..68495a1
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation2.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Test function get_cfg_var() by substituting argument 1 with boolean values.
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with boolean values ***\n";
+
+
+
+$variation_array = array(
+  'lowercase true' => true,
+  'lowercase false' =>false,
+  'uppercase TRUE' =>TRUE,
+  'uppercase FALSE' =>FALSE,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(get_cfg_var( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with boolean values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation3.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation3.phpt
new file mode 100644
index 0000000..d1fb5e7
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation3.phpt
@@ -0,0 +1,42 @@
+--TEST--
+Test function get_cfg_var() by substituting argument 1 with emptyUnsetUndefNull values.
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with emptyUnsetUndefNull values ***\n";
+
+
+
+$unset_var = 10;
+unset($unset_var);
+
+$variation_array = array(
+  'unset var' => @$unset_var,
+  'undefined var' => @$undefined_var,
+  'empty string DQ' => "",
+  'empty string SQ' => '',
+  'uppercase NULL' => NULL,
+  'lowercase null' => null
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(get_cfg_var( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with emptyUnsetUndefNull values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation4.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation4.phpt
new file mode 100644
index 0000000..8dac4f8
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation4.phpt
@@ -0,0 +1,37 @@
+--TEST--
+Test function get_cfg_var() by substituting argument 1 with float values.
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with float values ***\n";
+
+
+
+$variation_array = array(
+  'float 10.5' => 10.5,
+  'float -10.5' => -10.5,
+  'float 12.3456789000e10' => 12.3456789000e10,
+  'float -12.3456789000e10' => -12.3456789000e10,
+  'float .5' => .5,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(get_cfg_var( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with float values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation5.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation5.phpt
new file mode 100644
index 0000000..392abb3
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation5.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Test function get_cfg_var() by substituting argument 1 with int values.
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with int values ***\n";
+
+
+
+$variation_array = array (
+    'int 0' => 0,
+    'int 1' => 1,
+    'int 12345' => 12345,
+    'int -12345' => -2345,
+    );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(get_cfg_var( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with int values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation6.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation6.phpt
new file mode 100644
index 0000000..39bdf80
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation6.phpt
@@ -0,0 +1,41 @@
+--TEST--
+Test function get_cfg_var() by substituting argument 1 with object values.
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with object values ***\n";
+
+class classWithToString
+{
+        public function __toString() {
+                return "session.use_cookies";
+        }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+  'instance of classWithToString' => new classWithToString(),
+  'instance of classWithoutToString' => new classWithoutToString(),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(get_cfg_var( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with object values ***
+string(1) "0"
+
+Catchable fatal error: Object of class classWithoutToString could not be converted to string in %s.php on line %d
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation7.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation7.phpt
new file mode 100644
index 0000000..3b5b08c
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation7.phpt
@@ -0,0 +1,39 @@
+--TEST--
+Test function get_cfg_var() by substituting argument 1 with string values.
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with unknown string values ***\n";
+
+
+
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'string DQ' => "string",
+  'string SQ' => 'string',
+  'mixed case string' => "sTrInG",
+  'heredoc' => $heredoc
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(get_cfg_var( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with unknown string values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation8.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation8.phpt
new file mode 100644
index 0000000..22188c7
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation8.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Test function get_cfg_var() by calling deprecated option
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+register_globals=1
+--SKIPIF--
+<?php if (version_compare(PHP_VERSION, "5.3", "<")) die("skip requires 5.3 or greater"); ?>
+--FILE--
+<?php
+echo "*** Test by calling method or function with deprecated option ***\n";
+var_dump(get_cfg_var( 'register_globals' ) );
+
+?>
+--EXPECTF--
+PHP Warning:  Directive 'register_globals' is deprecated in PHP 5.3 and greater in %s on line 0
+*** Test by calling method or function with deprecated option ***
+string(1) "1"
+
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation9.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation9.phpt
new file mode 100644
index 0000000..6e0ffc5
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation9.phpt
@@ -0,0 +1,37 @@
+--TEST--
+Test function get_cfg_var() by substituting argument with array of valid parameters.
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+session.use_cookies=0
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument with array of valid parameters ***\n";
+
+
+
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'session.use_cookies',
+  'session.serialize_handler', 
+  'session.save_handler'
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(get_cfg_var( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument with array of valid parameters ***
+string(1) "0"
+string(3) "php"
+string(5) "files"
diff --git a/ext/standard/tests/general_functions/get_defined_constants_basic.phpt b/ext/standard/tests/general_functions/get_defined_constants_basic.phpt
new file mode 100644
index 0000000..9e2e66c
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_defined_constants_basic.phpt
@@ -0,0 +1,39 @@
+--TEST--
+Test get_defined_constants() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : array get_defined_constants  ([ bool $categorize  ] )
+ * Description:  Returns an associative array with the names of all the constants and their values
+ * Source code: Zend/zend_builtin_functions.c
+ */		
+
+echo "*** Testing get_defined_constants() : basic functionality ***\n";
+
+var_dump(gettype(get_defined_constants(true)));
+var_dump(gettype(get_defined_constants()));
+
+$arr1 = get_defined_constants(false);
+$arr2 = get_defined_constants();
+var_dump(array_diff($arr1, $arr2));
+
+$n1 = count(get_defined_constants());
+define("USER_CONSTANT", "test");
+$arr2 = get_defined_constants();
+$n2 = count($arr2);
+
+if ($n2 == $n1 + 1 && array_key_exists("USER_CONSTANT", $arr2)) {
+	echo "TEST PASSED\n";
+} else {
+	echo "TEST FAILED\n";
+}
+
+?>
+===DONE===
+--EXPECTF-- 
+*** Testing get_defined_constants() : basic functionality ***
+string(5) "array"
+string(5) "array"
+array(0) {
+}
+TEST PASSED
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/get_defined_constants_error.phpt b/ext/standard/tests/general_functions/get_defined_constants_error.phpt
new file mode 100644
index 0000000..1092712
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_defined_constants_error.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Test get_defined_constants() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : array get_defined_constants  ([ bool $categorize  ] )
+ * Description:  Returns an associative array with the names of all the constants and their values
+ * Source code: Zend/zend_builtin_functions.c
+ */	
+
+echo "*** Testing get_defined_constants() : error conditions ***\n";
+
+echo "\n-- Testing get_defined_constants() function with more than expected no. of arguments --\n";
+$extra_arg = 10;
+var_dump( get_defined_constants(true, $extra_arg) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing get_defined_constants() : error conditions ***
+
+-- Testing get_defined_constants() function with more than expected no. of arguments --
+
+Warning: get_defined_constants() expects at most 1 parameter, 2 given in %s on line 11
+NULL
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/get_loaded_extensions_basic.phpt b/ext/standard/tests/general_functions/get_loaded_extensions_basic.phpt
new file mode 100644
index 0000000..4a8eceb
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_loaded_extensions_basic.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Test get_loaded_extensions() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : array get_loaded_extensions  ([ bool $zend_extensions= false  ] )
+ * Description:  Returns an array with the names of all modules compiled and loaded
+ * Source code: Zend/zend_builtin_functions.c
+ */		
+
+echo "*** Testing get_loaded_extensions() : basic functionality ***\n";
+
+echo "Get loaded extensions\n";
+var_dump(get_loaded_extensions());
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing get_loaded_extensions() : basic functionality ***
+Get loaded extensions
+array(%d) {
+%a
+}
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/get_loaded_extensions_error.phpt b/ext/standard/tests/general_functions/get_loaded_extensions_error.phpt
new file mode 100644
index 0000000..08d819a
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_loaded_extensions_error.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Test get_loaded_extensions() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : array get_loaded_extensions  ([ bool $zend_extensions= false  ] )
+ * Description:  Returns an array with the names of all modules compiled and loaded
+ * Source code: Zend/zend_builtin_functions.c
+ */		
+
+echo "*** Testing get_loaded_extensions() : error conditions ***\n";
+
+echo "\n-- Testing get_loaded_extensions() function with more than expected no. of arguments --\n";
+$res = fopen(__FILE__, "r");
+$extra_arg = 10;
+var_dump( get_loaded_extensions(true, $extra_arg) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing get_loaded_extensions() : error conditions ***
+
+-- Testing get_loaded_extensions() function with more than expected no. of arguments --
+
+Warning: get_loaded_extensions() expects at most 1 parameter, 2 given in %s on line %d
+NULL
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/get_resource_type_basic.phpt b/ext/standard/tests/general_functions/get_resource_type_basic.phpt
new file mode 100644
index 0000000..7ff4aec
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_resource_type_basic.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Test get_resource_type() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : string get_resource_type  ( resource $handle  )
+ * Description:  Returns the resource type 
+ * Source code: Zend/zend_builtin_functions.c
+ */		
+
+echo "*** Testing get_resource_type() : basic functionality ***\n";
+
+$res = fopen(__FILE__, "r");
+var_dump(get_resource_type($res)); 
+
+?>
+===DONE===
+--EXPECT--
+*** Testing get_resource_type() : basic functionality ***
+string(6) "stream"
+===DONE===
diff --git a/ext/standard/tests/general_functions/get_resource_type_error.phpt b/ext/standard/tests/general_functions/get_resource_type_error.phpt
new file mode 100644
index 0000000..9b7e157
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_resource_type_error.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Test get_resource_type() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : string get_resource_type  ( resource $handle  )
+ * Description:  Returns the resource type 
+ * Source code: Zend/zend_builtin_functions.c
+ */		
+
+echo "*** Testing get_resource_type() : error conditions ***\n";
+
+echo "\n-- Testing get_resource_type() function with Zero arguments --\n";
+var_dump( get_resource_type() );
+
+echo "\n-- Testing get_resource_type() function with more than expected no. of arguments --\n";
+$res = fopen(__FILE__, "r");
+$extra_arg = 10;
+var_dump( get_resource_type($res, $extra_arg) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing get_resource_type() : error conditions ***
+
+-- Testing get_resource_type() function with Zero arguments --
+
+Warning: Wrong parameter count for get_resource_type() in %s on line %d
+NULL
+
+-- Testing get_resource_type() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for get_resource_type() in %s on line %d
+NULL
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/get_resource_type_variation1.phpt b/ext/standard/tests/general_functions/get_resource_type_variation1.phpt
new file mode 100644
index 0000000..95b933b
--- /dev/null
+++ b/ext/standard/tests/general_functions/get_resource_type_variation1.phpt
@@ -0,0 +1,74 @@
+--TEST--
+Test get_resource_type() function : usage variations - different data types as handle arg
+--FILE--
+<?php
+/* Prototype  : string get_resource_type  ( resource $handle  )
+ * Description:  Returns the resource type 
+ * Source code: Zend/zend_builtin_functions.c
+ */		
+
+echo "*** Testing get_resource_type() : variation test ***\n";
+
+class Hello {
+  public function SayHello($arg) {
+  	echo "Hello\n";
+  } 
+}
+
+$res = fopen(__FILE__, "r");
+
+$vars = array(
+	"bool"=>false,
+	"int 10"=>10,
+	"float 10.5"=>10.5,
+	"string"=>"Hello World",
+	"array"=>array(1,2,3,4,5),
+	"NULL"=>NULL,
+	"Object"=>new Hello()
+);
+
+foreach($vars as $variation =>$object) {
+      echo "\n-- $variation --\n";
+      var_dump(get_resource_type($object));
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing get_resource_type() : variation test ***
+
+-- bool --
+
+Warning: Supplied argument is not a valid resource handle in %s on line %d
+bool(false)
+
+-- int 10 --
+
+Warning: Supplied argument is not a valid resource handle in %s on line %d
+bool(false)
+
+-- float 10.5 --
+
+Warning: Supplied argument is not a valid resource handle in %s on line %d
+bool(false)
+
+-- string --
+
+Warning: Supplied argument is not a valid resource handle in %s on line %d
+bool(false)
+
+-- array --
+
+Warning: Supplied argument is not a valid resource handle in %s on line %d
+bool(false)
+
+-- NULL --
+
+Warning: Supplied argument is not a valid resource handle in %s on line %d
+bool(false)
+
+-- Object --
+
+Warning: Supplied argument is not a valid resource handle in %s on line %d
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/getservbyname_basic.phpt b/ext/standard/tests/general_functions/getservbyname_basic.phpt
new file mode 100755
index 0000000..164e71a
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Test function getservbyport() by calling it more than or less than its expected arguments
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+
+	$services = array('http', 'ftp', 'ssh', 'telnet', 'imap', 'smtp', 'nicname', 'gopher', 'finger', 'pop3', 'www');
+
+	foreach ($services as $service) {
+    		$port = getservbyname($service, 'tcp');
+    		var_dump($port);
+	}
+
+
+?>
+--EXPECTF--
+int(%d)
+int(%d)
+int(%d)
+int(%d)
+int(%d)
+int(%d)
+int(%d)
+int(%d)
+int(%d)
+int(%d)
+int(%d)
diff --git a/ext/standard/tests/general_functions/getservbyname_error.phpt b/ext/standard/tests/general_functions/getservbyname_error.phpt
new file mode 100755
index 0000000..3169e9a
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_error.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Test function getservbyname() by calling it more than or less than its expected arguments
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Danilo Sanchi (sanchi at grupporetina.com)
+--FILE--
+<?php
+$service = "www";
+$protocol = "tcp"; 
+$extra_arg = 12;
+var_dump(getservbyname($service, $protocol, $extra_arg ) );
+var_dump(getservbyname($service));
+?>
+--EXPECTF--
+Warning: Wrong parameter count for getservbyname() in %s.php on line %d
+NULL
+
+Warning: Wrong parameter count for getservbyname() in %s.php on line %d
+NULL
diff --git a/ext/standard/tests/general_functions/getservbyname_variation1.phpt b/ext/standard/tests/general_functions/getservbyname_variation1.phpt
new file mode 100755
index 0000000..27c2e7e
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation1.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Test function getservbyname() by substituting argument 1 with array values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with array values ***\n";
+
+$protocol = "tcp";
+
+
+$index_array = array(1, 2, 3);
+$assoc_array = array(1 => 'one', 2 => 'two');
+
+$variation_array = array(
+  'empty array' => array(),
+  'int indexed array' => $index_array,
+  'associative array' => $assoc_array,
+  'nested arrays' => array('foo', $index_array, $assoc_array),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $var ,  $protocol ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with array values ***
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation10.phpt b/ext/standard/tests/general_functions/getservbyname_variation10.phpt
new file mode 100755
index 0000000..70aa567
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation10.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Test function getservbyname() by substituting argument 2 with emptyUnsetUndefNull values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 2 with emptyUnsetUndefNull values ***\n";
+
+$service = "www";
+
+
+$unset_var = 10;
+unset($unset_var);
+
+$variation_array = array(
+  'unset var' => @$unset_var,
+  'undefined var' => @$undefined_var,
+  'empty string DQ' => "",
+  'empty string SQ' => '',
+  'uppercase NULL' => NULL,
+  'lowercase null' => null,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $service, $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 2 with emptyUnsetUndefNull values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation11.phpt b/ext/standard/tests/general_functions/getservbyname_variation11.phpt
new file mode 100755
index 0000000..3c410c5
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation11.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Test function getservbyname() by substituting argument 2 with float values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 2 with float values ***\n";
+
+$service = "www";
+
+$variation_array = array(
+  'float 10.5' => 10.5,
+  'float -10.5' => -10.5,
+  'float 12.3456789000e10' => 12.3456789000e10,
+  'float -12.3456789000e10' => -12.3456789000e10,
+  'float .5' => .5,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $service, $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 2 with float values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation12.phpt b/ext/standard/tests/general_functions/getservbyname_variation12.phpt
new file mode 100755
index 0000000..7e5323c
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation12.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Test function getservbyname() by substituting argument 2 with int values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 2 with int values ***\n";
+
+$service = "www";
+
+
+$variation_array = array (
+    'int 0' => 0,
+    'int 1' => 1,
+    'int 12345' => 12345,
+    'int -12345' => -2345,
+    );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $service, $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 2 with int values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation13.phpt b/ext/standard/tests/general_functions/getservbyname_variation13.phpt
new file mode 100755
index 0000000..cf72600
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation13.phpt
@@ -0,0 +1,37 @@
+--TEST--
+Test function getservbyname() by substituting argument 2 with object values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 2 with object values ***\n";
+
+$service = "www";
+
+
+class classWithToString
+{
+        public function __toString() {
+                return "Class A object";
+        }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+  'instance of classWithToString' => new classWithToString(),
+  'instance of classWithoutToString' => new classWithoutToString(),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $service, $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 2 with object values ***
+bool(false)
+
+Catchable fatal error: Object of class classWithoutToString could not be converted to string in %s.php on line %d
diff --git a/ext/standard/tests/general_functions/getservbyname_variation14.phpt b/ext/standard/tests/general_functions/getservbyname_variation14.phpt
new file mode 100755
index 0000000..d93b53e
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation14.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Test function getservbyname() by substituting argument 2 with string values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 2 with string values ***\n";
+
+$service = "www"; 
+
+
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'string DQ' => "string",
+  'string SQ' => 'string',
+  'mixed case string' => "sTrInG",
+  'heredoc' => $heredoc,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $service, $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 2 with string values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation2.phpt b/ext/standard/tests/general_functions/getservbyname_variation2.phpt
new file mode 100755
index 0000000..877c1d1
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation2.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Test function getservbyname() by substituting argument 1 with boolean values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with boolean values ***\n";
+
+$protocol = "tcp"; 
+
+
+$variation_array = array(
+  'lowercase true' => true,
+  'lowercase false' =>false,
+  'uppercase TRUE' =>TRUE,
+  'uppercase FALSE' =>FALSE,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $var ,  $protocol ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with boolean values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation3.phpt b/ext/standard/tests/general_functions/getservbyname_variation3.phpt
new file mode 100755
index 0000000..d34259d
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation3.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Test function getservbyname() by substituting argument 1 with emptyUnsetUndefNull values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with emptyUnsetUndefNull values ***\n";
+
+$protocol = "tcp";
+
+
+$unset_var = 10;
+unset($unset_var);
+
+$variation_array = array(
+  'unset var' => @$unset_var,
+  'undefined var' => @$undefined_var,
+  'empty string DQ' => "",
+  'empty string SQ' => '',
+  'uppercase NULL' => NULL,
+  'lowercase null' => null,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $var ,  $protocol ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with emptyUnsetUndefNull values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation4.phpt b/ext/standard/tests/general_functions/getservbyname_variation4.phpt
new file mode 100755
index 0000000..6033c94
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation4.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Test function getservbyname() by substituting argument 1 with float values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with float values ***\n";
+
+$protocol = "tcp";
+
+
+$variation_array = array(
+  'float 10.5' => 10.5,
+  'float -10.5' => -10.5,
+  'float 12.3456789000e10' => 12.3456789000e10,
+  'float -12.3456789000e10' => -12.3456789000e10,
+  'float .5' => .5,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $var ,  $protocol ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with float values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation5.phpt b/ext/standard/tests/general_functions/getservbyname_variation5.phpt
new file mode 100755
index 0000000..1d3b8f6
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation5.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Test function getservbyname() by substituting argument 1 with int values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with int values ***\n";
+
+$protocol = "tcp"; 
+
+
+$variation_array = array (
+    'int 0' => 0,
+    'int 1' => 1,
+    'int 12345' => 12345,
+    'int -12345' => -2345,
+    );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $var ,  $protocol ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with int values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation6.phpt b/ext/standard/tests/general_functions/getservbyname_variation6.phpt
new file mode 100755
index 0000000..0a0ed59
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation6.phpt
@@ -0,0 +1,37 @@
+--TEST--
+Test function getservbyname() by substituting argument 1 with object values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with object values ***\n";
+
+$protocol = "tcp";
+
+
+class classWithToString
+{
+        public function __toString() {
+                return "Class A object";
+        }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+  'instance of classWithToString' => new classWithToString(),
+  'instance of classWithoutToString' => new classWithoutToString(),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $var ,  $protocol ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with object values ***
+bool(false)
+
+Catchable fatal error: Object of class classWithoutToString could not be converted to string in %s.php on line %d
diff --git a/ext/standard/tests/general_functions/getservbyname_variation7.phpt b/ext/standard/tests/general_functions/getservbyname_variation7.phpt
new file mode 100755
index 0000000..a0e223c
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation7.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Test function getservbyname() by substituting argument 1 with string values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with string values ***\n";
+
+$protocol = "tcp";
+
+
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'string DQ' => "string",
+  'string SQ' => 'string',
+  'mixed case string' => "sTrInG",
+  'heredoc' => $heredoc,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $var ,  $protocol ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with string values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation8.phpt b/ext/standard/tests/general_functions/getservbyname_variation8.phpt
new file mode 100755
index 0000000..da936ed
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation8.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Test function getservbyname() by substituting argument 2 with array values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 2 with array values ***\n";
+
+$service = "www";
+
+
+$index_array = array(1, 2, 3);
+$assoc_array = array(1 => 'one', 2 => 'two');
+
+$variation_array = array(
+  'empty array' => array(),
+  'int indexed array' => $index_array,
+  'associative array' => $assoc_array,
+  'nested arrays' => array('foo', $index_array, $assoc_array),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $service, $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 2 with array values ***
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
+
+Notice: Array to string conversion in %s.php on line %d
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation9.phpt b/ext/standard/tests/general_functions/getservbyname_variation9.phpt
new file mode 100755
index 0000000..c1c231e
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyname_variation9.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Test function getservbyname() by substituting argument 2 with boolean values.
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 2 with boolean values ***\n";
+
+$service = "www";
+
+$variation_array = array(
+  'lowercase true' => true,
+  'lowercase false' =>false,
+  'uppercase TRUE' =>TRUE,
+  'uppercase FALSE' =>FALSE,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(getservbyname( $service, $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 2 with boolean values ***
+bool(false)
+bool(false)
+bool(false)
+bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyport_basic.phpt b/ext/standard/tests/general_functions/getservbyport_basic.phpt
new file mode 100644
index 0000000..1695455
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyport_basic.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Test function getservbyport() by calling it more than or less than its expected arguments
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+	if(stristr(PHP_OS, "linux")) $file = "/etc/services";
+	elseif(stristr(PHP_OS, "Darwin")) $file = "/etc/services";
+	elseif(substr(PHP_OS,0,3) == "WIN") $file = "C:/WINDOWS/system32/drivers/etc/services";
+	else die(PHP_OS. " unsupported");
+
+	if(file_exists($file)){
+		$services = file_get_contents($file);
+                $service = getservbyport( 80, "tcp" );
+                if(preg_match("/$service\s+80\/tcp/", $services)) {
+			echo "PASS\n";
+		}
+	}else{
+		echo "Services file not found in expected location\n";
+	}
+?>
+--EXPECT--
+PASS
diff --git a/ext/standard/tests/general_functions/getservbyport_error.phpt b/ext/standard/tests/general_functions/getservbyport_error.phpt
new file mode 100644
index 0000000..7cd606c
--- /dev/null
+++ b/ext/standard/tests/general_functions/getservbyport_error.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Test function getservbyport() by calling it more than or less than its expected arguments
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+$port = 80;
+$protocol = "tcp"; 
+$extra_arg = 12;
+var_dump(getservbyport( $port, $protocol, $extra_arg ) );
+var_dump(getservbyport($port));
+?>
+--EXPECTF--
+Warning: Wrong parameter count for getservbyport() in %s.php on line %d
+NULL
+
+Warning: Wrong parameter count for getservbyport() in %s.php on line %d
+NULL
diff --git a/ext/standard/tests/general_functions/is_resource_basic.phpt b/ext/standard/tests/general_functions/is_resource_basic.phpt
new file mode 100644
index 0000000..27583d3
--- /dev/null
+++ b/ext/standard/tests/general_functions/is_resource_basic.phpt
@@ -0,0 +1,92 @@
+--TEST--
+Test is_resource() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : bool is_resource  ( mixed $var  )
+ * Description:  Finds whether a variable is a resource
+ * Source code: ext/standard/type.c
+ */		
+
+echo "*** Testing is_resource() : basic functionality ***\n";
+
+class Hello {
+  public function SayHello($arg) {
+  	echo "Hello\n";
+  } 
+}
+
+
+$vars = array(
+	false,
+	true,
+	10,
+	10.5,
+	"Helo World",
+	array(1,2,3,4,5),
+	NULL,
+	new Hello());
+	
+$types = array(
+	"bool=false",
+	"bool=true",
+	"integer",
+	"double",
+	"string",
+	"array",
+	"NULL",
+	"object");	
+
+echo "\nNon-resource type cases\n";
+
+for ($i=0; $i < count($vars); $i++) {
+	if (is_resource($vars[$i])) {
+		echo $types[$i]. " test returns TRUE\n";
+	} else {
+		echo $types[$i]. " test returns FALSE\n";
+	}
+}	
+
+$res = fopen(__FILE__, "r");
+echo "\nResource type..var_dump after file open returns\n";
+var_dump($res);
+echo "Resource type..after file open  is_resource() returns";
+if (is_resource($res)) {
+	echo " TRUE\n";
+} else {
+	echo " FALSE\n";
+}
+
+fclose($res);
+echo "\nResource type..var_dump after file close returns\n";
+var_dump($res);
+echo "Resource type..after file close is_resource() returns";
+if (is_resource($res)) {
+	echo " TRUE\n";
+} else {
+	echo " FALSE\n";
+}	
+
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing is_resource() : basic functionality ***
+
+Non-resource type cases
+bool=false test returns FALSE
+bool=true test returns FALSE
+integer test returns FALSE
+double test returns FALSE
+string test returns FALSE
+array test returns FALSE
+NULL test returns FALSE
+object test returns FALSE
+
+Resource type..var_dump after file open returns
+resource(%d) of type (%s)
+Resource type..after file open  is_resource() returns TRUE
+
+Resource type..var_dump after file close returns
+resource(%d) of type (Unknown)
+Resource type..after file close is_resource() returns FALSE
+===DONE===
diff --git a/ext/standard/tests/general_functions/is_resource_error.phpt b/ext/standard/tests/general_functions/is_resource_error.phpt
new file mode 100644
index 0000000..f0619fa
--- /dev/null
+++ b/ext/standard/tests/general_functions/is_resource_error.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Test is_resource() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : bool is_resource  ( mixed $var  )
+ * Description:  Finds whether a variable is a resource
+ * Source code: ext/standard/type.c
+ */
+
+echo "*** Testing is_resource() : error conditions ***\n";
+
+echo "\n-- Testing is_resource() function with Zero arguments --\n";
+var_dump( is_resource() );
+
+echo "\n-- Testing is_resource() function with more than expected no. of arguments --\n";
+$res = fopen(__FILE__, "r");
+$extra_arg = 10;
+var_dump( is_resource($res, $extra_arg) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing is_resource() : error conditions ***
+
+-- Testing is_resource() function with Zero arguments --
+
+Warning: is_resource(): Only one argument expected in %s on line %d
+bool(false)
+
+-- Testing is_resource() function with more than expected no. of arguments --
+
+Warning: is_resource(): Only one argument expected in %s on line %d
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/isset_basic1.phpt b/ext/standard/tests/general_functions/isset_basic1.phpt
new file mode 100644
index 0000000..4c03210
--- /dev/null
+++ b/ext/standard/tests/general_functions/isset_basic1.phpt
@@ -0,0 +1,66 @@
+--TEST--
+Test isset() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : bool isset  ( mixed $var  [, mixed $var  [,  $...  ]] )
+ * Description:  Determine if a variable is set and is not NULL
+ */		
+
+class foo {}
+
+echo "*** Testing isset() : basic functionality ***\n";
+
+$i = 10;
+$f = 10.5;
+$s = "Hello";
+$a = array(1,2,3,4,5);
+$b = true;
+$n = NULL;
+$obj = new foo;
+$res = fopen(__FILE__, "r");
+
+echo "Integer test: " . (isset($i) ? "YES": "NO")  . "\n";
+echo "Float test: " . (isset($f) ? "YES": "NO") . "\n";
+echo "String test: " . (isset($s) ? "YES": "NO") . "\n";
+echo "Array test: " . (isset($a) ? "YES": "NO") . "\n";
+echo "Boolean test: " . (isset($b) ? "YES": "NO") . "\n";
+echo "Null test: " . (isset($n) ? "YES": "NO") . "\n";
+echo "Object test: " . (isset($obj) ? "YES": "NO") . "\n";
+echo "Resource test: " . (isset($res) ? "YES": "NO") . "\n";
+
+echo "\n\nUnset the variables\n\n";
+unset($i, $f, $s, $a, $b, $n, $obj, $res);
+
+echo "Integer test: " . (isset($i) ? "YES": "NO")  . "\n";
+echo "Float test: " . (isset($f) ? "YES": "NO") . "\n";
+echo "String test: " . (isset($s) ? "YES": "NO") . "\n";
+echo "Array test: " . (isset($a) ? "YES": "NO") . "\n";
+echo "Boolean test: " . (isset($b) ? "YES": "NO") . "\n";
+echo "Null test: " . (isset($n) ? "YES": "NO") . "\n";
+echo "Object test: " . (isset($obj) ? "YES": "NO") . "\n";
+echo "Resource test: " . (isset($res) ? "YES": "NO") . "\n";
+?>
+===DONE===
+--EXPECT--
+*** Testing isset() : basic functionality ***
+Integer test: YES
+Float test: YES
+String test: YES
+Array test: YES
+Boolean test: YES
+Null test: NO
+Object test: YES
+Resource test: YES
+
+
+Unset the variables
+
+Integer test: NO
+Float test: NO
+String test: NO
+Array test: NO
+Boolean test: NO
+Null test: NO
+Object test: NO
+Resource test: NO
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/isset_basic2.phpt b/ext/standard/tests/general_functions/isset_basic2.phpt
new file mode 100644
index 0000000..9137aeb
--- /dev/null
+++ b/ext/standard/tests/general_functions/isset_basic2.phpt
@@ -0,0 +1,60 @@
+--TEST--
+Test isset() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : bool isset  ( mixed $var  [, mixed $var  [,  $...  ]] )
+ * Description:  Determine if a variable is set and is not NULL
+ */		
+
+class foo {}
+
+echo "*** Testing isset() : basic functionality ***\n";
+
+$i = 10;
+$f = 10.5;
+$s = "Hello";
+$b = true;
+$n = NULL;
+
+echo "Test multiple scalar variables in a group\n";
+var_dump(isset($i, $f, $s, $b));
+var_dump(isset($i, $f, $s, $b, $n));
+
+echo "Unset a few\n";
+unset($i, $b);
+
+echo "Test again\n";
+var_dump(isset($i, $f, $s, $b));
+
+echo "\n\nArray test:\n";
+$arr = array();
+var_dump(isset($var)); 
+var_dump(isset($var[1]));
+var_dump(isset($var, $var[1])); 
+echo "..now set\n";
+$var[1] = 10;
+var_dump(isset($var)); 
+var_dump(isset($var[1])); 
+var_dump(isset($var, $var[1])); 
+
+?>
+===DONE===
+--EXPECT--
+*** Testing isset() : basic functionality ***
+Test multiple scalar variables in a group
+bool(true)
+bool(false)
+Unset a few
+Test again
+bool(false)
+
+
+Array test:
+bool(false)
+bool(false)
+bool(false)
+..now set
+bool(true)
+bool(true)
+bool(true)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/phpcredits2.phpt b/ext/standard/tests/general_functions/phpcredits2.phpt
index 9c5148b..ee17f59 100644
--- a/ext/standard/tests/general_functions/phpcredits2.phpt
+++ b/ext/standard/tests/general_functions/phpcredits2.phpt
@@ -1,7 +1,5 @@
 --TEST--
 phpcredits() CGI
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 dummy=x
 --FILE--
diff --git a/ext/standard/tests/general_functions/phpinfo2.phpt b/ext/standard/tests/general_functions/phpinfo2.phpt
index cf65e0c..891867f 100644
--- a/ext/standard/tests/general_functions/phpinfo2.phpt
+++ b/ext/standard/tests/general_functions/phpinfo2.phpt
@@ -1,7 +1,5 @@
 --TEST--
 phpinfo() CGI
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 dummy=x
 --FILE--
diff --git a/ext/standard/tests/general_functions/proc_nice_basic.phpt b/ext/standard/tests/general_functions/proc_nice_basic.phpt
new file mode 100644
index 0000000..5a95756
--- /dev/null
+++ b/ext/standard/tests/general_functions/proc_nice_basic.phpt
@@ -0,0 +1,27 @@
+--TEST--
+proc_nice() basic behaviour
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+	function getNice($id)
+	{
+		$res = shell_exec('ps -p ' . $id .' -o "%p %n"');
+		preg_match('/^\s*\w+\s+\w+\s*(\d+)\s+(\d+)/m', $res, $matches);
+		if (count($matches) > 2)
+			return $matches[2];
+		else
+			return -1;
+	}
+	$delta = 10;
+	$pid = getmypid();
+	$niceBefore = getNice($pid);
+	proc_nice($delta);
+	$niceAfter = getNice($pid);
+	var_dump($niceBefore == ($niceAfter - $delta));
+?>
+--EXPECTF--
+bool(true)
diff --git a/ext/standard/tests/general_functions/proc_nice_error.phpt b/ext/standard/tests/general_functions/proc_nice_error.phpt
new file mode 100644
index 0000000..c50812c
--- /dev/null
+++ b/ext/standard/tests/general_functions/proc_nice_error.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Test function proc_nice() by calling it more than or less than its expected arguments
+--FILE--
+<?php
+
+
+echo "*** Test by calling method or function with incorrect numbers of arguments ***\n"
+
+$priority = 
+
+
+$extra_arg = 
+
+var_dump(proc_nice( $priority, $extra_arg ) );
+
+var_dump(proc_nice(  ) );
+
+
+?>
+--EXPECTF--
+Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in %s on line %d
diff --git a/ext/standard/tests/general_functions/proc_nice_variation1.phpt b/ext/standard/tests/general_functions/proc_nice_variation1.phpt
new file mode 100644
index 0000000..b86155c
--- /dev/null
+++ b/ext/standard/tests/general_functions/proc_nice_variation1.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test function proc_nice() by substituting argument 1 with array values.
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with array values ***\n";
+
+
+
+$index_array = array(1, 2, 3);
+$assoc_array = array(1 => 'one', 2 => 'two');
+
+$variation_array = array(
+  'empty array' => array(),
+  'int indexed array' => $index_array,
+  'associative array' => $assoc_array,
+  'nested arrays' => array('foo', $index_array, $assoc_array),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(proc_nice( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with array values ***
+
+Warning: proc_nice() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: proc_nice() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: proc_nice() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: proc_nice() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
diff --git a/ext/standard/tests/general_functions/proc_nice_variation2.phpt b/ext/standard/tests/general_functions/proc_nice_variation2.phpt
new file mode 100644
index 0000000..620fe91
--- /dev/null
+++ b/ext/standard/tests/general_functions/proc_nice_variation2.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Test function proc_nice() by substituting argument 1 with boolean values.
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with boolean values ***\n";
+
+
+
+$variation_array = array(
+  'lowercase true' => true,
+  'lowercase false' =>false,
+  'uppercase TRUE' =>TRUE,
+  'uppercase FALSE' =>FALSE,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(proc_nice( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with boolean values ***
+bool(true)
+bool(true)
+bool(true)
+bool(true)
diff --git a/ext/standard/tests/general_functions/proc_nice_variation3.phpt b/ext/standard/tests/general_functions/proc_nice_variation3.phpt
new file mode 100644
index 0000000..458126d
--- /dev/null
+++ b/ext/standard/tests/general_functions/proc_nice_variation3.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test function proc_nice() by substituting argument 1 with emptyUnsetUndefNull values.
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with emptyUnsetUndefNull values ***\n";
+
+
+
+$unset_var = 10;
+unset($unset_var);
+
+$variation_array = array(
+  'unset var' => @$unset_var,
+  'undefined var' => @$undefined_var,
+  'empty string DQ' => "",
+  'empty string SQ' => '',
+  'uppercase NULL' => NULL,
+  'lowercase null' => null,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(proc_nice( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with emptyUnsetUndefNull values ***
+bool(true)
+bool(true)
+
+Warning: proc_nice() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: proc_nice() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+bool(true)
+bool(true)
diff --git a/ext/standard/tests/general_functions/proc_nice_variation5.phpt b/ext/standard/tests/general_functions/proc_nice_variation5.phpt
new file mode 100644
index 0000000..d832510
--- /dev/null
+++ b/ext/standard/tests/general_functions/proc_nice_variation5.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Test function proc_nice() by substituting argument 1 with int values.
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with int values ***\n";
+
+
+
+$variation_array = array (
+    'int 0' => 0,
+    'int 1' => 1,
+    'int 12345' => 12345,
+    'int -12345' => -2345,
+    );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(proc_nice( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with int values ***
+bool(true)
+bool(true)
+bool(true)
+
+Warning: proc_nice(): Only a super user may attempt to increase the priority of a process in %s on line %d
+bool(false)
diff --git a/ext/standard/tests/general_functions/proc_nice_variation6.phpt b/ext/standard/tests/general_functions/proc_nice_variation6.phpt
new file mode 100644
index 0000000..b4babd5
--- /dev/null
+++ b/ext/standard/tests/general_functions/proc_nice_variation6.phpt
@@ -0,0 +1,52 @@
+--TEST--
+Test function proc_nice() by substituting argument 1 with object values.
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with object values ***\n";
+
+
+
+function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
+        if (error_reporting() != 0) {
+                // report non-silenced errors
+                echo "Error: $err_no - $err_msg, $filename($linenum)\n";
+        }
+}
+set_error_handler('test_error_handler');
+
+
+
+class classWithToString
+{
+        public function __toString() {
+                return "Class A object";
+        }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+  'instance of classWithToString' => new classWithToString(),
+  'instance of classWithoutToString' => new classWithoutToString(),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(proc_nice( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with object values ***
+Error: 2 - proc_nice() expects parameter 1 to be long, object given, %s(%d)
+bool(false)
+Error: 2 - proc_nice() expects parameter 1 to be long, object given, %s(%d)
+bool(false)
diff --git a/ext/standard/tests/general_functions/proc_nice_variation7.phpt b/ext/standard/tests/general_functions/proc_nice_variation7.phpt
new file mode 100644
index 0000000..70487dd
--- /dev/null
+++ b/ext/standard/tests/general_functions/proc_nice_variation7.phpt
@@ -0,0 +1,45 @@
+--TEST--
+Test function proc_nice() by substituting argument 1 with string values.
+--CREDITS--
+Italian PHP TestFest 2009 Cesena 19-20-21 june
+Fabio Fabbrucci (fabbrucci at grupporetina.com)
+Michele Orselli (mo at ideato.it)
+Simone Gentili (sensorario at gmail.com)
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with string values ***\n";
+
+
+
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'string DQ' => "string",
+  'string SQ' => 'string',
+  'mixed case string' => "sTrInG",
+  'heredoc' => $heredoc,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(proc_nice( $var  ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with string values ***
+
+Warning: proc_nice() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: proc_nice() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: proc_nice() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: proc_nice() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
diff --git a/ext/standard/tests/general_functions/sleep_basic.phpt b/ext/standard/tests/general_functions/sleep_basic.phpt
new file mode 100644
index 0000000..87bef61
--- /dev/null
+++ b/ext/standard/tests/general_functions/sleep_basic.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Test sleep() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : int sleep  ( int $seconds  )
+ * Description: Delays the program execution for the given number of seconds . 
+ * Source code: ext/standard/basic_functions.c
+ */
+
+echo "*** Testing sleep() : basic functionality ***\n";
+
+$sleeptime = 5; // sleep for 5 seconds 
+
+set_time_limit(20); 
+
+$time_start = microtime(true);
+
+// Sleep for a while
+sleep($sleeptime);
+
+// Test passes if sleeps for at least 98 of specified time 
+$sleeplow = $sleeptime - ($sleeptime * 2 /100);
+
+$time_end = microtime(true);
+$time = $time_end - $time_start;
+
+echo "Thread slept for " . $time . " seconds\n";
+
+if ($time >= $sleeplow) {
+	echo "TEST PASSED\n";
+} else {
+	echo "TEST FAILED - time is ${time} secs and sleep was ${sleeptime} secs\n";
+}
+?>
+===DONE===
+--EXPECTF--
+*** Testing sleep() : basic functionality ***
+Thread slept for %f seconds
+TEST PASSED
+===DONE===
diff --git a/ext/standard/tests/general_functions/sleep_error.phpt b/ext/standard/tests/general_functions/sleep_error.phpt
new file mode 100644
index 0000000..c852be2
--- /dev/null
+++ b/ext/standard/tests/general_functions/sleep_error.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test sleep() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : int sleep  ( int $seconds  )
+ * Description: Delays the program execution for the given number of seconds . 
+ * Source code: ext/standard/basic_functions.c
+ */
+echo "*** Testing sleep() : error conditions ***\n";
+
+set_time_limit(20); 
+
+echo "\n-- Testing sleep() function with zero arguments --\n";
+var_dump( sleep() );
+
+echo "\n-- Testing sleep() function with more than expected no. of arguments --\n";
+$seconds = 10;
+$extra_arg = 10;
+var_dump( sleep($seconds, $extra_arg) );
+
+echo "\n-- Testing sleep() function with negative interval --\n";
+$seconds = -10;
+var_dump( sleep($seconds) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing sleep() : error conditions ***
+
+-- Testing sleep() function with zero arguments --
+
+Warning: sleep() expects exactly 1 parameter, 0 given in %s on line %d
+bool(false)
+
+-- Testing sleep() function with more than expected no. of arguments --
+
+Warning: sleep() expects exactly 1 parameter, 2 given in %s on line %d
+bool(false)
+
+-- Testing sleep() function with negative interval --
+
+Warning: sleep(): Number of seconds must be greater than or equal to 0 in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/standard/tests/general_functions/uniqid_basic.phpt b/ext/standard/tests/general_functions/uniqid_basic.phpt
new file mode 100644
index 0000000..9a9c573
--- /dev/null
+++ b/ext/standard/tests/general_functions/uniqid_basic.phpt
@@ -0,0 +1,73 @@
+--TEST--
+Test uniqid() function : basic functionality
+--FILE--
+<?php
+/* Prototype  : string uniqid  ([ string $prefix= ""  [, bool $more_entropy= false  ]] )
+ * Description: Gets a prefixed unique identifier based on the current time in microseconds. 
+ * Source code: ext/standard/uniqid.c
+*/
+echo "*** Testing uniqid() : basic functionality ***\n";
+
+echo "\nuniqid() without a prefix\n";
+var_dump(uniqid());
+var_dump(uniqid(null, true));
+var_dump(uniqid(null, false));
+echo "\n\n";
+
+echo "uniqid() with a prefix\n";
+
+// Use a fixed prefix so we can ensure length of o/p id is fixed 
+$prefix = array (
+				99999,
+				"99999",
+				10.5e2,
+				null,
+				true,
+				false				
+				);
+
+for ($i = 0; $i < count($prefix); $i++) {				
+	var_dump(uniqid($prefix[$i]));
+	var_dump(uniqid($prefix[$i], true));
+	var_dump(uniqid($prefix[$i], false));
+	echo "\n";
+}	
+
+?>
+===DONE===
+--EXPECTF-- 
+*** Testing uniqid() : basic functionality ***
+
+uniqid() without a prefix
+string(13) "%s"
+string(23) "%s.%s"
+string(13) "%s"
+
+
+uniqid() with a prefix
+string(18) "99999%s"
+string(28) "99999%s.%s"
+string(18) "99999%s"
+
+string(18) "999994%s"
+string(28) "999994%s.%s"
+string(18) "999994%s"
+
+string(17) "1050%s"
+string(27) "1050%s.%s"
+string(17) "1050%s"
+
+string(13) "%s"
+string(23) "%s.%s"
+string(13) "%s"
+
+string(14) "1%s"
+string(24) "1%s.%s"
+string(14) "1%s"
+
+string(13) "%s"
+string(23) "%s.%s"
+string(13) "%s"
+
+===DONE===
+	
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/uniqid_error.phpt b/ext/standard/tests/general_functions/uniqid_error.phpt
new file mode 100644
index 0000000..9608431
--- /dev/null
+++ b/ext/standard/tests/general_functions/uniqid_error.phpt
@@ -0,0 +1,46 @@
+--TEST--
+Test uniqid() function : error conditions
+--FILE--
+<?php
+/* Prototype  : string uniqid  ([ string $prefix= ""  [, bool $more_entropy= false  ]] )
+ * Description: Gets a prefixed unique identifier based on the current time in microseconds. 
+ * Source code: ext/standard/uniqid.c
+*/
+echo "*** Testing uniqid() : error conditions ***\n";
+
+echo "\n-- Testing uniqid() function with more than expected no. of arguments --\n";
+$prefix = null;
+$more_entropy = false;
+$extra_arg = false;
+var_dump(uniqid($prefix, $more_entropy, $extra_arg));
+
+echo "\n-- Testing uniqid() function with invalid values for \$prefix --\n";
+class class1{}
+$obj = new class1();
+$res = fopen(__FILE__, "r"); 
+$array = array(1,2,3);
+
+uniqid($array, false);
+uniqid($res, false);
+uniqid($obj, false);
+
+fclose($res);
+
+?>
+===DONE===
+--EXPECTF-- 
+*** Testing uniqid() : error conditions ***
+
+-- Testing uniqid() function with more than expected no. of arguments --
+
+Warning: uniqid() expects at most 2 parameters, 3 given in %s on line %d
+NULL
+
+-- Testing uniqid() function with invalid values for $prefix --
+
+Warning: uniqid() expects parameter 1 to be string, array given in %s on line %d
+
+Warning: uniqid() expects parameter 1 to be string, resource given in %s on line %d
+
+Warning: uniqid() expects parameter 1 to be string, object given in %s on line %d
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/general_functions/usleep_basic.phpt b/ext/standard/tests/general_functions/usleep_basic.phpt
new file mode 100644
index 0000000..a5677a7
--- /dev/null
+++ b/ext/standard/tests/general_functions/usleep_basic.phpt
@@ -0,0 +1,39 @@
+--TEST--
+Test usleep() function
+--FILE--
+<?php
+/* Prototype  : void usleep  ( int $micro_seconds  )
+ * Description: Delays program execution for the given number of micro seconds. 
+ * Source code: ext/standard/basic_functions.c
+ */
+ 
+echo "*** Testing usleep() : basic functionality ***\n";
+
+set_time_limit(20); 
+
+$sleeptime = 5000000; // == 5 seconds
+// Test passes if sleeps for at least 98% of specified time 
+$sleeplow = $sleeptime - ($sleeptime * 2 /100);
+
+$time_start = microtime(true);
+
+// Sleep for a while
+usleep($sleeptime);
+
+$time_end = microtime(true);
+$time = ($time_end - $time_start) * 1000 * 1000;
+
+echo "Thread slept for " . $time . " micro-seconds\n";
+
+if ($time >= $sleeplow) {
+	echo "TEST PASSED\n";
+} else {
+	echo "TEST FAILED - time is ${time} micro-seconds and sleep was ${sleeptime} micro-seconds\n";
+}
+?>
+===DONE===
+--EXPECTF--
+*** Testing usleep() : basic functionality ***
+Thread slept for %f micro-seconds
+TEST PASSED
+===DONE===
diff --git a/ext/standard/tests/general_functions/usleep_error.phpt b/ext/standard/tests/general_functions/usleep_error.phpt
new file mode 100644
index 0000000..4cabde0
--- /dev/null
+++ b/ext/standard/tests/general_functions/usleep_error.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test usleep() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : void usleep  ( int $micro_seconds  )
+ * Description: Delays program execution for the given number of micro seconds. 
+ * Source code: ext/standard/basic_functions.c
+ */
+echo "*** Testing usleep() : error conditions ***\n";
+
+set_time_limit(20); 
+
+echo "\n-- Testing usleep() function with zero arguments --\n";
+var_dump( usleep() );
+
+echo "\n-- Testing usleep() function with more than expected no. of arguments --\n";
+$seconds = 10;
+$extra_arg = 10;
+var_dump( usleep($seconds, $extra_arg) );
+
+echo "\n-- Testing usleep() function with negative interval --\n";
+$seconds = -10;
+var_dump( usleep($seconds) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing usleep() : error conditions ***
+
+-- Testing usleep() function with zero arguments --
+
+Warning: usleep() expects exactly 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing usleep() function with more than expected no. of arguments --
+
+Warning: usleep() expects exactly 1 parameter, 2 given in %s on line %d
+NULL
+
+-- Testing usleep() function with negative interval --
+
+Warning: usleep(): Number of microseconds must be greater than or equal to 0 in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/standard/tests/general_functions/var_dump_64bit.phpt b/ext/standard/tests/general_functions/var_dump_64bit.phpt
index 144d34b..0a72d31 100644
--- a/ext/standard/tests/general_functions/var_dump_64bit.phpt
+++ b/ext/standard/tests/general_functions/var_dump_64bit.phpt
@@ -462,7 +462,8 @@ string(34) "abcd efgh ijkl mnop 0qrst uvwx 0yz"
 -- Iteration 14 --
 string(22) "1234	
 5678
-	9100
abcda"
+	9100
+abcda"
 
 *** Testing var_dump() on boolean variables ***
 -- Iteration 1 --
@@ -1302,7 +1303,8 @@ array(14) {
   [13]=>
   string(22) "1234	
 5678
-	9100
abcda"
+	9100
+abcda"
 }
 array(15) {
   [0]=>
diff --git a/ext/standard/tests/http/bug43510.phpt b/ext/standard/tests/http/bug43510.phpt
new file mode 100644
index 0000000..7358ee1
--- /dev/null
+++ b/ext/standard/tests/http/bug43510.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Bug #43510 (stream_get_meta_data() does not return same mode as used in fopen)
+--SKIPIF--
+<?php require 'server.inc'; http_server_skipif('tcp://127.0.0.1:12342'); ?>
+--FILE--
+<?php
+require 'server.inc';
+
+$responses = array(
+	"data://text/plain,HTTP/1.0 200 OK\r\n\r\n",
+	"data://text/plain,HTTP/1.0 200 OK\r\n\r\n",
+);
+
+$pid = http_server("tcp://127.0.0.1:12342", $responses, $output);
+
+foreach(array('r', 'rb') as $mode) {
+	$fd = fopen('http://127.0.0.1:12342/', $mode, false);
+	$meta = stream_get_meta_data($fd);
+	var_dump($meta['mode']);
+	fclose($fd);
+}
+
+http_server_kill($pid);
+
+?>
+--EXPECT--
+string(1) "r"
+string(2) "rb"
diff --git a/ext/standard/tests/http/bug48929.phpt b/ext/standard/tests/http/bug48929.phpt
new file mode 100644
index 0000000..035ebb1
--- /dev/null
+++ b/ext/standard/tests/http/bug48929.phpt
@@ -0,0 +1,56 @@
+--TEST--
+Bug #48929 (duplicate \r\n sent after last header line)
+--SKIPIF--
+<?php require 'server.inc'; http_server_skipif('tcp://127.0.0.1:12342'); ?>
+--FILE--
+<?php
+require 'server.inc';
+
+function do_test($context_options) {
+
+	$context = stream_context_create(array('http' => $context_options));
+
+	$responses = array(
+		"data://text/plain,HTTP/1.0 200 OK\r\n\r\n",
+	);
+
+	$pid = http_server("tcp://127.0.0.1:12342", $responses, $output);
+
+	foreach($responses as $r) {
+
+		$fd = fopen('http://127.0.0.1:12342/', 'rb', false, $context);
+
+		fseek($output, 0, SEEK_SET);
+		var_dump(stream_get_contents($output));
+		fseek($output, 0, SEEK_SET);
+	}
+
+	http_server_kill($pid);
+}
+
+echo "-- Test: requests with 'header' as array --\n";
+
+do_test(array('header' => array('X-Foo: bar', 'Content-Type: text/plain'), 'method' => 'POST', 'content' => 'ohai'));
+
+echo "-- Test: requests with 'header' as string --\n";
+
+do_test(array('header' => "X-Foo: bar\r\nContent-Type: text/plain", 'method' => 'POST', 'content' => 'ohai'));
+
+?>
+--EXPECT--
+-- Test: requests with 'header' as array --
+string(103) "POST / HTTP/1.0
+Host: 127.0.0.1:12342
+Content-Length: 4
+X-Foo: bar
+Content-Type: text/plain
+
+ohai"
+-- Test: requests with 'header' as string --
+string(103) "POST / HTTP/1.0
+Host: 127.0.0.1:12342
+Content-Length: 4
+X-Foo: bar
+Content-Type: text/plain
+
+ohai"
diff --git a/ext/standard/tests/math/abs.phpt b/ext/standard/tests/math/abs.phpt
index c912c96..9c981bb 100644
--- a/ext/standard/tests/math/abs.phpt
+++ b/ext/standard/tests/math/abs.phpt
@@ -1,7 +1,7 @@
 --TEST--
 Simple math tests
 --FILE--
-<?php // $Id: abs.phpt,v 1.4 2004/05/19 08:54:51 helly Exp $
+<?php // $Id: abs.phpt 158958 2004-05-19 08:56:50Z helly $
 
 define('LONG_MAX', is_int(5000000000)? 9223372036854775807 : 0x7FFFFFFF);
 define('LONG_MIN', -LONG_MAX - 1);
diff --git a/ext/standard/tests/math/acosh_basic.phpt b/ext/standard/tests/math/acosh_basic.phpt
index 34839ee..1f277f9 100644
--- a/ext/standard/tests/math/acosh_basic.phpt
+++ b/ext/standard/tests/math/acosh_basic.phpt
@@ -2,9 +2,10 @@
 Test return type and value for expected input acosh()
 --SKIPIF--
 <?php
-if(substr(PHP_OS, 0, 3) == "WIN")
-	die ("skip - function not supported on Windows");
-?>
+if (!function_exists("acosh")) {
+	die("SKIP acosh - not supported\n");
+}
+?> 
 --INI--
 precision = 14
 --FILE--
diff --git a/ext/standard/tests/math/acosh_basiclong_64bit.phpt b/ext/standard/tests/math/acosh_basiclong_64bit.phpt
index 80c33b2..c8e7bbe 100644
--- a/ext/standard/tests/math/acosh_basiclong_64bit.phpt
+++ b/ext/standard/tests/math/acosh_basiclong_64bit.phpt
@@ -2,7 +2,8 @@
 Test acosh function : 64bit long tests
 --SKIPIF--
 <?php
-if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+if (PHP_INT_SIZE != 8) die("SKIP this test is for 64bit platform only");
+if (!function_exists("acosh")) die("SKIP acosh - not supported\n");
 ?>
 --FILE--
 <?php
diff --git a/ext/standard/tests/math/acosh_error.phpt b/ext/standard/tests/math/acosh_error.phpt
index fd2f921..d1f0bd6 100644
--- a/ext/standard/tests/math/acosh_error.phpt
+++ b/ext/standard/tests/math/acosh_error.phpt
@@ -2,9 +2,10 @@
 Test wrong number of arguments for acosh()
 --SKIPIF--
 <?php
-if(substr(PHP_OS, 0, 3) == "WIN" )
-        die ("skip - function not supported on Windows");
-?>
+if (!function_exists("acosh")) {
+	die("SKIP acosh - not supported\n");
+}
+?> 
 --FILE--
 <?php
 /* 
diff --git a/ext/standard/tests/math/acosh_variation.phpt b/ext/standard/tests/math/acosh_variation.phpt
index b0e9f9b..e404480 100644
--- a/ext/standard/tests/math/acosh_variation.phpt
+++ b/ext/standard/tests/math/acosh_variation.phpt
@@ -2,9 +2,10 @@
 Test variations in usage of acosh()
 --SKIPIF--
 <?php
-if(substr(PHP_OS, 0, 3) == "WIN" )
-        die ("skip - function not supported on Windows");
-?>
+if (!function_exists("acosh")) {
+	die("SKIP acosh - not supported\n");
+}
+?>  
 --INI--
 precision = 10
 --FILE--
diff --git a/ext/standard/tests/math/asinh_basic.phpt b/ext/standard/tests/math/asinh_basic.phpt
index 61f1731..5f6503b 100644
--- a/ext/standard/tests/math/asinh_basic.phpt
+++ b/ext/standard/tests/math/asinh_basic.phpt
@@ -2,9 +2,10 @@
 Test return type and value for expected input asinh()
 --SKIPIF--
 <?php
-if(substr(PHP_OS, 0, 3) == "WIN")
-	die ("skip - function not supported on Windows");
-?>
+if (!function_exists("asinh")) {
+	die("SKIP asinh - not supported\n");
+}
+?> 
 --INI--
 precision = 14
 --FILE--
diff --git a/ext/standard/tests/math/asinh_basiclong_64bit.phpt b/ext/standard/tests/math/asinh_basiclong_64bit.phpt
index a501d75..98e1ceb 100644
--- a/ext/standard/tests/math/asinh_basiclong_64bit.phpt
+++ b/ext/standard/tests/math/asinh_basiclong_64bit.phpt
@@ -3,6 +3,7 @@ Test asinh function : 64bit long tests
 --SKIPIF--
 <?php
 if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+if (!function_exists("asinh")) die("SKIP asinh - not supported\n");
 ?>
 --FILE--
 <?php
diff --git a/ext/standard/tests/math/asinh_error.phpt b/ext/standard/tests/math/asinh_error.phpt
index 96f7ba0..b9e3331 100644
--- a/ext/standard/tests/math/asinh_error.phpt
+++ b/ext/standard/tests/math/asinh_error.phpt
@@ -2,9 +2,10 @@
 Test wrong number of arguments for asinh()
 --SKIPIF--
 <?php
-if(substr(PHP_OS, 0, 3) == "WIN" )
-        die ("skip - function not supported on Windows");
-?>
+if (!function_exists("asinh")) {
+	die("SKIP asinh - not supported\n");
+}
+?> 
 --FILE--
 <?php
 /* 
diff --git a/ext/standard/tests/math/asinh_variation.phpt b/ext/standard/tests/math/asinh_variation.phpt
index 00ade0b..cfc39f5 100644
--- a/ext/standard/tests/math/asinh_variation.phpt
+++ b/ext/standard/tests/math/asinh_variation.phpt
@@ -2,9 +2,10 @@
 Test variations in usage of asinh()
 --SKIPIF--
 <?php
-if(substr(PHP_OS, 0, 3) == "WIN" )
-        die ("skip - function not supported on Windows");
-?>
+if (!function_exists("asinh")) {
+	die("SKIP asinh - not supported\n");
+}
+?> 
 --INI--
 precision = 10
 --FILE--
diff --git a/ext/standard/tests/math/atanh_basic.phpt b/ext/standard/tests/math/atanh_basic.phpt
index c259bdb..6f13252 100644
--- a/ext/standard/tests/math/atanh_basic.phpt
+++ b/ext/standard/tests/math/atanh_basic.phpt
@@ -2,9 +2,10 @@
 Test return type and value for expected input atanh()
 --SKIPIF--
 <?php
-if(substr(PHP_OS, 0, 3) == "WIN" )
-	die ("skip - function not supported on Windows");
-?>
+if (!function_exists("atanh")) {
+	die("SKIP atanh - not supported\n");
+}
+?> 
 --INI--
 precision = 14
 --FILE--
diff --git a/ext/standard/tests/math/atanh_basiclong_64bit.phpt b/ext/standard/tests/math/atanh_basiclong_64bit.phpt
index d7608ca..cc8d858 100644
--- a/ext/standard/tests/math/atanh_basiclong_64bit.phpt
+++ b/ext/standard/tests/math/atanh_basiclong_64bit.phpt
@@ -3,6 +3,7 @@ Test atanh function : 64bit long tests
 --SKIPIF--
 <?php
 if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+if (!function_exists("atanh")) die("SKIP atanh - not supported\n");
 ?>
 --FILE--
 <?php
diff --git a/ext/standard/tests/math/atanh_error.phpt b/ext/standard/tests/math/atanh_error.phpt
index 3201eef..e343839 100644
--- a/ext/standard/tests/math/atanh_error.phpt
+++ b/ext/standard/tests/math/atanh_error.phpt
@@ -2,9 +2,10 @@
 Test wrong number of arguments for atanh()
 --SKIPIF--
 <?php
-if(substr(PHP_OS, 0, 3) == "WIN" )
-        die ("skip - function not supported on Windows");
-?>
+if (!function_exists("atanh")) {
+	die("SKIP atanh - not supported\n");
+}
+?> 
 --FILE--
 <?php
 /* 
diff --git a/ext/standard/tests/math/atanh_variation.phpt b/ext/standard/tests/math/atanh_variation.phpt
index 879b9a9..e0d4f00 100644
--- a/ext/standard/tests/math/atanh_variation.phpt
+++ b/ext/standard/tests/math/atanh_variation.phpt
@@ -2,9 +2,10 @@
 Test variations in usage of atanh()
 --SKIPIF--
 <?php
-if(substr(PHP_OS, 0, 3) == "WIN" )
-        die ("skip - function not supported on Windows");
-?>
+if (!function_exists("atanh")) {
+	die("SKIP atanh - not supported\n");
+}
+?> 
 --INI--
 precision = 10
 --FILE--
diff --git a/ext/standard/tests/math/bug21523.phpt b/ext/standard/tests/math/bug21523.phpt
index 3ca82b6..62fbf7b 100644
--- a/ext/standard/tests/math/bug21523.phpt
+++ b/ext/standard/tests/math/bug21523.phpt
@@ -1,7 +1,7 @@
 --TEST--
 Bug #21523 (number_format tries to allocate negative amount of memory)
 --FILE--
-<?php // $Id: bug21523.phpt,v 1.2.4.1 2006/03/22 19:27:47 tony2001 Exp $ vim600:syn=php
+<?php // $Id: bug21523.phpt 209895 2006-03-22 19:27:47Z tony2001 $ vim600:syn=php
 set_time_limit(5);
 
 var_dump(number_format(-2000, 2768));
diff --git a/ext/standard/tests/math/bug24142.phpt b/ext/standard/tests/math/bug24142.phpt
index e887922..fdb5732 100644
--- a/ext/standard/tests/math/bug24142.phpt
+++ b/ext/standard/tests/math/bug24142.phpt
@@ -1,7 +1,7 @@
 --TEST--
 Bug #24142 (round() problems)
 --FILE--
-<?php // $Id: bug24142.phpt,v 1.4 2003/08/09 16:44:33 iliaa Exp $ vim600:syn=php
+<?php // $Id: bug24142.phpt 137152 2003-08-09 16:44:33Z iliaa $ vim600:syn=php
 $v = 0.005;
 for ($i = 1; $i < 10; $i++) {
 	echo "round({$v}, 2) -> ".round($v, 2)."\n";
diff --git a/ext/standard/tests/math/ceil_basic.phpt b/ext/standard/tests/math/ceil_basic.phpt
index 4264b1c..6794605 100644
--- a/ext/standard/tests/math/ceil_basic.phpt
+++ b/ext/standard/tests/math/ceil_basic.phpt
@@ -2,6 +2,10 @@
 Test ceil() - basic function test for ceil()
 --INI--
 precision=14
+--SKIPIF--
+if (strtolower(PHP_OS) == 'darwin') {
+    die('SKIP OSX does weird things with -0 so this test doesn't work there');
+}
 --FILE--
 <?php
 /* Prototype  : float ceil  ( float $value  )
@@ -63,4 +67,4 @@ float(95)
 float(1)
 float(0)
 float(0)
-===Done===
\ No newline at end of file
+===Done===
diff --git a/ext/standard/tests/math/log.phpt b/ext/standard/tests/math/log.phpt
index c51f668..eebe714 100644
--- a/ext/standard/tests/math/log.phpt
+++ b/ext/standard/tests/math/log.phpt
@@ -1,7 +1,7 @@
 --TEST--
 log() tests
 --FILE--
-<?php // $Id: log.phpt,v 1.3 2004/05/19 08:45:22 helly Exp $
+<?php // $Id: log.phpt 158952 2004-05-19 08:45:46Z helly $
 echo "On failure, please mail result to php-dev at lists.php.net\n";
 for ($x = 0, $count= 0; $x < 200; $x++) {
     $x2 = (int) exp(log($x));
diff --git a/ext/standard/tests/math/pow.phpt b/ext/standard/tests/math/pow.phpt
index 40bd576..d480b4b 100644
--- a/ext/standard/tests/math/pow.phpt
+++ b/ext/standard/tests/math/pow.phpt
@@ -1,7 +1,7 @@
 --TEST--
 Various pow() tests
 --FILE--
-<?php // $Id: pow.phpt,v 1.14 2004/05/19 08:45:22 helly Exp $
+<?php // $Id: pow.phpt 158952 2004-05-19 08:45:46Z helly $
 
 define('LONG_MAX', is_int(5000000000)? 9223372036854775807 : 0x7FFFFFFF);
 define('LONG_MIN', -LONG_MAX - 1);
diff --git a/ext/standard/tests/math/round.phpt b/ext/standard/tests/math/round.phpt
index 56020ec..9ae546e 100644
--- a/ext/standard/tests/math/round.phpt
+++ b/ext/standard/tests/math/round.phpt
@@ -1,7 +1,7 @@
 --TEST--
 Simple math tests
 --FILE--
-<?php // $Id: round.phpt,v 1.4 2004/05/19 08:45:22 helly Exp $
+<?php // $Id: round.phpt 158952 2004-05-19 08:45:46Z helly $
 
 define('LONG_MAX', is_int(5000000000)? 9223372036854775807 : 0x7FFFFFFF);
 define('LONG_MIN', -LONG_MAX - 1);
diff --git a/ext/standard/tests/misc/time_nanosleep_error4.phpt b/ext/standard/tests/misc/time_nanosleep_error4.phpt
index 918d254..fa50c1f 100644
--- a/ext/standard/tests/misc/time_nanosleep_error4.phpt
+++ b/ext/standard/tests/misc/time_nanosleep_error4.phpt
@@ -2,7 +2,7 @@
 time_nanosleep — Delay for a number of seconds and nanoseconds
 --SKIPIF--
 <?php
-if (substr(strtoupper(PHP_OS, 'WIN'))) die("skip Test is not valid for Windows");
+if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') die("skip Test is not valid for Windows");
 if (!function_exists('time_nanosleep')) die("skip");
 ?>
 --CREDITS--
diff --git a/ext/standard/tests/misc/time_sleep_until_basic.phpt b/ext/standard/tests/misc/time_sleep_until_basic.phpt
new file mode 100644
index 0000000..ea9d53e
--- /dev/null
+++ b/ext/standard/tests/misc/time_sleep_until_basic.phpt
@@ -0,0 +1,20 @@
+--TEST--
+time_sleep_until() function - basic test for time_sleep_until()
+--SKIPIF--
+<?php
+	function_exists('time_sleep_until') or die('skip time_sleep_until() is not supported in this build.');
+?>
+--CREDITS--
+Manuel Baldassarri mb at ideato.it
+Michele Orselli mo at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+  $time = time() + 2;
+  time_sleep_until( $time );
+  var_dump( time() >= $time );
+?>
+===DONE===
+--EXPECT--
+bool(true)
+===DONE===
diff --git a/ext/standard/tests/misc/time_sleep_until_error1.phpt b/ext/standard/tests/misc/time_sleep_until_error1.phpt
new file mode 100644
index 0000000..30cb23f
--- /dev/null
+++ b/ext/standard/tests/misc/time_sleep_until_error1.phpt
@@ -0,0 +1,19 @@
+--TEST--
+time_sleep_until() function - error test for time_sleep_until()
+--SKIPIF--
+<?php
+	function_exists('time_sleep_until') or die('skip time_sleep_until() is not supported in this build.');
+?>
+--CREDITS--
+Fabio Fabbrucci fabbrucci at grupporetina.com
+Danilo Sanchi sanchi at grupporetina.com
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+  var_dump(time_sleep_until(time()-1));
+?>
+===DONE===
+--EXPECTF--
+Warning: time_sleep_until(): Sleep until to time is less than current time in %s on line 2
+bool(false)
+===DONE===
diff --git a/ext/standard/tests/misc/time_sleep_until_error2.phpt b/ext/standard/tests/misc/time_sleep_until_error2.phpt
new file mode 100644
index 0000000..311dd72
--- /dev/null
+++ b/ext/standard/tests/misc/time_sleep_until_error2.phpt
@@ -0,0 +1,12 @@
+--TEST--
+time_sleep_until() function - error test for time_sleep_until()
+--CREDITS--
+Filippo De Santis fd at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+  var_dump(time_sleep_until('goofy'));
+?>
+--EXPECTF--
+Warning: time_sleep_until() expects parameter 1 to be double, string given in %s on line 2
+NULL
diff --git a/ext/standard/tests/misc/time_sleep_until_error3.phpt b/ext/standard/tests/misc/time_sleep_until_error3.phpt
new file mode 100644
index 0000000..8305b1c
--- /dev/null
+++ b/ext/standard/tests/misc/time_sleep_until_error3.phpt
@@ -0,0 +1,18 @@
+--TEST--
+time_sleep_until() function - error test for time_sleep_until()
+--SKIPIF--
+<?php
+	function_exists('time_sleep_until') or die('skip time_sleep_until() is not supported in this build.');
+?>
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+  var_dump(time_sleep_until());
+?>
+===DONE===
+--EXPECTF--
+Warning: time_sleep_until() expects exactly 1 parameter, 0 given in %s on line 2
+NULL
+===DONE===
diff --git a/ext/standard/tests/network/gethostbyaddr_basic1.phpt b/ext/standard/tests/network/gethostbyaddr_basic1.phpt
new file mode 100644
index 0000000..2232d36
--- /dev/null
+++ b/ext/standard/tests/network/gethostbyaddr_basic1.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Test gethostbyaddr() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : string gethostbyaddr  ( string $ip_address  )
+ * Description: Get the Internet host name corresponding to a given IP address 
+ * Source code: ext/standard/dns.c
+*/
+
+echo "*** Testing gethostbyaddr() : basic functionality ***\n";
+echo gethostbyaddr("127.0.0.1")."\n";
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing gethostbyaddr() : basic functionality ***
+%rloopback|localhost(\.localdomain)?%r
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/network/gethostbyname_basic003.phpt b/ext/standard/tests/network/gethostbyname_basic003.phpt
new file mode 100644
index 0000000..711490c
--- /dev/null
+++ b/ext/standard/tests/network/gethostbyname_basic003.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Test gethostbyname() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : string gethostbyname  ( string $hostname  )
+ * Description: Get the IPv4 address corresponding to a given Internet host name 
+ * Source code: ext/standard/dns.c
+*/
+
+echo "*** Testing gethostbyname() : basic functionality ***\n";
+
+echo gethostbyname("localhost")."\n";
+?>
+===DONE===
+--EXPECT--
+*** Testing gethostbyname() : basic functionality ***
+127.0.0.1
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/network/gethostbynamel_basic1.phpt b/ext/standard/tests/network/gethostbynamel_basic1.phpt
new file mode 100644
index 0000000..5ce7c42
--- /dev/null
+++ b/ext/standard/tests/network/gethostbynamel_basic1.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Test gethostbynamel() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : array gethostbynamel  ( string $hostname  )
+ * Description: Get a list of IPv4 addresses corresponding to a given Internet host name 
+ * Source code: ext/standard/dns.c
+*/
+
+echo "*** Testing gethostbynamel() : basic functionality ***\n";
+var_dump(gethostbynamel("localhost"));
+?>
+===DONE===
+--EXPECTF--
+*** Testing gethostbynamel() : basic functionality ***
+array(%d) {
+  %a
+}
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/php_ini_loaded_file.phpt b/ext/standard/tests/php_ini_loaded_file.phpt
new file mode 100644
index 0000000..b443c5f
--- /dev/null
+++ b/ext/standard/tests/php_ini_loaded_file.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Check the php_ini_loaded_file() function. No file is loaded in test, so false ins returned
+--CREDITS--
+Sebastian Schürmann
+sschuermann at chip.de
+Testfest 2009 Munich
+--FILE--
+<?php
+var_dump(php_ini_loaded_file());
+?>
+--EXPECTF--
+string(%d) "%s/tmp-php.ini"
diff --git a/ext/standard/tests/php_logo_guid.phpt b/ext/standard/tests/php_logo_guid.phpt
new file mode 100644
index 0000000..c644b28
--- /dev/null
+++ b/ext/standard/tests/php_logo_guid.phpt
@@ -0,0 +1,13 @@
+--TEST--
+Check the output of the php_logo_guid() function 
+--CREDITS--
+Sebastian Schürmann
+sschuermann at chip.de
+Testfest 2009 Munich
+--FILE--
+<?php
+echo php_logo_guid();
+?>
+--EXPECT--
+PHPE9568F34-D428-11d2-A769-00AA001ACF42
+
diff --git a/ext/standard/tests/php_real_logo_guid.phpt b/ext/standard/tests/php_real_logo_guid.phpt
new file mode 100644
index 0000000..a9fa7d3
--- /dev/null
+++ b/ext/standard/tests/php_real_logo_guid.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Testing the undocumented function php_real_logo_guid()
+--CREDITS--
+Sebastian Schürmann
+sschuermann at chip.de
+Testfest 2009 Munich
+--FILE--
+<?php
+echo php_real_logo_guid();
+?>
+--EXPECT--
+PHPE9568F34-D428-11d2-A769-00AA001ACF42
diff --git a/ext/standard/tests/serialize/autoload_implements.p5c b/ext/standard/tests/serialize/autoload_implements.p5c
index 66c8f7e..2c3479c 100755
--- a/ext/standard/tests/serialize/autoload_implements.p5c
+++ b/ext/standard/tests/serialize/autoload_implements.p5c
@@ -1,10 +1,10 @@
-<?php
-
-class autoload_implements implements autoload_interface {
-	function testFunction()
-	{
-		return true;
-	}
-}
-
+<?php
+
+class autoload_implements implements autoload_interface {
+	function testFunction()
+	{
+		return true;
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/standard/tests/serialize/autoload_interface.p5c b/ext/standard/tests/serialize/autoload_interface.p5c
index 3f9a4e7..6908155 100755
--- a/ext/standard/tests/serialize/autoload_interface.p5c
+++ b/ext/standard/tests/serialize/autoload_interface.p5c
@@ -1,7 +1,7 @@
-<?php
-
-interface autoload_interface {
-	function testFunction();
-}
-
+<?php
+
+interface autoload_interface {
+	function testFunction();
+}
+
 ?>
\ No newline at end of file
diff --git a/ext/standard/tests/serialize/bug31442.phpt b/ext/standard/tests/serialize/bug31442.phpt
index 3fd0690..6d451ba 100755
--- a/ext/standard/tests/serialize/bug31442.phpt
+++ b/ext/standard/tests/serialize/bug31442.phpt
@@ -1,10 +1,10 @@
---TEST--
-Bug #31442 (unserialize broken on 64-bit systems)
---INI--
-precision=14
---FILE--
-<?php
-echo unserialize(serialize(2147483648));
-?>
---EXPECT--
-2147483648
+--TEST--
+Bug #31442 (unserialize broken on 64-bit systems)
+--INI--
+precision=14
+--FILE--
+<?php
+echo unserialize(serialize(2147483648));
+?>
+--EXPECT--
+2147483648
diff --git a/ext/standard/tests/serialize/bug37947.phpt b/ext/standard/tests/serialize/bug37947.phpt
index 8964163..07371d1 100755
--- a/ext/standard/tests/serialize/bug37947.phpt
+++ b/ext/standard/tests/serialize/bug37947.phpt
@@ -1,21 +1,21 @@
---TEST--
-Bug #37947 (zend_ptr_stack reallocation problem)
---INI--
-error_reporting=0
---FILE--
-<?php
-class test {
-        function extend_zend_ptr_stack($count,$a,$b,$c,$d,$e) {
-                if ($count>0) $this->extend_zend_ptr_stack($count -
-1,$a,$b,$c,$d,$e);
-        }
-
-        function __wakeup() {
-                $this->extend_zend_ptr_stack(10,'a','b','c','d','e');
-        }
-}
-
-$str='a:2:{i:0;O:4:"test":0:{}junk';
-var_dump(unserialize($str));
---EXPECT--
-bool(false)
+--TEST--
+Bug #37947 (zend_ptr_stack reallocation problem)
+--INI--
+error_reporting=0
+--FILE--
+<?php
+class test {
+        function extend_zend_ptr_stack($count,$a,$b,$c,$d,$e) {
+                if ($count>0) $this->extend_zend_ptr_stack($count -
+1,$a,$b,$c,$d,$e);
+        }
+
+        function __wakeup() {
+                $this->extend_zend_ptr_stack(10,'a','b','c','d','e');
+        }
+}
+
+$str='a:2:{i:0;O:4:"test":0:{}junk';
+var_dump(unserialize($str));
+--EXPECT--
+bool(false)
diff --git a/ext/standard/tests/serialize/unserializeS.phpt b/ext/standard/tests/serialize/unserializeS.phpt
index 264c7f8..897208b 100755
--- a/ext/standard/tests/serialize/unserializeS.phpt
+++ b/ext/standard/tests/serialize/unserializeS.phpt
@@ -1,14 +1,14 @@
---TEST--
-Bug MOPB-29 (wrong length calculation for S)
---INI--
-error_reporting=0
---FILE--
-<?php
-$str = 'S:'.(100*3).':"'.str_repeat('\61', 100).'"';
-$arr = array(str_repeat('"', 200)."1"=>1,str_repeat('"', 200)."2"=>1);
-
-$data = unserialize($str);
-var_dump($data);
-
---EXPECT--
-bool(false)
+--TEST--
+Bug MOPB-29 (wrong length calculation for S)
+--INI--
+error_reporting=0
+--FILE--
+<?php
+$str = 'S:'.(100*3).':"'.str_repeat('\61', 100).'"';
+$arr = array(str_repeat('"', 200)."1"=>1,str_repeat('"', 200)."2"=>1);
+
+$data = unserialize($str);
+var_dump($data);
+
+--EXPECT--
+bool(false)
diff --git a/ext/standard/tests/streams/stream_is_local.phpt b/ext/standard/tests/streams/stream_is_local.phpt
new file mode 100644
index 0000000..c90eb19
--- /dev/null
+++ b/ext/standard/tests/streams/stream_is_local.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Testing stream_is_local()
+--FILE--
+<?php
+
+$a = 1;
+$b = $a;
+var_dump(stream_is_local($b));
+var_dump($b);
+
+var_dump(stream_is_local(fopen(__FILE__, 'r')));
+
+?>
+--EXPECT--
+bool(true)
+int(1)
+bool(true)
diff --git a/ext/standard/tests/strings/006.phpt b/ext/standard/tests/strings/006.phpt
index a5dc3e8..f505f37 100644
--- a/ext/standard/tests/strings/006.phpt
+++ b/ext/standard/tests/strings/006.phpt
@@ -13,7 +13,7 @@ var_dump(ob_get_contents());
 echo "Done\n";
 ?>
 --EXPECTF--	
-Warning: highlight_file(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA): failed to open stream: File name too long in %s on line %d
+Warning: highlight_file(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA): failed to open stream: %s on line %d
 
 Warning: highlight_file(): Failed opening 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' for highlighting in %s on line %d
 bool(false)
diff --git a/ext/standard/tests/strings/addslashes_basic.phpt b/ext/standard/tests/strings/addslashes_basic.phpt
index 6ed1210..0912d34 100644
--- a/ext/standard/tests/strings/addslashes_basic.phpt
+++ b/ext/standard/tests/strings/addslashes_basic.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test addslashes() function : basic functionality 
---INI--
 --FILE--
 <?php
 /* Prototype  : string addslashes ( string $str )
@@ -36,4 +35,4 @@ string(16) "How\'s everybody"
 string(17) "Are you \"JOHN\"?"
 string(19) "c:\\php\\addslashes"
 string(12) "hello\0world"
-Done
\ No newline at end of file
+Done
diff --git a/ext/standard/tests/strings/addslashes_error.phpt b/ext/standard/tests/strings/addslashes_error.phpt
index b512716..fb1d2fe 100644
--- a/ext/standard/tests/strings/addslashes_error.phpt
+++ b/ext/standard/tests/strings/addslashes_error.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test addslashes() function : error conditions 
---INI--
 --FILE--
 <?php
 /* Prototype  : string addslashes ( string $str )
diff --git a/ext/standard/tests/strings/addslashes_variation1.phpt b/ext/standard/tests/strings/addslashes_variation1.phpt
index c4f9fdd..bb20093 100644
--- a/ext/standard/tests/strings/addslashes_variation1.phpt
+++ b/ext/standard/tests/strings/addslashes_variation1.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test addslashes() function : usage variations  - non-string type argument 
---INI--
 --FILE--
 <?php
 /* Prototype  : string addslashes ( string $str )
diff --git a/ext/standard/tests/strings/addslashes_variation2.phpt b/ext/standard/tests/strings/addslashes_variation2.phpt
index 285d905..49009e8 100644
--- a/ext/standard/tests/strings/addslashes_variation2.phpt
+++ b/ext/standard/tests/strings/addslashes_variation2.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test addslashes() function : usage variations - strings with characters to be backslashed
---INI--
 --FILE--
 <?php
 /* Prototype  : string addslashes ( string $str )
@@ -192,4 +191,4 @@ This is line 2 of \"heredoc\" string"
 
 -- Iteration 34 --
 string(0) ""
-Done
\ No newline at end of file
+Done
diff --git a/ext/standard/tests/strings/addslashes_variation3.phpt b/ext/standard/tests/strings/addslashes_variation3.phpt
index 302ca7e..8f46ebe 100644
--- a/ext/standard/tests/strings/addslashes_variation3.phpt
+++ b/ext/standard/tests/strings/addslashes_variation3.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test addslashes() function : usage variations - with magic_quotes_sybase directive ON
---INI--
 --FILE--
 <?php
 /* Prototype  : string addslashes ( string $str )
diff --git a/ext/standard/tests/strings/bug38770.phpt b/ext/standard/tests/strings/bug38770.phpt
index 75522ee..417794c 100644
--- a/ext/standard/tests/strings/bug38770.phpt
+++ b/ext/standard/tests/strings/bug38770.phpt
@@ -1,5 +1,9 @@
 --TEST--
 Bug #38770 (unpack() broken with longs on 64 bit machines)
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
 --FILE--
 <?php
 
diff --git a/ext/standard/tests/strings/bug47481.phpt b/ext/standard/tests/strings/bug47481.phpt
new file mode 100644
index 0000000..4c59a7c
--- /dev/null
+++ b/ext/standard/tests/strings/bug47481.phpt
@@ -0,0 +1,57 @@
+--TEST--
+Bug #47481 (natcasesort() does not sort extended ASCII characters correctly)
+--FILE--
+<?php
+/* Prototype  : bool natcasesort(array &$array_arg)
+ * Description: Sort an array using case-insensitive natural sort
+ * Source code: ext/standard/array.c
+ */
+
+/*
+ * Test natcasesort() with extended ASCII characters
+ */
+
+$array = array ('Süden', 'spielen','Sonne','Wind','Regen','Meer');
+echo "\n-- Before sorting: --\n";
+var_dump($array);
+
+echo "\n-- After Sorting: --\n";
+var_dump(natcasesort($array));
+var_dump($array);
+
+echo "Done";
+?>
+--EXPECTF--
+-- Before sorting: --
+array(6) {
+  [0]=>
+  %string|unicode%(6) "Süden"
+  [1]=>
+  %string|unicode%(7) "spielen"
+  [2]=>
+  %string|unicode%(5) "Sonne"
+  [3]=>
+  %string|unicode%(4) "Wind"
+  [4]=>
+  %string|unicode%(5) "Regen"
+  [5]=>
+  %string|unicode%(4) "Meer"
+}
+
+-- After Sorting: --
+bool(true)
+array(6) {
+  [5]=>
+  %string|unicode%(4) "Meer"
+  [4]=>
+  %string|unicode%(5) "Regen"
+  [2]=>
+  %string|unicode%(5) "Sonne"
+  [1]=>
+  %string|unicode%(7) "spielen"
+  [0]=>
+  %string|unicode%(6) "Süden"
+  [3]=>
+  %string|unicode%(4) "Wind"
+}
+Done
diff --git a/ext/standard/tests/strings/bug48709.phpt b/ext/standard/tests/strings/bug48709.phpt
new file mode 100644
index 0000000..999a2c6
--- /dev/null
+++ b/ext/standard/tests/strings/bug48709.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Bug #48709 (metaphone and 'wh')
+--FILE--
+<?php
+
+/* Initial letter exceptions */
+$exceptions = array(
+	'kn', // Drop first letter
+	'gn', // ditto
+	'pn', // ditto
+	'ae', // ditto
+	'wr', // ditto
+	'x',  // s
+	'wh', // w
+	'wa'  // w
+);	
+	
+foreach ($exceptions as $letter) {
+	printf("%s => %s\n", $letter, metaphone($letter));
+}
+
+?>
+--EXPECT--
+kn => N
+gn => N
+pn => N
+ae => E
+wr => R
+x => S
+wh => W
+wa => W
diff --git a/ext/standard/tests/strings/chop_variation1.phpt b/ext/standard/tests/strings/chop_variation1.phpt
index 8b1adcc..3c403e7 100644
--- a/ext/standard/tests/strings/chop_variation1.phpt
+++ b/ext/standard/tests/strings/chop_variation1.phpt
@@ -1,210 +1,210 @@
---TEST--
-Test chop() function : usage variations  - unexpected values for str argument 
---FILE--
-<?php
-/* Prototype  : string chop ( string $str [, string $charlist] )
- * Description: Strip whitespace (or other characters) from the end of a string
- * Source code: ext/standard/string.c
-*/
-
-/*
- * Testing chop() : with different unexpected values for $str argument passed to the function
-*/
-
-echo "*** Testing chop() : with unexpected values for str argument ***\n";
-// initialize all required variables
-
-$charlist = " @#$%1234567890";
-// get an unset variable
-$unset_var = 'string_val';
-unset($unset_var);
-
-// declaring class
-class sample  {
-  public function __toString() {
-    return " @#$%Object @#$%";
-  }
-}
-$sample_obj = new sample;
-
-// creating a file resource
-$file_handle = fopen(__FILE__, 'r');
-
-// array with different values
-$values =  array (
-
-  // integer values
-  0,
-  1,
-  12345,
-  -2345,
-
-  // float values
-  10.5,
-  -10.5,
-  10.1234567e10,
-  10.7654321E-10,
-  .5,
-
-  // array values
-  array(),
-  array(0),
-  array(1),
-  array(1, 2),
-  array('color' => 'red', 'item' => 'pen'),
-
-  // boolean values
-  true,
-  false,
-  TRUE,
-  FALSE,
-
-  // empty string
-  "",
-  '',
-
-  // null vlaues
-  NULL,
-  null,
-
-  // undefined variable
-  $undefined_var,
-
-  // unset variable
-  $unset_var,
- 
-  // object
-  $sample_obj,
-  
-  // resource
-  $file_handle
-);
-
-
-// loop through each element of the array and check the working of chop()
-// when $str arugment is supplied with different values
-
-echo "\n--- Testing chop() by supplying different values for 'str' argument ---\n";
-$counter = 1;
-for($index = 0; $index < count($values); $index ++) {
-  echo "-- Iteration $counter --\n";
-  $str = $values [$index];
-
-  var_dump( chop($str) );
-  var_dump( chop($str, $charlist) );
-
-  $counter ++;
-}
-
-// closing the resource
-fclose( $file_handle);
-
-echo "Done\n";
-?>
---EXPECTF--
-*** Testing chop() : with unexpected values for str argument ***
-
-Notice: Undefined variable: undefined_var in %s on line %d
-
-Notice: Undefined variable: unset_var in %s on line %d
-
---- Testing chop() by supplying different values for 'str' argument ---
--- Iteration 1 --
-string(1) "0"
-string(0) ""
--- Iteration 2 --
-string(1) "1"
-string(0) ""
--- Iteration 3 --
-string(5) "12345"
-string(0) ""
--- Iteration 4 --
-string(5) "-2345"
-string(1) "-"
--- Iteration 5 --
-string(4) "10.5"
-string(3) "10."
--- Iteration 6 --
-string(5) "-10.5"
-string(4) "-10."
--- Iteration 7 --
-string(12) "101234567000"
-string(0) ""
--- Iteration 8 --
-string(13) "1.07654321E-9"
-string(12) "1.07654321E-"
--- Iteration 9 --
-string(3) "0.5"
-string(2) "0."
--- Iteration 10 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 11 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 12 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 13 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 14 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 15 --
-string(1) "1"
-string(0) ""
--- Iteration 16 --
-string(0) ""
-string(0) ""
--- Iteration 17 --
-string(1) "1"
-string(0) ""
--- Iteration 18 --
-string(0) ""
-string(0) ""
--- Iteration 19 --
-string(0) ""
-string(0) ""
--- Iteration 20 --
-string(0) ""
-string(0) ""
--- Iteration 21 --
-string(0) ""
-string(0) ""
--- Iteration 22 --
-string(0) ""
-string(0) ""
--- Iteration 23 --
-string(0) ""
-string(0) ""
--- Iteration 24 --
-string(0) ""
-string(0) ""
--- Iteration 25 --
-string(16) " @#$%Object @#$%"
-string(11) " @#$%Object"
--- Iteration 26 --
-string(%d) "Resource id #%d"
-string(11) "Resource id"
-Done
+--TEST--
+Test chop() function : usage variations  - unexpected values for str argument 
+--FILE--
+<?php
+/* Prototype  : string chop ( string $str [, string $charlist] )
+ * Description: Strip whitespace (or other characters) from the end of a string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Testing chop() : with different unexpected values for $str argument passed to the function
+*/
+
+echo "*** Testing chop() : with unexpected values for str argument ***\n";
+// initialize all required variables
+
+$charlist = " @#$%1234567890";
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return " @#$%Object @#$%";
+  }
+}
+$sample_obj = new sample;
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+// array with different values
+$values =  array (
+
+  // integer values
+  0,
+  1,
+  12345,
+  -2345,
+
+  // float values
+  10.5,
+  -10.5,
+  10.1234567e10,
+  10.7654321E-10,
+  .5,
+
+  // array values
+  array(),
+  array(0),
+  array(1),
+  array(1, 2),
+  array('color' => 'red', 'item' => 'pen'),
+
+  // boolean values
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  // empty string
+  "",
+  '',
+
+  // null vlaues
+  NULL,
+  null,
+
+  // undefined variable
+  $undefined_var,
+
+  // unset variable
+  $unset_var,
+ 
+  // object
+  $sample_obj,
+  
+  // resource
+  $file_handle
+);
+
+
+// loop through each element of the array and check the working of chop()
+// when $str arugment is supplied with different values
+
+echo "\n--- Testing chop() by supplying different values for 'str' argument ---\n";
+$counter = 1;
+for($index = 0; $index < count($values); $index ++) {
+  echo "-- Iteration $counter --\n";
+  $str = $values [$index];
+
+  var_dump( chop($str) );
+  var_dump( chop($str, $charlist) );
+
+  $counter ++;
+}
+
+// closing the resource
+fclose( $file_handle);
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing chop() : with unexpected values for str argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing chop() by supplying different values for 'str' argument ---
+-- Iteration 1 --
+string(1) "0"
+string(0) ""
+-- Iteration 2 --
+string(1) "1"
+string(0) ""
+-- Iteration 3 --
+string(5) "12345"
+string(0) ""
+-- Iteration 4 --
+string(5) "-2345"
+string(1) "-"
+-- Iteration 5 --
+string(4) "10.5"
+string(3) "10."
+-- Iteration 6 --
+string(5) "-10.5"
+string(4) "-10."
+-- Iteration 7 --
+string(12) "101234567000"
+string(0) ""
+-- Iteration 8 --
+string(13) "1.07654321E-9"
+string(12) "1.07654321E-"
+-- Iteration 9 --
+string(3) "0.5"
+string(2) "0."
+-- Iteration 10 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 15 --
+string(1) "1"
+string(0) ""
+-- Iteration 16 --
+string(0) ""
+string(0) ""
+-- Iteration 17 --
+string(1) "1"
+string(0) ""
+-- Iteration 18 --
+string(0) ""
+string(0) ""
+-- Iteration 19 --
+string(0) ""
+string(0) ""
+-- Iteration 20 --
+string(0) ""
+string(0) ""
+-- Iteration 21 --
+string(0) ""
+string(0) ""
+-- Iteration 22 --
+string(0) ""
+string(0) ""
+-- Iteration 23 --
+string(0) ""
+string(0) ""
+-- Iteration 24 --
+string(0) ""
+string(0) ""
+-- Iteration 25 --
+string(16) " @#$%Object @#$%"
+string(11) " @#$%Object"
+-- Iteration 26 --
+string(%d) "Resource id #%d"
+string(11) "Resource id"
+Done
diff --git a/ext/standard/tests/strings/chop_variation2.phpt b/ext/standard/tests/strings/chop_variation2.phpt
index cac2548..ef531ad 100644
--- a/ext/standard/tests/strings/chop_variation2.phpt
+++ b/ext/standard/tests/strings/chop_variation2.phpt
@@ -1,173 +1,173 @@
---TEST--
-Test chop() function : usage variations  - unexpected values for charlist argument
---FILE--
-<?php
-/* Prototype  : string chop ( string $str [, string $charlist] )
- * Description: Strip whitespace (or other characters) from the end of a string
- * Source code: ext/standard/string.c
-*/
-
-/*
- * Testing chop() : with different unexpected values for charlist argument passes to the function
-*/
-
-echo "*** Testing chop() : with different unexpected values for charlist argument ***\n";
-// initialize all required variables
-$str = 'hello world12345 ';
-
-// get an unset variable
-$unset_var = 'string_val';
-unset($unset_var);
-
-// declaring class
-class sample  {
-  public function __toString()  {
-  return "@# $%12345";
-  }
-}
-
-// defining a resource
-$file_handle = fopen(__FILE__, 'r');
-
-// array with different values
-$values =  array (
-
-  // integer values
-  0,
-  1,
-  12345,
-  -2345,
-
-  // float values
-  10.5,
-  -10.5,
-  10.1234567e10,
-  10.7654321E-10,
-  .5,
-
-  // array values
-  array(),
-  array(0),
-  array(1),
-  array(1, 2),
-  array('color' => 'red', 'item' => 'pen'),
-
-  // boolean values
-  true,
-  false,
-  TRUE,
-  FALSE,
-
-  // objects
-  new sample(),
-
-  // empty string
-  "",
-  '',
-
-  // null values
-  NULL,
-  null,
-
-  // resource
-  $file_handle,
-  
-  // undefined variable
-  $undefined_var,
-
-  // unset variable
-  $unset_var
-  
-);
-
-
-// loop through each element of the array and check the working of chop()
-// when $charlist arugment is supplied with different values
-
-echo "\n--- Testing chop() by supplying different values for 'charlist' argument ---\n";
-$counter = 1;
-for($index = 0; $index < count($values); $index ++) {
-  echo "-- Iteration $counter --\n";
-  $charlist = $values [$index];
-
-  var_dump( chop($str, $charlist) );
-
-  $counter ++;
-}
-
-// closing the resource
-fclose($file_handle);
-
-echo "Done\n";
-?>
---EXPECTF--
-*** Testing chop() : with different unexpected values for charlist argument ***
-
-Notice: Undefined variable: undefined_var in %s on line %d
-
-Notice: Undefined variable: unset_var in %s on line %d
-
---- Testing chop() by supplying different values for 'charlist' argument ---
--- Iteration 1 --
-string(17) "hello world12345 "
--- Iteration 2 --
-string(17) "hello world12345 "
--- Iteration 3 --
-string(17) "hello world12345 "
--- Iteration 4 --
-string(17) "hello world12345 "
--- Iteration 5 --
-string(17) "hello world12345 "
--- Iteration 6 --
-string(17) "hello world12345 "
--- Iteration 7 --
-string(17) "hello world12345 "
--- Iteration 8 --
-string(17) "hello world12345 "
--- Iteration 9 --
-string(17) "hello world12345 "
--- Iteration 10 --
-
-Notice: Array to string conversion in %s on line %d
-string(17) "hello world12345 "
--- Iteration 11 --
-
-Notice: Array to string conversion in %s on line %d
-string(17) "hello world12345 "
--- Iteration 12 --
-
-Notice: Array to string conversion in %s on line %d
-string(17) "hello world12345 "
--- Iteration 13 --
-
-Notice: Array to string conversion in %s on line %d
-string(17) "hello world12345 "
--- Iteration 14 --
-
-Notice: Array to string conversion in %s on line %d
-string(17) "hello world12345 "
--- Iteration 15 --
-string(17) "hello world12345 "
--- Iteration 16 --
-string(17) "hello world12345 "
--- Iteration 17 --
-string(17) "hello world12345 "
--- Iteration 18 --
-string(17) "hello world12345 "
--- Iteration 19 --
-string(11) "hello world"
--- Iteration 20 --
-string(17) "hello world12345 "
--- Iteration 21 --
-string(17) "hello world12345 "
--- Iteration 22 --
-string(17) "hello world12345 "
--- Iteration 23 --
-string(17) "hello world12345 "
--- Iteration 24 --
-string(%d) "%s"
--- Iteration 25 --
-string(17) "hello world12345 "
--- Iteration 26 --
-string(17) "hello world12345 "
-Done
+--TEST--
+Test chop() function : usage variations  - unexpected values for charlist argument
+--FILE--
+<?php
+/* Prototype  : string chop ( string $str [, string $charlist] )
+ * Description: Strip whitespace (or other characters) from the end of a string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Testing chop() : with different unexpected values for charlist argument passes to the function
+*/
+
+echo "*** Testing chop() : with different unexpected values for charlist argument ***\n";
+// initialize all required variables
+$str = 'hello world12345 ';
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString()  {
+  return "@# $%12345";
+  }
+}
+
+// defining a resource
+$file_handle = fopen(__FILE__, 'r');
+
+// array with different values
+$values =  array (
+
+  // integer values
+  0,
+  1,
+  12345,
+  -2345,
+
+  // float values
+  10.5,
+  -10.5,
+  10.1234567e10,
+  10.7654321E-10,
+  .5,
+
+  // array values
+  array(),
+  array(0),
+  array(1),
+  array(1, 2),
+  array('color' => 'red', 'item' => 'pen'),
+
+  // boolean values
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  // objects
+  new sample(),
+
+  // empty string
+  "",
+  '',
+
+  // null values
+  NULL,
+  null,
+
+  // resource
+  $file_handle,
+  
+  // undefined variable
+  $undefined_var,
+
+  // unset variable
+  $unset_var
+  
+);
+
+
+// loop through each element of the array and check the working of chop()
+// when $charlist arugment is supplied with different values
+
+echo "\n--- Testing chop() by supplying different values for 'charlist' argument ---\n";
+$counter = 1;
+for($index = 0; $index < count($values); $index ++) {
+  echo "-- Iteration $counter --\n";
+  $charlist = $values [$index];
+
+  var_dump( chop($str, $charlist) );
+
+  $counter ++;
+}
+
+// closing the resource
+fclose($file_handle);
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing chop() : with different unexpected values for charlist argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing chop() by supplying different values for 'charlist' argument ---
+-- Iteration 1 --
+string(17) "hello world12345 "
+-- Iteration 2 --
+string(17) "hello world12345 "
+-- Iteration 3 --
+string(17) "hello world12345 "
+-- Iteration 4 --
+string(17) "hello world12345 "
+-- Iteration 5 --
+string(17) "hello world12345 "
+-- Iteration 6 --
+string(17) "hello world12345 "
+-- Iteration 7 --
+string(17) "hello world12345 "
+-- Iteration 8 --
+string(17) "hello world12345 "
+-- Iteration 9 --
+string(17) "hello world12345 "
+-- Iteration 10 --
+
+Notice: Array to string conversion in %s on line %d
+string(17) "hello world12345 "
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+string(17) "hello world12345 "
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+string(17) "hello world12345 "
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+string(17) "hello world12345 "
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line %d
+string(17) "hello world12345 "
+-- Iteration 15 --
+string(17) "hello world12345 "
+-- Iteration 16 --
+string(17) "hello world12345 "
+-- Iteration 17 --
+string(17) "hello world12345 "
+-- Iteration 18 --
+string(17) "hello world12345 "
+-- Iteration 19 --
+string(11) "hello world"
+-- Iteration 20 --
+string(17) "hello world12345 "
+-- Iteration 21 --
+string(17) "hello world12345 "
+-- Iteration 22 --
+string(17) "hello world12345 "
+-- Iteration 23 --
+string(17) "hello world12345 "
+-- Iteration 24 --
+string(%d) "%s"
+-- Iteration 25 --
+string(17) "hello world12345 "
+-- Iteration 26 --
+string(17) "hello world12345 "
+Done
diff --git a/ext/standard/tests/strings/chunk_split_variation1.phpt b/ext/standard/tests/strings/chunk_split_variation1.phpt
index e34ce3a..624587c 100644
--- a/ext/standard/tests/strings/chunk_split_variation1.phpt
+++ b/ext/standard/tests/strings/chunk_split_variation1.phpt
@@ -1,167 +1,167 @@
---TEST--
-Test chunk_split() function : usage variations - with unexpected values for 'str' argument
---FILE--
-<?php
-/* Prototype  : string chunk_split(string $str [, int $chunklen [, string $ending]])
- * Description: Returns split line %d%d
- * Source code: ext/standard/string.c
- * Alias to functions: none
-*/
-
-echo "*** Testing chunk_split() : with unexpected values for 'str' argument ***\n";
-
-// Initialising variables
-$chunklen = 2;
-$ending = ' ';
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-//class for object variable
-class MyClass
-{
-  public function __toString()
-  {
-    return "object";
-  }
-}
-
-//resource  variable
-$fp = fopen(__FILE__, 'r');
-
-//different values for 'str'
-$values = array(
-
-  // int data
-  0,
-  1,
-  12345,
-  -2345,
-
-  // float data
-  10.5,
-  -10.5,
-  10.1234567e10,
-  10.7654321E-10,
-  .5,
-
-  // array data
-  array(),
-  array(0),
-  array(1),
-  array(1, 2),
-  array('color' => 'red', 'item' => 'pen'),
-
-  // null data
-  NULL,
-  null,
-
-  // boolean data
-  true,
-  false,
-  TRUE,
-  FALSE,
-
-  // empty data
-  "",
-  '',
-
-  // string data
-  "string",
-  'string',
-
-  // object data
-  new MyClass(),
-
-  // undefined data
-  @$undefined_var,
-
-  // unset data
-  @$unset_var,
-
-  // resource data
-  $fp	
-);
-
-// loop through each element of the array for 'str'
-for($count = 0; $count < count($values); $count++) {
-  echo "-- Iteration ".($count+1)." --\n";
-  var_dump( chunk_split($values[$count], $chunklen, $ending) );
-};
-
-echo "Done";
-
-// close the resource
-fclose($fp);
-
-?>
---EXPECTF--
-*** Testing chunk_split() : with unexpected values for 'str' argument ***
--- Iteration 1 --
-string(2) "0 "
--- Iteration 2 --
-string(2) "1 "
--- Iteration 3 --
-string(8) "12 34 5 "
--- Iteration 4 --
-string(8) "-2 34 5 "
--- Iteration 5 --
-string(6) "10 .5 "
--- Iteration 6 --
-string(8) "-1 0. 5 "
--- Iteration 7 --
-string(18) "10 12 34 56 70 00 "
--- Iteration 8 --
-string(20) "1. 07 65 43 21 E- 9 "
--- Iteration 9 --
-string(5) "0. 5 "
--- Iteration 10 --
-
-Notice: Array to string conversion in %s on line 87
-string(8) "Ar ra y "
--- Iteration 11 --
-
-Notice: Array to string conversion in %s on line 87
-string(8) "Ar ra y "
--- Iteration 12 --
-
-Notice: Array to string conversion in %s on line 87
-string(8) "Ar ra y "
--- Iteration 13 --
-
-Notice: Array to string conversion in %s on line 87
-string(8) "Ar ra y "
--- Iteration 14 --
-
-Notice: Array to string conversion in %s on line 87
-string(8) "Ar ra y "
--- Iteration 15 --
-string(1) " "
--- Iteration 16 --
-string(1) " "
--- Iteration 17 --
-string(2) "1 "
--- Iteration 18 --
-string(1) " "
--- Iteration 19 --
-string(2) "1 "
--- Iteration 20 --
-string(1) " "
--- Iteration 21 --
-string(1) " "
--- Iteration 22 --
-string(1) " "
--- Iteration 23 --
-string(9) "st ri ng "
--- Iteration 24 --
-string(9) "st ri ng "
--- Iteration 25 --
-string(9) "ob je ct "
--- Iteration 26 --
-string(1) " "
--- Iteration 27 --
-string(1) " "
--- Iteration 28 --
-string(%d) "Re so ur ce  i d  #%s "
+--TEST--
+Test chunk_split() function : usage variations - with unexpected values for 'str' argument
+--FILE--
+<?php
+/* Prototype  : string chunk_split(string $str [, int $chunklen [, string $ending]])
+ * Description: Returns split line %d%d
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+echo "*** Testing chunk_split() : with unexpected values for 'str' argument ***\n";
+
+// Initialising variables
+$chunklen = 2;
+$ending = ' ';
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+//class for object variable
+class MyClass
+{
+  public function __toString()
+  {
+    return "object";
+  }
+}
+
+//resource  variable
+$fp = fopen(__FILE__, 'r');
+
+//different values for 'str'
+$values = array(
+
+  // int data
+  0,
+  1,
+  12345,
+  -2345,
+
+  // float data
+  10.5,
+  -10.5,
+  10.1234567e10,
+  10.7654321E-10,
+  .5,
+
+  // array data
+  array(),
+  array(0),
+  array(1),
+  array(1, 2),
+  array('color' => 'red', 'item' => 'pen'),
+
+  // null data
+  NULL,
+  null,
+
+  // boolean data
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  // empty data
+  "",
+  '',
+
+  // string data
+  "string",
+  'string',
+
+  // object data
+  new MyClass(),
+
+  // undefined data
+  @$undefined_var,
+
+  // unset data
+  @$unset_var,
+
+  // resource data
+  $fp	
+);
+
+// loop through each element of the array for 'str'
+for($count = 0; $count < count($values); $count++) {
+  echo "-- Iteration ".($count+1)." --\n";
+  var_dump( chunk_split($values[$count], $chunklen, $ending) );
+};
+
+echo "Done";
+
+// close the resource
+fclose($fp);
+
+?>
+--EXPECTF--
+*** Testing chunk_split() : with unexpected values for 'str' argument ***
+-- Iteration 1 --
+string(2) "0 "
+-- Iteration 2 --
+string(2) "1 "
+-- Iteration 3 --
+string(8) "12 34 5 "
+-- Iteration 4 --
+string(8) "-2 34 5 "
+-- Iteration 5 --
+string(6) "10 .5 "
+-- Iteration 6 --
+string(8) "-1 0. 5 "
+-- Iteration 7 --
+string(18) "10 12 34 56 70 00 "
+-- Iteration 8 --
+string(20) "1. 07 65 43 21 E- 9 "
+-- Iteration 9 --
+string(5) "0. 5 "
+-- Iteration 10 --
+
+Notice: Array to string conversion in %s on line 87
+string(8) "Ar ra y "
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line 87
+string(8) "Ar ra y "
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line 87
+string(8) "Ar ra y "
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line 87
+string(8) "Ar ra y "
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line 87
+string(8) "Ar ra y "
+-- Iteration 15 --
+string(1) " "
+-- Iteration 16 --
+string(1) " "
+-- Iteration 17 --
+string(2) "1 "
+-- Iteration 18 --
+string(1) " "
+-- Iteration 19 --
+string(2) "1 "
+-- Iteration 20 --
+string(1) " "
+-- Iteration 21 --
+string(1) " "
+-- Iteration 22 --
+string(1) " "
+-- Iteration 23 --
+string(9) "st ri ng "
+-- Iteration 24 --
+string(9) "st ri ng "
+-- Iteration 25 --
+string(9) "ob je ct "
+-- Iteration 26 --
+string(1) " "
+-- Iteration 27 --
+string(1) " "
+-- Iteration 28 --
+string(%d) "Re so ur ce  i d  #%s "
 Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/chunk_split_variation2.phpt b/ext/standard/tests/strings/chunk_split_variation2.phpt
index a6d876d..7a6c9f6 100644
--- a/ext/standard/tests/strings/chunk_split_variation2.phpt
+++ b/ext/standard/tests/strings/chunk_split_variation2.phpt
@@ -1,174 +1,173 @@
---TEST--
-Test chunk_split() function : usage variations - unexpected values for 'chunklen' argument(Bug#42796)
---FILE--
-<?php
-/* Prototype  : string chunk_split(string $str [, int $chunklen [, string $ending]])
- * Description: Returns split line
- * Source code: ext/standard/string.c
- * Alias to functions: none
-*/
-
-echo "*** Testing chunk_split() : with unexpected values for 'chunklen' argument ***\n";
-
-// Initialise function arguments
-$str = 'This is chuklen variation';
-$ending = '*';
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-//get resource variable
-$fp = fopen(__FILE__, 'r');
-
-//Class to get object variable
-class MyClass
-{
-   public function __toString() {
-     return "object";
-   }
-}
-
-//array of values to iterate over
-$values = array(
-
-  // float data
-  10.5,
-  -10.5,
-  10.1234567e10,
-  10.7654321E-10,
-  .5,
-
-  // array data
-  array(),
-  array(0),
-  array(1),
-  array(1, 2),
-  array('color' => 'red', 'item' => 'pen'),
-
-  // null data
-  NULL,
-  null,
-
-  // boolean data
-  true,
-  false,
-  TRUE,
-  FALSE,
-
-  // empty data
-  "",
-  '',
-
-  // string data
-  "string",
-  'string',
-
-  // object data
-  new MyClass(),
-
-  // undefined data
-  @$undefined_var,
-
-  // unset data
-  @$unset_var,
-
-  // resource variable
-  $fp
-);
-
-// loop through each element of the values for 'chunklen'
-for($count = 0; $count < count($values); $count++) {
-  echo "-- Iteration ".($count+1)." --\n";
-  var_dump( chunk_split($str, $values[$count], $ending) );
-}
-
-echo "Done";
-
-//closing resource
-fclose($fp);
-
-?>
---EXPECTF--
-*** Testing chunk_split() : with unexpected values for 'chunklen' argument ***
--- Iteration 1 --
-string(28) "This is ch*uklen vari*ation*"
--- Iteration 2 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 3 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 4 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 5 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 6 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 7 --
-string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
--- Iteration 8 --
-string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
--- Iteration 9 --
-string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
--- Iteration 10 --
-string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
--- Iteration 11 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 12 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 13 --
-string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
--- Iteration 14 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 15 --
-string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
--- Iteration 16 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 17 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 18 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 19 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 20 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 21 --
-
-Notice: Object of class MyClass could not be converted to int in %s on line %d
-string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
--- Iteration 22 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 23 --
-
-Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d
-bool(false)
--- Iteration 24 --
-string(%d) "%s"
-Done
\ No newline at end of file
+--TEST--
+Test chunk_split() function : usage variations - unexpected values for 'chunklen' argument(Bug#42796)
+--FILE--
+<?php
+/* Prototype  : string chunk_split(string $str [, int $chunklen [, string $ending]])
+ * Description: Returns split line
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+echo "*** Testing chunk_split() : with unexpected values for 'chunklen' argument ***\n";
+
+// Initialise function arguments
+$str = 'This is chuklen variation';
+$ending = '*';
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+//get resource variable
+$fp = fopen(__FILE__, 'r');
+
+//Class to get object variable
+class MyClass
+{
+   public function __toString() {
+     return "object";
+   }
+}
+
+//array of values to iterate over
+$values = array(
+
+  // float data
+  10.5,
+  -10.5,
+  (float) PHP_INT_MAX + 1,
+  (float) -PHP_INT_MAX - 1,
+  .5,
+ 
+  // array data
+  array(),
+  array(0),
+  array(1),
+  array(1, 2),
+  array('color' => 'red', 'item' => 'pen'),
+
+  // null data
+  NULL,
+  null,
+
+  // boolean data
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  // empty data
+  "",
+  '',
+
+  // string data
+  "string",
+  'string',
+
+  // object data
+  new MyClass(),
+
+  // undefined data
+  @$undefined_var,
+
+  // unset data
+  @$unset_var,
+
+  // resource variable
+  $fp
+);
+
+// loop through each element of the values for 'chunklen'
+for($count = 0; $count < count($values); $count++) {
+  echo "-- Iteration ".($count+1)." --\n";
+  var_dump( chunk_split($str, $values[$count], $ending) );
+}
+
+//closing resource
+fclose($fp);
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing chunk_split() : with unexpected values for 'chunklen' argument ***
+-- Iteration 1 --
+string(28) "This is ch*uklen vari*ation*"
+-- Iteration 2 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 3 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 4 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 5 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 6 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 7 --
+string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
+-- Iteration 8 --
+string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
+-- Iteration 9 --
+string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
+-- Iteration 10 --
+string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
+-- Iteration 11 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 12 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 13 --
+string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
+-- Iteration 14 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 15 --
+string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
+-- Iteration 16 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 17 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 18 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 19 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 20 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 21 --
+
+Notice: Object of class MyClass could not be converted to int in %schunk_split_variation2.php on line %d
+string(50) "T*h*i*s* *i*s* *c*h*u*k*l*e*n* *v*a*r*i*a*t*i*o*n*"
+-- Iteration 22 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 23 --
+
+Warning: chunk_split(): Chunk length should be greater than zero in %schunk_split_variation2.php on line %d
+bool(false)
+-- Iteration 24 --
+string(%d) "%s"
+===DONE===
diff --git a/ext/standard/tests/strings/chunk_split_variation3.phpt b/ext/standard/tests/strings/chunk_split_variation3.phpt
index 947cdef..f314990 100644
--- a/ext/standard/tests/strings/chunk_split_variation3.phpt
+++ b/ext/standard/tests/strings/chunk_split_variation3.phpt
@@ -1,158 +1,158 @@
---TEST--
-Test chunk_split() function : usage variations - unexpected values for 'ending' argument
---FILE--
-<?php
-/* Prototype  : string chunk_split(string $str [, int $chunklen [, string $ending]])
- * Description: Returns split line
- * Source code: ext/standard/string.c
- * Alias to functions: none
-*/
-
-echo "*** Testing chunk_split() : unexpected values for 'ending' ***\n";
-
-// Initializing variables
-$str = 'This is simple string.';
-$chunklen = 4.9;
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-//resource variable
-$fp = fopen(__FILE__,'r');
-
-//Class to get object variable
-class MyClass
-{
-  public function __toString()
-  {
-    return "object";
-  }
-}
-
-//different values for 'ending'
-$values = array(
-
-  // int data
-  0,
-  1,
-  12345,
-  -2345,
-
-  // float data
-  10.5,
-  -10.5,
-  10.123456e10,
-  10.7654321E-10,
-  .5,
-
-  // array data
-  array(),
-  array(0),
-  array(1),
-  array(1, 2),
-  array('color' => 'red', 'item' => 'pen'),
-
-  // null data
-  NULL,
-  null,
-
-  // boolean data
-  true,
-  false,
-  TRUE,
-  FALSE,
-
-  // empty data
-  "",
-  '',
-
-  // object data
-  new MyClass(),
-
-  // undefined data
-  @$undefined_var,
-
-  // unset data
-  @$unset_var,
-	
-  // resource data
-  $fp
-);
-
-// loop through each element of values for 'ending'
-for($count = 0; $count < count($values); $count++) {
-  echo "-- Iteration ".($count+1)." --\n";
-  var_dump( chunk_split($str, $chunklen, $values[$count]) );
-}
-
-echo "Done";
-
-//closing resource
-fclose($fp);
-?>
---EXPECTF--
-*** Testing chunk_split() : unexpected values for 'ending' ***
--- Iteration 1 --
-string(28) "This0 is 0simp0le s0trin0g.0"
--- Iteration 2 --
-string(28) "This1 is 1simp1le s1trin1g.1"
--- Iteration 3 --
-string(52) "This12345 is 12345simp12345le s12345trin12345g.12345"
--- Iteration 4 --
-string(52) "This-2345 is -2345simp-2345le s-2345trin-2345g.-2345"
--- Iteration 5 --
-string(46) "This10.5 is 10.5simp10.5le s10.5trin10.5g.10.5"
--- Iteration 6 --
-string(52) "This-10.5 is -10.5simp-10.5le s-10.5trin-10.5g.-10.5"
--- Iteration 7 --
-string(94) "This101234560000 is 101234560000simp101234560000le s101234560000trin101234560000g.101234560000"
--- Iteration 8 --
-string(100) "This1.07654321E-9 is 1.07654321E-9simp1.07654321E-9le s1.07654321E-9trin1.07654321E-9g.1.07654321E-9"
--- Iteration 9 --
-string(40) "This0.5 is 0.5simp0.5le s0.5trin0.5g.0.5"
--- Iteration 10 --
-
-Notice: Array to string conversion in %s on line %d
-string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
--- Iteration 11 --
-
-Notice: Array to string conversion in %s on line %d
-string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
--- Iteration 12 --
-
-Notice: Array to string conversion in %s on line %d
-string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
--- Iteration 13 --
-
-Notice: Array to string conversion in %s on line %d
-string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
--- Iteration 14 --
-
-Notice: Array to string conversion in %s on line %d
-string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
--- Iteration 15 --
-string(22) "This is simple string."
--- Iteration 16 --
-string(22) "This is simple string."
--- Iteration 17 --
-string(28) "This1 is 1simp1le s1trin1g.1"
--- Iteration 18 --
-string(22) "This is simple string."
--- Iteration 19 --
-string(28) "This1 is 1simp1le s1trin1g.1"
--- Iteration 20 --
-string(22) "This is simple string."
--- Iteration 21 --
-string(22) "This is simple string."
--- Iteration 22 --
-string(22) "This is simple string."
--- Iteration 23 --
-string(58) "Thisobject is objectsimpobjectle sobjecttrinobjectg.object"
--- Iteration 24 --
-string(22) "This is simple string."
--- Iteration 25 --
-string(22) "This is simple string."
--- Iteration 26 --
-string(%d) "ThisResource id #%d is Resource id #%dsimpResource id #%dle sResource id #%dtrinResource id #%dg.Resource id #%d"
+--TEST--
+Test chunk_split() function : usage variations - unexpected values for 'ending' argument
+--FILE--
+<?php
+/* Prototype  : string chunk_split(string $str [, int $chunklen [, string $ending]])
+ * Description: Returns split line
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+echo "*** Testing chunk_split() : unexpected values for 'ending' ***\n";
+
+// Initializing variables
+$str = 'This is simple string.';
+$chunklen = 4.9;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+//resource variable
+$fp = fopen(__FILE__,'r');
+
+//Class to get object variable
+class MyClass
+{
+  public function __toString()
+  {
+    return "object";
+  }
+}
+
+//different values for 'ending'
+$values = array(
+
+  // int data
+  0,
+  1,
+  12345,
+  -2345,
+
+  // float data
+  10.5,
+  -10.5,
+  10.123456e10,
+  10.7654321E-10,
+  .5,
+
+  // array data
+  array(),
+  array(0),
+  array(1),
+  array(1, 2),
+  array('color' => 'red', 'item' => 'pen'),
+
+  // null data
+  NULL,
+  null,
+
+  // boolean data
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  // empty data
+  "",
+  '',
+
+  // object data
+  new MyClass(),
+
+  // undefined data
+  @$undefined_var,
+
+  // unset data
+  @$unset_var,
+	
+  // resource data
+  $fp
+);
+
+// loop through each element of values for 'ending'
+for($count = 0; $count < count($values); $count++) {
+  echo "-- Iteration ".($count+1)." --\n";
+  var_dump( chunk_split($str, $chunklen, $values[$count]) );
+}
+
+echo "Done";
+
+//closing resource
+fclose($fp);
+?>
+--EXPECTF--
+*** Testing chunk_split() : unexpected values for 'ending' ***
+-- Iteration 1 --
+string(28) "This0 is 0simp0le s0trin0g.0"
+-- Iteration 2 --
+string(28) "This1 is 1simp1le s1trin1g.1"
+-- Iteration 3 --
+string(52) "This12345 is 12345simp12345le s12345trin12345g.12345"
+-- Iteration 4 --
+string(52) "This-2345 is -2345simp-2345le s-2345trin-2345g.-2345"
+-- Iteration 5 --
+string(46) "This10.5 is 10.5simp10.5le s10.5trin10.5g.10.5"
+-- Iteration 6 --
+string(52) "This-10.5 is -10.5simp-10.5le s-10.5trin-10.5g.-10.5"
+-- Iteration 7 --
+string(94) "This101234560000 is 101234560000simp101234560000le s101234560000trin101234560000g.101234560000"
+-- Iteration 8 --
+string(100) "This1.07654321E-9 is 1.07654321E-9simp1.07654321E-9le s1.07654321E-9trin1.07654321E-9g.1.07654321E-9"
+-- Iteration 9 --
+string(40) "This0.5 is 0.5simp0.5le s0.5trin0.5g.0.5"
+-- Iteration 10 --
+
+Notice: Array to string conversion in %s on line %d
+string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line %d
+string(52) "ThisArray is ArraysimpArrayle sArraytrinArrayg.Array"
+-- Iteration 15 --
+string(22) "This is simple string."
+-- Iteration 16 --
+string(22) "This is simple string."
+-- Iteration 17 --
+string(28) "This1 is 1simp1le s1trin1g.1"
+-- Iteration 18 --
+string(22) "This is simple string."
+-- Iteration 19 --
+string(28) "This1 is 1simp1le s1trin1g.1"
+-- Iteration 20 --
+string(22) "This is simple string."
+-- Iteration 21 --
+string(22) "This is simple string."
+-- Iteration 22 --
+string(22) "This is simple string."
+-- Iteration 23 --
+string(58) "Thisobject is objectsimpobjectle sobjecttrinobjectg.object"
+-- Iteration 24 --
+string(22) "This is simple string."
+-- Iteration 25 --
+string(22) "This is simple string."
+-- Iteration 26 --
+string(%d) "ThisResource id #%d is Resource id #%dsimpResource id #%dle sResource id #%dtrinResource id #%dg.Resource id #%d"
 Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/chunk_split_variation5.phpt b/ext/standard/tests/strings/chunk_split_variation5.phpt
index 69308ea309b284379695ec99b05c83b39902ed8b..a8f2962e9a286f67d459b07bcae3b6614f73884d 100644
GIT binary patch
delta 186
zcmeAd{2(}?A}ZM1Gr-eLSC`Aiz96H3D>F?&Bfujd-qSB6KG-wLRYB2K!9r6ZB{Nk+
zsW>~cK%pcfvsj at dwYWq9NT=l&DVUigWtJ!u<Rq2=dASPtc{!Czn$}$Qb{k8VFmc1o
z@^y at u9Kb9&*@l_R97#+;OTk!2K|x<XGp{5yJ+(+7zbv&VEhoR6OF=;wS)Hze;p9r@
Lrp<qtC$j(m7<oCa

delta 68
zcmew$*e^JtV&m0?Ok75WCgvs<#%3nwlN*_p5nKx(S5iRRkV`>97p}%)@@?iOMup9>
HER$IPpMnw}

diff --git a/ext/standard/tests/strings/chunk_split_variation8.phpt b/ext/standard/tests/strings/chunk_split_variation8.phpt
index cc6eeef..cfb440e 100644
--- a/ext/standard/tests/strings/chunk_split_variation8.phpt
+++ b/ext/standard/tests/strings/chunk_split_variation8.phpt
@@ -1,5 +1,9 @@
 --TEST--
 Test chunk_split() function : usage variations - different integer values for 'chunklen' with heredoc string as 'str'(Bug#42796)
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
 --FILE--
 <?php
 /* Prototype  : string chunk_split(string $str [, int $chunklen [, string $ending]])
@@ -32,9 +36,9 @@ $values = array (
   -123,  //negative integer
   0234,  //octal number
   0x1A,  //hexadecimal number
-  2147483647,  //max positive integer number
-  2147483648,  //max positive integer+1
-  -2147483648,  //min negative integer
+  PHP_INT_MAX,      // max positive integer number
+  PHP_INT_MAX * 3,  // integer overflow
+  -PHP_INT_MAX - 1, // min negative integer
 
 );
 
diff --git a/ext/standard/tests/strings/crc32_variation1.phpt b/ext/standard/tests/strings/crc32_variation1.phpt
index ef0729c..cfd4779 100644
--- a/ext/standard/tests/strings/crc32_variation1.phpt
+++ b/ext/standard/tests/strings/crc32_variation1.phpt
@@ -1,197 +1,197 @@
---TEST--
-Test crc32() function : usage variations - unexpected values
---SKIPIF--
-<?php
-if (PHP_INT_SIZE != 4) 
-  die("skip this test is for 32bit platform only");
-?>
-
---FILE--
-<?php
-/* Prototype  : string crc32(string $str)
- * Description: Calculate the crc32 polynomial of a string 
- * Source code: ext/standard/crc32.c
- * Alias to functions: none
-*/
-
-/*
- * Testing crc32() : with unexpected values for str argument
-*/
-
-echo "*** Testing crc32() : with unexpected values for str argument ***\n";
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// declaring class
-class sample  {
-  public function __toString() {
-    return "object";
-  }
-}
-
-// creating a file resource
-$file_handle = fopen(__FILE__, 'r');
-
-//array of values to iterate over
-$values = array(
-
-      // int data
-      0,
-      1,
-      12345,
-      -2345,
-
-      // float data
-      10.5,
-      -10.5,
-      10.1234567e10,
-      10.7654321E-10,
-      .5,
-
-      // array data
-      array(),
-      array(0),
-      array(1),
-      array(1, 2),
-      array('color' => 'red', 'item' => 'pen'),
-
-      // null data
-      NULL,
-      null,
-
-      // boolean data
-      true,
-      false,
-      TRUE,
-      FALSE,
-
-      // empty data
-      "",
-      '',
-
-      // object data
-      new sample(),
-
-      // undefined data
-      $undefined_var,
-
-      // unset data
-      $unset_var,
-
-      // resource
-      $file_handle
-);
-
-// loop through each element of the array for str
-
-$count = 1;
-foreach($values as $value) {
-      echo "\n-- Iteration $count --\n";
-      var_dump( crc32($value) );
-      $count++;
-};
-
-// closing the resource
-fclose($file_handle);
-
-echo "Done";
-?>
---EXPECTF--
-*** Testing crc32() : with unexpected values for str argument ***
-
-Notice: Undefined variable: undefined_var in %s on line %d
-
-Notice: Undefined variable: unset_var in %s on line %d
-
--- Iteration 1 --
-int(-186917087)
-
--- Iteration 2 --
-int(-2082672713)
-
--- Iteration 3 --
-int(-873121252)
-
--- Iteration 4 --
-int(1860518047)
-
--- Iteration 5 --
-int(269248583)
-
--- Iteration 6 --
-int(-834950157)
-
--- Iteration 7 --
-int(-965354630)
-
--- Iteration 8 --
-int(1376932222)
-
--- Iteration 9 --
-int(-2036403827)
-
--- Iteration 10 --
-
-Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration 11 --
-
-Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration 12 --
-
-Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration 13 --
-
-Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration 14 --
-
-Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration 15 --
-int(0)
-
--- Iteration 16 --
-int(0)
-
--- Iteration 17 --
-int(-2082672713)
-
--- Iteration 18 --
-int(0)
-
--- Iteration 19 --
-int(-2082672713)
-
--- Iteration 20 --
-int(0)
-
--- Iteration 21 --
-int(0)
-
--- Iteration 22 --
-int(0)
-
--- Iteration 23 --
-int(-1465013268)
-
--- Iteration 24 --
-int(0)
-
--- Iteration 25 --
-int(0)
-
--- Iteration 26 --
-
-Warning: crc32() expects parameter 1 to be string, resource given in %s on line %d
-NULL
+--TEST--
+Test crc32() function : usage variations - unexpected values
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 4) 
+  die("skip this test is for 32bit platform only");
+?>
+
+--FILE--
+<?php
+/* Prototype  : string crc32(string $str)
+ * Description: Calculate the crc32 polynomial of a string 
+ * Source code: ext/standard/crc32.c
+ * Alias to functions: none
+*/
+
+/*
+ * Testing crc32() : with unexpected values for str argument
+*/
+
+echo "*** Testing crc32() : with unexpected values for str argument ***\n";
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return "object";
+  }
+}
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+//array of values to iterate over
+$values = array(
+
+      // int data
+      0,
+      1,
+      12345,
+      -2345,
+
+      // float data
+      10.5,
+      -10.5,
+      10.1234567e10,
+      10.7654321E-10,
+      .5,
+
+      // array data
+      array(),
+      array(0),
+      array(1),
+      array(1, 2),
+      array('color' => 'red', 'item' => 'pen'),
+
+      // null data
+      NULL,
+      null,
+
+      // boolean data
+      true,
+      false,
+      TRUE,
+      FALSE,
+
+      // empty data
+      "",
+      '',
+
+      // object data
+      new sample(),
+
+      // undefined data
+      $undefined_var,
+
+      // unset data
+      $unset_var,
+
+      // resource
+      $file_handle
+);
+
+// loop through each element of the array for str
+
+$count = 1;
+foreach($values as $value) {
+      echo "\n-- Iteration $count --\n";
+      var_dump( crc32($value) );
+      $count++;
+};
+
+// closing the resource
+fclose($file_handle);
+
+echo "Done";
+?>
+--EXPECTF--
+*** Testing crc32() : with unexpected values for str argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+-- Iteration 1 --
+int(-186917087)
+
+-- Iteration 2 --
+int(-2082672713)
+
+-- Iteration 3 --
+int(-873121252)
+
+-- Iteration 4 --
+int(1860518047)
+
+-- Iteration 5 --
+int(269248583)
+
+-- Iteration 6 --
+int(-834950157)
+
+-- Iteration 7 --
+int(-965354630)
+
+-- Iteration 8 --
+int(1376932222)
+
+-- Iteration 9 --
+int(-2036403827)
+
+-- Iteration 10 --
+
+Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration 11 --
+
+Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration 12 --
+
+Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration 13 --
+
+Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration 14 --
+
+Warning: crc32() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration 15 --
+int(0)
+
+-- Iteration 16 --
+int(0)
+
+-- Iteration 17 --
+int(-2082672713)
+
+-- Iteration 18 --
+int(0)
+
+-- Iteration 19 --
+int(-2082672713)
+
+-- Iteration 20 --
+int(0)
+
+-- Iteration 21 --
+int(0)
+
+-- Iteration 22 --
+int(0)
+
+-- Iteration 23 --
+int(-1465013268)
+
+-- Iteration 24 --
+int(0)
+
+-- Iteration 25 --
+int(0)
+
+-- Iteration 26 --
+
+Warning: crc32() expects parameter 1 to be string, resource given in %s on line %d
+NULL
 Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/htmlentities02.phpt b/ext/standard/tests/strings/htmlentities02.phpt
index babec44..b8b9e63 100644
--- a/ext/standard/tests/strings/htmlentities02.phpt
+++ b/ext/standard/tests/strings/htmlentities02.phpt
@@ -6,7 +6,6 @@ $result = (bool)setlocale(LC_CTYPE, "fr_FR.ISO-8859-15", "fr_FR.ISO8859-15", 'fr
 if (!$result) {
 	die("skip setlocale() failed\n");
 }
-echo "warn possibly braindead libc\n";
 ?>
 --INI--
 output_handler=
diff --git a/ext/standard/tests/strings/htmlentities04.phpt b/ext/standard/tests/strings/htmlentities04.phpt
index 2d67c77..8e362d0 100644
--- a/ext/standard/tests/strings/htmlentities04.phpt
+++ b/ext/standard/tests/strings/htmlentities04.phpt
@@ -6,7 +6,6 @@ $result = (bool)setlocale(LC_CTYPE, "ja_JP.EUC-JP", "ja_JP.eucJP");
 if (!$result || preg_match('/EUC[^a-zA-Z]*JP/i', setlocale(LC_CTYPE, 0)) == 0) {
 	die("skip setlocale() failed\n");
 }
-echo "warn possibly braindead libc\n";
 ?>
 --INI--
 output_handler=
diff --git a/ext/standard/tests/strings/htmlentities09.phpt b/ext/standard/tests/strings/htmlentities09.phpt
index 4c6ef60..bdf6d09 100644
--- a/ext/standard/tests/strings/htmlentities09.phpt
+++ b/ext/standard/tests/strings/htmlentities09.phpt
@@ -16,8 +16,8 @@ output_handler=
 <?php
 	mb_internal_encoding('Shift_JIS');
 	print mb_internal_encoding()."\n";
-	var_dump(htmlentities("\x81\x41\x81\x42\x81\x43", ENT_QUOTES, ''));
+	var_dump(bin2hex(htmlentities("\x81\x41\x81\x42\x81\x43", ENT_QUOTES, '')));
 ?>
 --EXPECT--
 SJIS
-string(6) "ABC"
+string(12) "814181428143"
diff --git a/ext/standard/tests/strings/htmlentities15.phpt b/ext/standard/tests/strings/htmlentities15.phpt
index a15948f..2dc36e6 100644
--- a/ext/standard/tests/strings/htmlentities15.phpt
+++ b/ext/standard/tests/strings/htmlentities15.phpt
@@ -10,7 +10,6 @@ $result = (bool)setlocale(LC_CTYPE, "ru_RU.koi8r", "ru_RU.KOI8-R");
 if (!$result || preg_match('/koi8/i', setlocale(LC_CTYPE, 0)) == 0) {
 	die("skip setlocale() failed\n");
 }
-echo "warn possibly braindead libc\n";
 ?>
 --FILE--
 <?php
diff --git a/ext/standard/tests/strings/htmlentities16.phpt b/ext/standard/tests/strings/htmlentities16.phpt
index 0f94528..438b0e4 100644
--- a/ext/standard/tests/strings/htmlentities16.phpt
+++ b/ext/standard/tests/strings/htmlentities16.phpt
@@ -14,8 +14,10 @@ output_handler=
 <?php
 mb_internal_encoding('cp1251');
 $str = "\x88\xa9\xf0\xee\xf1\xea\xee\xf8\xed\xfb\xe9";
-var_dump($str, htmlentities($str, ENT_QUOTES, ''));
+var_dump(bin2hex($str), htmlentities($str, ENT_QUOTES, ''));
 ?>
+===DONE===
 --EXPECT--
-string(11) "ˆ©ðîñêîøíûé"
+string(22) "88a9f0eef1eaeef8edfbe9"
 string(75) "&euro;&copy;&#1088;&#1086;&#1089;&#1082;&#1086;&#1096;&#1085;&#1099;&#1081;"
+===DONE===
diff --git a/ext/standard/tests/strings/htmlspecialchars_basic.phpt b/ext/standard/tests/strings/htmlspecialchars_basic.phpt
new file mode 100644
index 0000000..3ef932a
--- /dev/null
+++ b/ext/standard/tests/strings/htmlspecialchars_basic.phpt
@@ -0,0 +1,97 @@
+--TEST--
+Test htmlspecialchars() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : string htmlspecialchars  ( string $string  [, int $quote_style  [, string $charset  [, bool $double_encode  ]]] )
+ * Description: Convert special characters to HTML entities
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing htmlspecialchars() : basic functionality ***\n";
+
+$s1 = "abc<>\"&\n";
+$s2 = "&&abc<>\"&\n";
+$s3 = "a>,\<bc<>\"&\n";
+$s4 = "a\'\'&bc<>\"&\n";
+$s5 = "&amp;&lt;\n";
+echo "Basic tests\n";
+echo "Test 1: " . htmlspecialchars ($s1);
+echo "Test 2: " . htmlspecialchars ($s2);
+echo "Test 3: " . htmlspecialchars ($s3);
+echo "Test 4: " . htmlspecialchars ($s4);
+echo "Test 5: " . htmlspecialchars ($s5);
+echo "Test 6: " . htmlspecialchars ($s1,ENT_NOQUOTES);
+echo "Test 7: " . htmlspecialchars ($s2,ENT_NOQUOTES);
+echo "Test 8: " . htmlspecialchars ($s3,ENT_NOQUOTES);
+echo "Test 9: " . htmlspecialchars ($s4,ENT_NOQUOTES);
+echo "Test 10: " . htmlspecialchars ($s5,ENT_NOQUOTES);
+echo "Test 11: " . htmlspecialchars ($s1,ENT_COMPAT);
+echo "Test 12: " . htmlspecialchars ($s2,ENT_COMPAT);
+echo "Test 13: " . htmlspecialchars ($s3,ENT_COMPAT);
+echo "Test 14: " . htmlspecialchars ($s4,ENT_COMPAT);
+echo "Test 15: " . htmlspecialchars ($s5,ENT_COMPAT);
+echo "Test 16: " . htmlspecialchars ($s1,ENT_QUOTES);
+echo "Test 17: " . htmlspecialchars ($s2,ENT_QUOTES);
+echo "Test 18: " . htmlspecialchars ($s3,ENT_QUOTES);
+echo "Test 19: " . htmlspecialchars ($s4,ENT_QUOTES);
+echo "Test 20: " . htmlspecialchars ($s5,ENT_QUOTES);
+
+echo "\nTry with char set option - specify default ISO-8859-1\n";
+echo  "Test 21: " . htmlspecialchars ($s1,ENT_NOQUOTES, "ISO-8859-1");
+echo  "Test 22: " . htmlspecialchars ($s2,ENT_COMPAT, "ISO-8859-1");
+echo  "Test 23: " . htmlspecialchars ($s3,ENT_QUOTES, "ISO-8859-1");
+echo  "Test 24: " . htmlspecialchars ($s5,ENT_QUOTES, "ISO-8859-1");
+
+echo "\nTry with double decode FALSE\n";
+$s1 = "&quot;&amp;xyz&gt;abc&quot;\n";
+$s2 = "&quot;&amp;123&lt;456&quot;\n";
+$s3 = "\"300 < 400\"\n";
+echo  "Test 25: " . htmlspecialchars ($s1,ENT_NOQUOTES, "ISO-8859-1", false);
+echo  "Test 26: " . htmlspecialchars ($s2,ENT_NOQUOTES, "ISO-8859-1", false);
+echo  "Test 27: " . htmlspecialchars ($s3,ENT_NOQUOTES, "ISO-8859-1", false);
+
+echo "\nTry with double decode TRUE\n";
+echo  "Test 28: " . htmlspecialchars ($s1, ENT_NOQUOTES, "ISO-8859-1", true);
+echo  "Test 29: " . htmlspecialchars ($s2, ENT_NOQUOTES, "ISO-8859-1", true);
+
+?>
+===DONE===
+--EXPECT--
+*** Testing htmlspecialchars() : basic functionality ***
+Basic tests
+Test 1: abc&lt;&gt;&quot;&amp;
+Test 2: &amp;&amp;abc&lt;&gt;&quot;&amp;
+Test 3: a&gt;,\&lt;bc&lt;&gt;&quot;&amp;
+Test 4: a\'\'&amp;bc&lt;&gt;&quot;&amp;
+Test 5: &amp;amp;&amp;lt;
+Test 6: abc&lt;&gt;"&amp;
+Test 7: &amp;&amp;abc&lt;&gt;"&amp;
+Test 8: a&gt;,\&lt;bc&lt;&gt;"&amp;
+Test 9: a\'\'&amp;bc&lt;&gt;"&amp;
+Test 10: &amp;amp;&amp;lt;
+Test 11: abc&lt;&gt;&quot;&amp;
+Test 12: &amp;&amp;abc&lt;&gt;&quot;&amp;
+Test 13: a&gt;,\&lt;bc&lt;&gt;&quot;&amp;
+Test 14: a\'\'&amp;bc&lt;&gt;&quot;&amp;
+Test 15: &amp;amp;&amp;lt;
+Test 16: abc&lt;&gt;&quot;&amp;
+Test 17: &amp;&amp;abc&lt;&gt;&quot;&amp;
+Test 18: a&gt;,\&lt;bc&lt;&gt;&quot;&amp;
+Test 19: a\&#039;\&#039;&amp;bc&lt;&gt;&quot;&amp;
+Test 20: &amp;amp;&amp;lt;
+
+Try with char set option - specify default ISO-8859-1
+Test 21: abc&lt;&gt;"&amp;
+Test 22: &amp;&amp;abc&lt;&gt;&quot;&amp;
+Test 23: a&gt;,\&lt;bc&lt;&gt;&quot;&amp;
+Test 24: &amp;amp;&amp;lt;
+
+Try with double decode FALSE
+Test 25: &quot;&amp;xyz&gt;abc&quot;
+Test 26: &quot;&amp;123&lt;456&quot;
+Test 27: "300 &lt; 400"
+
+Try with double decode TRUE
+Test 28: &amp;quot;&amp;amp;xyz&amp;gt;abc&amp;quot;
+Test 29: &amp;quot;&amp;amp;123&amp;lt;456&amp;quot;
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/htmlspecialchars_decode_variation1.phpt b/ext/standard/tests/strings/htmlspecialchars_decode_variation1.phpt
index 5f0582d..81765f5 100644
--- a/ext/standard/tests/strings/htmlspecialchars_decode_variation1.phpt
+++ b/ext/standard/tests/strings/htmlspecialchars_decode_variation1.phpt
@@ -31,51 +31,51 @@ unset($unset_var);
 //array of values to iterate over
 $values = array(
 
-      // int data
-      0,
-      1,
-      12345,
-      -2345,
-
-      // float data
-      10.5,
-      -10.5,
-      10.5e10,
-      10.6E-10,
-      .5,
-
-      // array data
-      array(),
-      array(0),
-      array(1),
-      array(1, 2),
-      array('color' => 'red', 'item' => 'pen'),
-
-      // null data
-      NULL,
-      null,
-
-      // boolean data
-      true,
-      false,
-      TRUE,
-      FALSE,
-
-      // empty data
-      "",
-      '',
-
-      // object data
-      new classA(),
-
-      // undefined data
-      @$undefined_var,
-
-      // unset data
-      @$unset_var,
-
-      //resource
-      $file_handle
+		      // int data
+/*1*/	      0,
+		      1,
+		      12345,
+		      -2345,
+		
+		      // float data
+/*5*/	      10.5,
+		      -10.5,
+		      10.1234567e10,
+		      10.7654321E-10,
+		      .5,
+		
+		      // array data
+/*10*/	      array(),
+		      array(0),
+		      array(1),
+		      array(1, 2),
+		      array('color' => 'red', 'item' => 'pen'),
+		
+		      // null data
+/*15*/	      NULL,
+		      null,
+		
+		      // boolean data
+/*17*/	      true,
+		      false,
+		      TRUE,
+		      FALSE,
+		
+		      // empty data
+/*21*/		  "",
+		      '',
+		
+		      // object data
+/*23*/	      new classA(),
+		
+		      // undefined data
+/*24*/	      @$undefined_var,
+		
+		      // unset data
+/*25*/	      @$unset_var,
+		
+		      //resource
+/*26*/	      $file_handle
 );
 
 // loop through each element of the array for string
@@ -89,8 +89,8 @@ foreach($values as $value) {
 // close the file resource used
 fclose($file_handle);
 
-echo "Done";
 ?>
+===DONE===
 --EXPECTF--
 *** Testing htmlspecialchars_decode() : usage variations ***
 -- Iterator 1 --
@@ -106,9 +106,9 @@ string(4) "10.5"
 -- Iterator 6 --
 string(5) "-10.5"
 -- Iterator 7 --
-string(12) "105000000000"
+string(12) "101234567000"
 -- Iterator 8 --
-string(7) "1.06E-9"
+string(13) "1.07654321E-9"
 -- Iterator 9 --
 string(3) "0.5"
 -- Iterator 10 --
@@ -157,4 +157,4 @@ string(0) ""
 
 Warning: htmlspecialchars_decode() expects parameter 1 to be string, resource given in %s on line %d
 NULL
-Done
+===DONE===
diff --git a/ext/standard/tests/strings/htmlspecialchars_decode_variation6.phpt b/ext/standard/tests/strings/htmlspecialchars_decode_variation6.phpt
index d1636eb15610cade7fc471a331777ad6a149d098..ea932e9d9346c318e13f14e2c77a1a3d06f7ed95 100644
GIT binary patch
delta 260
zcmcc1^@Dpu7SrTDCcDXLOe&MlFzryyOjFQM$t+1NN-W7QQm|1l(Nw7BQUC+avc#hJ
zl+xS+jmhtrB_}Uq7F4QLNX;ou#iBwXDKpO~Beg<f at _S|pd6lxnoYGWHO-*ZvNl*i8
zq4eYp%;LQEc3if$wl4mDu0U$@HD*4>$#Se#3A(xpo?zEx=I1GxDCp{P6_*rc=A~<x
z8fhvhnVOhcm|2<|8yP at JLm<n@%+f5?%+TD(+|t0($iN`UAlcm5+{7FrZmxu64;Lo@
DLV86z

delta 118
zcmeyteV1!P7SrT4ObV0Jn4Bh`VcIcy0kg5ZN at huFQDRAck+!xqS1lJ;YH~)tf|5&q
zUaFEcm%ZKQ02V$*eIqkX1*MRT%wh!~N>oV7%u6h)<W%71DK06>%u83|($!V)1e=qY
QpQm6lIhfUz6=Vb#0O+$MVgLXD

diff --git a/ext/standard/tests/strings/join_variation1.phpt b/ext/standard/tests/strings/join_variation1.phpt
index 4cebcf2..02bcf34 100644
--- a/ext/standard/tests/strings/join_variation1.phpt
+++ b/ext/standard/tests/strings/join_variation1.phpt
@@ -1,167 +1,167 @@
---TEST--
-Test join() function : usage variations - unexpected values for 'glue' argument
---FILE--
-<?php
-/* Prototype  : string join( string $glue, array $pieces )
- * Description: Join array elements with a string
- * Source code: ext/standard/string.c
- * Alias of function: implode()
-*/
-
-/*
- * testing join() by passing different unexpected value for glue argument
-*/
-
-echo "*** Testing join() : usage variations ***\n";
-// initialize all required variables
-$pieces = array("element1", "element2");
-
-// get an unset variable
-$unset_var = 'string_val';
-unset($unset_var);
-
-// get a resource variable
-$fp = fopen(__FILE__, "r");
-
-// define a class
-class test
-{
-   var $t = 10;
-   function __toString() {
-     return  "testObject";
-   }
-}
-
-// array with different values
-$values =  array (
-
-  // integer values
-  0,
-  1,
-  12345,
-  -2345,
-
-  // float values
-  10.5,
-  -10.5,
-  10.1234567e10,
-  10.7654321E-10,
-  .5,
-
-  // array values
-  array(),
-  array(0),
-  array(1),
-  array(1, 2),
-  array('color' => 'red', 'item' => 'pen'),
-
-  // boolean values
-  true,
-  false,
-  TRUE,
-  FALSE,
-
-  // objects
-  new test(),
-
-  // empty string
-  "",
-  '',
-
-  // null vlaues
-  NULL,
-  null,
-  
-  // resource variable
-  $fp,
-
-  // undefined variable
-  @$undefined_var,
-
-  // unset variable
-  @$unset_var
-);
-
-
-// loop through each element of the array and check the working of join()
-// when $glue arugment is supplied with different values
-echo "\n--- Testing join() by supplying different values for 'glue' argument ---\n";
-$counter = 1;
-for($index = 0; $index < count($values); $index ++) {
-  echo "-- Iteration $counter --\n";
-  $glue = $values [$index];
-
-  var_dump( join($glue, $pieces) );
-
-  $counter ++;
-}
-
-echo "Done\n";
-?>
---EXPECTF--
-*** Testing join() : usage variations ***
-
---- Testing join() by supplying different values for 'glue' argument ---
--- Iteration 1 --
-string(17) "element10element2"
--- Iteration 2 --
-string(17) "element11element2"
--- Iteration 3 --
-string(21) "element112345element2"
--- Iteration 4 --
-string(21) "element1-2345element2"
--- Iteration 5 --
-string(20) "element110.5element2"
--- Iteration 6 --
-string(21) "element1-10.5element2"
--- Iteration 7 --
-string(28) "element1101234567000element2"
--- Iteration 8 --
-string(29) "element11.07654321E-9element2"
--- Iteration 9 --
-string(19) "element10.5element2"
--- Iteration 10 --
-
-Notice: Array to string conversion in %s on line %d
-string(0) ""
--- Iteration 11 --
-
-Notice: Array to string conversion in %s on line %d
-string(1) "0"
--- Iteration 12 --
-
-Notice: Array to string conversion in %s on line %d
-string(1) "1"
--- Iteration 13 --
-
-Notice: Array to string conversion in %s on line %d
-string(7) "1Array2"
--- Iteration 14 --
-
-Notice: Array to string conversion in %s on line %d
-string(11) "redArraypen"
--- Iteration 15 --
-string(17) "element11element2"
--- Iteration 16 --
-string(16) "element1element2"
--- Iteration 17 --
-string(17) "element11element2"
--- Iteration 18 --
-string(16) "element1element2"
--- Iteration 19 --
-string(26) "element1testObjectelement2"
--- Iteration 20 --
-string(16) "element1element2"
--- Iteration 21 --
-string(16) "element1element2"
--- Iteration 22 --
-string(16) "element1element2"
--- Iteration 23 --
-string(16) "element1element2"
--- Iteration 24 --
-string(%d) "element1Resource id #%delement2"
--- Iteration 25 --
-string(16) "element1element2"
--- Iteration 26 --
-string(16) "element1element2"
+--TEST--
+Test join() function : usage variations - unexpected values for 'glue' argument
+--FILE--
+<?php
+/* Prototype  : string join( string $glue, array $pieces )
+ * Description: Join array elements with a string
+ * Source code: ext/standard/string.c
+ * Alias of function: implode()
+*/
+
+/*
+ * testing join() by passing different unexpected value for glue argument
+*/
+
+echo "*** Testing join() : usage variations ***\n";
+// initialize all required variables
+$pieces = array("element1", "element2");
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// get a resource variable
+$fp = fopen(__FILE__, "r");
+
+// define a class
+class test
+{
+   var $t = 10;
+   function __toString() {
+     return  "testObject";
+   }
+}
+
+// array with different values
+$values =  array (
+
+  // integer values
+  0,
+  1,
+  12345,
+  -2345,
+
+  // float values
+  10.5,
+  -10.5,
+  10.1234567e10,
+  10.7654321E-10,
+  .5,
+
+  // array values
+  array(),
+  array(0),
+  array(1),
+  array(1, 2),
+  array('color' => 'red', 'item' => 'pen'),
+
+  // boolean values
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  // objects
+  new test(),
+
+  // empty string
+  "",
+  '',
+
+  // null vlaues
+  NULL,
+  null,
+  
+  // resource variable
+  $fp,
+
+  // undefined variable
+  @$undefined_var,
+
+  // unset variable
+  @$unset_var
+);
+
+
+// loop through each element of the array and check the working of join()
+// when $glue arugment is supplied with different values
+echo "\n--- Testing join() by supplying different values for 'glue' argument ---\n";
+$counter = 1;
+for($index = 0; $index < count($values); $index ++) {
+  echo "-- Iteration $counter --\n";
+  $glue = $values [$index];
+
+  var_dump( join($glue, $pieces) );
+
+  $counter ++;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing join() : usage variations ***
+
+--- Testing join() by supplying different values for 'glue' argument ---
+-- Iteration 1 --
+string(17) "element10element2"
+-- Iteration 2 --
+string(17) "element11element2"
+-- Iteration 3 --
+string(21) "element112345element2"
+-- Iteration 4 --
+string(21) "element1-2345element2"
+-- Iteration 5 --
+string(20) "element110.5element2"
+-- Iteration 6 --
+string(21) "element1-10.5element2"
+-- Iteration 7 --
+string(28) "element1101234567000element2"
+-- Iteration 8 --
+string(29) "element11.07654321E-9element2"
+-- Iteration 9 --
+string(19) "element10.5element2"
+-- Iteration 10 --
+
+Notice: Array to string conversion in %s on line %d
+string(0) ""
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+string(1) "0"
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+string(1) "1"
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+string(7) "1Array2"
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line %d
+string(11) "redArraypen"
+-- Iteration 15 --
+string(17) "element11element2"
+-- Iteration 16 --
+string(16) "element1element2"
+-- Iteration 17 --
+string(17) "element11element2"
+-- Iteration 18 --
+string(16) "element1element2"
+-- Iteration 19 --
+string(26) "element1testObjectelement2"
+-- Iteration 20 --
+string(16) "element1element2"
+-- Iteration 21 --
+string(16) "element1element2"
+-- Iteration 22 --
+string(16) "element1element2"
+-- Iteration 23 --
+string(16) "element1element2"
+-- Iteration 24 --
+string(%d) "element1Resource id #%delement2"
+-- Iteration 25 --
+string(16) "element1element2"
+-- Iteration 26 --
+string(16) "element1element2"
 Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/join_variation6.phpt b/ext/standard/tests/strings/join_variation6.phpt
index e8d098115538190d9a391fa5ec148e94c1319adc..a627d77bf4b5e4d5a374c6006a8b2297481a03a3 100644
GIT binary patch
delta 10
RcmaFJdXsg6<3`UJOaK{T1S$Xk

delta 16
Xcmcb~`jB;kBde#Mr>^csyV*<tG28`V

diff --git a/ext/standard/tests/strings/md5_basic1.phpt b/ext/standard/tests/strings/md5_basic1.phpt
new file mode 100644
index 0000000..eda414b
--- /dev/null
+++ b/ext/standard/tests/strings/md5_basic1.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Test md5() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : string md5  ( string $str  [, bool $raw_output= false  ] )
+ * Description: Calculate the md5 hash of a string
+ * Source code: ext/standard/md5.c
+*/
+
+echo "*** Testing md5() : basic functionality ***\n";
+var_dump(md5(b"apple"));
+?>
+===DONE===
+--EXPECTF--
+*** Testing md5() : basic functionality ***
+string(32) "1f3870be274f6c49b3e31a0c6728957f"
+===DONE===
diff --git a/ext/standard/tests/strings/md5_basic2.phpt b/ext/standard/tests/strings/md5_basic2.phpt
new file mode 100644
index 0000000..1f89ba8
--- /dev/null
+++ b/ext/standard/tests/strings/md5_basic2.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Test md5() function : basic functionality - with raw output
+--FILE--
+<?php
+/* Prototype  : string md5  ( string $str  [, bool $raw_output= false  ] )
+ * Description: Calculate the md5 hash of a string
+ * Source code: ext/standard/md5.c
+*/
+
+echo "*** Testing md5() : basic functionality - with raw output***\n";
+$str = b"Hello World";
+$md5_raw = md5($str, true);
+var_dump(bin2hex($md5_raw));
+
+$md5 = md5($str, false);
+	
+if (strcmp(bin2hex($md5_raw), $md5) == 0 ) {
+	echo "TEST PASSED\n";
+} else {
+	echo "TEST FAILED\n";
+	var_dump($md5_raw, $md5);
+}
+
+?>
+===DONE===
+--EXPECT--
+*** Testing md5() : basic functionality - with raw output***
+string(32) "b10a8db164e0754105b7a99be72e3fe5"
+TEST PASSED
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/md5_error.phpt b/ext/standard/tests/strings/md5_error.phpt
new file mode 100644
index 0000000..190b09c
--- /dev/null
+++ b/ext/standard/tests/strings/md5_error.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Test md5() function : error conditions
+--FILE--
+<?php
+/* Prototype  : string md5  ( string $str  [, bool $raw_output= false  ] )
+ * Description: Calculate the md5 hash of a string
+ * Source code: ext/standard/md5.c
+*/
+
+echo "*** Testing md5() : error conditions ***\n";
+
+echo "\n-- Testing md5() function with no arguments --\n";
+var_dump( md5());
+
+echo "\n-- Testing md5() function with more than expected no. of arguments --\n";
+$str = "Hello World";
+$raw_output = true;
+$extra_arg = 10;
+
+var_dump(md5($str, $raw_output, $extra_arg));
+?>
+===DONE==
+--EXPECTF--
+*** Testing md5() : error conditions ***
+
+-- Testing md5() function with no arguments --
+
+Warning: md5() expects at least 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing md5() function with more than expected no. of arguments --
+
+Warning: md5() expects at most 2 parameters, 3 given in %s on line %d
+NULL
+===DONE==
\ No newline at end of file
diff --git a/ext/standard/tests/strings/money_format_basic1.phpt b/ext/standard/tests/strings/money_format_basic1.phpt
index e76aa60..70b5ca5 100644
--- a/ext/standard/tests/strings/money_format_basic1.phpt
+++ b/ext/standard/tests/strings/money_format_basic1.phpt
@@ -2,13 +2,9 @@
 Test money_format() function : basic functionality using national currency symbols
 --SKIPIF--
 <?php
-	if (!function_exists('money_format') || !function_exists('setlocale')) {
+	if (!function_exists('money_format')) {
 		die("SKIP money_format - not supported\n");
 	}
-	
-	if (setlocale(LC_MONETARY, 'en_US') == false) {
-		die("SKIP en_US locale not available\n");
-	}	
 ?>
 --FILE--
 <?php
@@ -17,9 +13,11 @@ Test money_format() function : basic functionality using national currency symbo
  * Source code: ext/standard/string.c
 */
 
-echo "*** Testing money_format() : basic functionality using national currency symbols***\n";
+// ===========================================================================================
+// = We do not test for exact return-values, as those might be different between OS-versions =
+// ===========================================================================================
 
-$original = setlocale(LC_MONETARY, 'en_US');
+echo "*** Testing money_format() : basic functionality***\n";
 
 $value = 1234.5678;
 $negative_value = -1234.5678;
@@ -28,57 +26,55 @@ $negative_value = -1234.5678;
 // left precision, 2 of right precision using national 
 // format for en_US
 echo "Format values with 14 positions, 8 digits to left, 2 to right using national format\n";
-var_dump( money_format('%14#8.2n', $value));
-var_dump( money_format('%14#8.2n', $negative_value));
+echo gettype(money_format('%14#8.2n', $value))."\n";
+echo gettype(money_format('%14#8.2n', $negative_value))."\n";
 
 // Same again but use '(' for negative values 
 echo "Format again but with ( for negative values\n";
-var_dump( money_format('%(14#8.2n', $value));
-var_dump( money_format('%(14#8.2n', $negative_value));
+echo gettype(money_format('%(14#8.2n', $value))."\n";
+echo gettype(money_format('%(14#8.2n', $negative_value))."\n";
 
 // Same again but use a '0' for padding character
 echo "Format with 0 for padding character\n";
-var_dump( money_format('%=014#8.2n', $value));
-var_dump( money_format('%=014#8.2n', $negative_value));
+echo gettype(money_format('%=014#8.2n', $value))."\n";
+echo gettype(money_format('%=014#8.2n', $negative_value))."\n";
 
 // Same again but use a '*' for padding character
 echo "Format again with * for padding character\n";
-var_dump( money_format('%=*14#8.2n', $value));
-var_dump( money_format('%=*14#8.2n', $negative_value));
+echo gettype(money_format('%=*14#8.2n', $value))."\n";
+echo gettype(money_format('%=*14#8.2n', $negative_value))."\n";
 
 // Same again but disable grouping character
 echo "Format again but disable grouping character\n"; 
-var_dump( money_format('%=*^14#8.2n', $value));
-var_dump( money_format('%=*^14#8.2n', $negative_value));
+echo gettype(money_format('%=*^14#8.2n', $value))."\n";
+echo gettype(money_format('%=*^14#8.2n', $negative_value))."\n";
 
 // Same again but suppress currency symbol
 echo "Format again suppress currency symbol\n"; 
-var_dump( money_format('%=*!14#8.2n', $value));
-var_dump( money_format('%=*!14#8.2n', $negative_value));
-
-setlocale(LC_MONETARY, $original);
+echo gettype(money_format('%=*!14#8.2n', $value))."\n";
+echo gettype(money_format('%=*!14#8.2n', $negative_value))."\n";
 
 ?>
 ===DONE===
 --EXPECT--
-*** Testing money_format() : basic functionality using national currency symbols***
+*** Testing money_format() : basic functionality***
 Format values with 14 positions, 8 digits to left, 2 to right using national format
-string(15) " $     1,234.57"
-string(15) "-$     1,234.57"
+string
+string
 Format again but with ( for negative values
-string(15) " $     1,234.57"
-string(16) "($     1,234.57)"
+string
+string
 Format with 0 for padding character
-string(15) " $000001,234.57"
-string(15) "-$000001,234.57"
+string
+string
 Format again with * for padding character
-string(15) " $*****1,234.57"
-string(15) "-$*****1,234.57"
+string
+string
 Format again but disable grouping character
-string(14) "  $****1234.57"
-string(14) " -$****1234.57"
+string
+string
 Format again suppress currency symbol
-string(14) " *****1,234.57"
-string(14) "-*****1,234.57"
+string
+string
 ===DONE===
 
diff --git a/ext/standard/tests/strings/money_format_basic2.phpt b/ext/standard/tests/strings/money_format_basic2.phpt
deleted file mode 100644
index 8074cf9..0000000
--- a/ext/standard/tests/strings/money_format_basic2.phpt
+++ /dev/null
@@ -1,84 +0,0 @@
---TEST--
-Test money_format() function : basic functionality using international currency symbols
---SKIPIF--
-<?php
-	if (!function_exists('money_format') || !function_exists('setlocale')) {
-		die("SKIP money_format - not supported\n");
-	}
-	
-	if (setlocale(LC_MONETARY, 'en_US') == false) {
-		die("SKIP en_US locale not available\n");
-	}	
-?>
---FILE--
-<?php
-/* Prototype  : string money_format  ( string $format  , float $number  )
- * Description: Formats a number as a currency string
- * Source code: ext/standard/string.c
-*/
-
-echo "*** Testing money_format() : basic functionality using international currency symbols***\n";
-
-$original = setlocale(LC_MONETARY, 'en_US');
-
-$value = 1234.5678;
-$negative_value = -1234.5678;
-
-// Format with 14 positions of width, 8 digits of
-// left precision, 2 of right precision using national 
-// format for en_US
-echo "Format with 14 positions, 8 digits to left, 2 to right using national format\n";
-var_dump( money_format('%14#8.2i', $value));
-var_dump( money_format('%14#8.2i', $negative_value));
-
-// Same again but use '(' for negative values 
-echo "Format with ( for negative values\n";
-var_dump( money_format('%(14#8.2i', $value));
-var_dump( money_format('%(14#8.2i', $negative_value));
-
-// Same again but use a '0' for padding character
-echo "Format with 0 for padding character\n";
-var_dump( money_format('%=014#8.2i', $value));
-var_dump( money_format('%=014#8.2i', $negative_value));
-
-// Same again but use a '*' for padding character
-echo "Format with * for padding character\n";
-var_dump( money_format('%=*14#8.2i', $value));
-var_dump( money_format('%=*14#8.2i', $negative_value));
-
-// Same again but disable grouping character
-echo "Format again but disable grouping character\n"; 
-var_dump( money_format('%=*^14#8.2i', $value));
-var_dump( money_format('%=*^14#8.2i', $negative_value));
-
-// Same again but suppress currency symbol
-echo "Format again but suppress currency symbol\n"; 
-var_dump( money_format('%=*!14#8.2i', $value));
-var_dump( money_format('%=*!14#8.2i', $negative_value));
-
-setlocale(LC_MONETARY, $original);
-
-?>
-===DONE===
---EXPECT--
-*** Testing money_format() : basic functionality using international currency symbols***
-Format with 14 positions, 8 digits to left, 2 to right using national format
-string(18) " USD      1,234.57"
-string(18) "-USD      1,234.57"
-Format with ( for negative values
-string(18) " USD      1,234.57"
-string(19) "(USD      1,234.57)"
-Format with 0 for padding character
-string(18) " USD 000001,234.57"
-string(18) "-USD 000001,234.57"
-Format with * for padding character
-string(18) " USD *****1,234.57"
-string(18) "-USD *****1,234.57"
-Format again but disable grouping character
-string(16) " USD ****1234.57"
-string(16) "-USD ****1234.57"
-Format again but suppress currency symbol
-string(14) " *****1,234.57"
-string(14) "-*****1,234.57"
-===DONE===
-
diff --git a/ext/standard/tests/strings/money_format_basic3.phpt b/ext/standard/tests/strings/money_format_basic3.phpt
deleted file mode 100644
index 98d0fca..0000000
--- a/ext/standard/tests/strings/money_format_basic3.phpt
+++ /dev/null
@@ -1,83 +0,0 @@
---TEST--
-Test money_format() function : basic functionality using national currency symbols and de_DE locale
---SKIPIF--
-<?php
-	if (!function_exists('money_format') || !function_exists('setlocale')) {
-		die("SKIP money_format - not supported\n");
-	}
-	
-	if (setlocale(LC_MONETARY, 'de_DE') == false) {
-		die("SKIP de_DE locale not available\n");
-	}	
-?>
---FILE--
-<?php
-/* Prototype  : string money_format  ( string $format  , float $number  )
- * Description: Formats a number as a currency string
- * Source code: ext/standard/string.c
-*/
-
-echo "*** Testing money_format() : basic functionality using national currency symbols and de_DE locale***\n";
-
-$original = setlocale(LC_MONETARY, 'de_DE');
-
-$value = 1234.5678;
-$negative_value = -1234.5678;
-
-// Format with 14 positions of width, 8 digits of
-// left precision, 2 of right precision using national 
-// format for en_US
-echo "Format values with 14 positions, 8 digits to left, 2 to right using national format\n";
-var_dump( money_format('%14#8.2n', $value));
-var_dump( money_format('%14#8.2n', $negative_value));
-
-// Same again but use '(' for negative values 
-echo "Format again but with ( for negative values\n";
-var_dump( money_format('%(14#8.2n', $value));
-var_dump( money_format('%(14#8.2n', $negative_value));
-
-// Same again but use a '0' for padding character
-echo "Format with 0 for padding character\n";
-var_dump( money_format('%=014#8.2n', $value));
-var_dump( money_format('%=014#8.2n', $negative_value));
-
-// Same again but use a '*' for padding character
-echo "Format again with * for padding character\n";
-var_dump( money_format('%=*14#8.2n', $value));
-var_dump( money_format('%=*14#8.2n', $negative_value));
-
-// Same again but disable grouping character
-echo "Format again but disable grouping character\n"; 
-var_dump( money_format('%=*^14#8.2n', $value));
-var_dump( money_format('%=*^14#8.2n', $negative_value));
-
-// Same again but suppress currency symbol
-echo "Format again suppress currency symbol\n"; 
-var_dump( money_format('%=*!14#8.2n', $value));
-var_dump( money_format('%=*!14#8.2n', $negative_value));
-
-setlocale(LC_MONETARY, $original);
-
-?>
-===DONE===
---EXPECT--
-*** Testing money_format() : basic functionality using national currency symbols and de_DE locale***
-Format values with 14 positions, 8 digits to left, 2 to right using national format
-string(18) "      1.234,57 EUR"
-string(18) "-     1.234,57 EUR"
-Format again but with ( for negative values
-string(18) "      1.234,57 EUR"
-string(19) "(     1.234,57 EUR)"
-Format with 0 for padding character
-string(18) " 000001.234,57 EUR"
-string(18) "-000001.234,57 EUR"
-Format again with * for padding character
-string(18) " *****1.234,57 EUR"
-string(18) "-*****1.234,57 EUR"
-Format again but disable grouping character
-string(16) " ****1234,57 EUR"
-string(16) "-****1234,57 EUR"
-Format again suppress currency symbol
-string(14) " *****1.234,57"
-string(14) "-*****1.234,57"
-===DONE===
diff --git a/ext/standard/tests/strings/money_format_error.phpt b/ext/standard/tests/strings/money_format_error.phpt
index fac89d1..cf110b4 100644
--- a/ext/standard/tests/strings/money_format_error.phpt
+++ b/ext/standard/tests/strings/money_format_error.phpt
@@ -13,6 +13,10 @@ Test money_format() function : error conditions
  * Source code: ext/standard/string.c
 */
 
+// ===========================================================================================
+// = We do not test for exact return-values, as those might be different between OS-versions =
+// ===========================================================================================
+
 $string = '%14#8.2n';
 $value = 1234.56;
 $extra_arg = 10;
diff --git a/ext/standard/tests/strings/money_format_variation1.phpt b/ext/standard/tests/strings/money_format_variation1.phpt
index 4224a69..492824f 100644
--- a/ext/standard/tests/strings/money_format_variation1.phpt
+++ b/ext/standard/tests/strings/money_format_variation1.phpt
@@ -2,13 +2,9 @@
 Test money_format() function :  usage variations - test values for $format argument
 --SKIPIF--
 <?php
-	if (!function_exists('money_format') || !function_exists('setlocale')) {
+	if (!function_exists('money_format')) {
 		die("SKIP money_format - not supported\n");
 	}
-	
-	if (setlocale(LC_MONETARY, 'de_DE') == false) {
-		die("SKIP de_DE locale not available\n");
-	}	
 ?>
 --FILE--
 <?php
@@ -17,8 +13,9 @@ Test money_format() function :  usage variations - test values for $format argum
  * Source code: ext/standard/string.c
 */
 
-$original = setlocale(LC_MONETARY, 'en_US');
-
+// ===========================================================================================
+// = We do not test for exact return-values, as those might be different between OS-versions =
+// ===========================================================================================
 
 echo "*** Testing money_format() function: with unexpected inputs for 'format' argument ***\n";
 
@@ -97,38 +94,34 @@ $value = 1234.56;
 
 foreach($formats as $format) {
   echo "-- Iteration $count --\n";
-  var_dump( money_format($format, $value) );
+  echo gettype(money_format($format, $value))."\n";
   $count ++;
 }
 
 // close the file handle
 fclose($file_handle);  
-
-// restore original locale
-setlocale(LC_MONETARY, $original);
-
 ?>
 ===DONE===
 --EXPECTF--
 *** Testing money_format() function: with unexpected inputs for 'format' argument ***
 -- Iteration 1 --
-string(1) "0"
+string
 -- Iteration 2 --
-string(1) "1"
+string
 -- Iteration 3 --
-string(3) "255"
+string
 -- Iteration 4 --
-string(3) "256"
+string
 -- Iteration 5 --
-string(10) "2147483647"
+string
 -- Iteration 6 --
-string(11) "-2147483648"
+string
 -- Iteration 7 --
-string(4) "10.5"
+string
 -- Iteration 8 --
-string(5) "-20.5"
+string
 -- Iteration 9 --
-string(12) "101234567000"
+string
 -- Iteration 10 --
 
 Warning: money_format() expects parameter 1 to be string, array given in %s on line %d
@@ -142,37 +135,37 @@ NULL
 Warning: money_format() expects parameter 1 to be string, array given in %s on line %d
 NULL
 -- Iteration 13 --
-string(1) "1"
+string
 -- Iteration 14 --
-string(0) ""
+string
 -- Iteration 15 --
-string(1) "1"
+string
 -- Iteration 16 --
-string(0) ""
+string
 -- Iteration 17 --
-string(0) ""
+string
 -- Iteration 18 --
-string(0) ""
+string
 -- Iteration 19 --
-string(4) "abcd"
+string
 -- Iteration 20 --
-string(4) "abcd"
+string
 -- Iteration 21 --
-string(5) "0x12f"
+string
 -- Iteration 22 --
-string(18) " *****1,234.56abcd"
+string
 -- Iteration 23 --
 
 Warning: money_format() expects parameter 1 to be string, object given in %s on line %d
 NULL
 -- Iteration 24 --
-string(17) "  sample object  "
+string
 -- Iteration 25 --
 
 Warning: money_format() expects parameter 1 to be string, resource given in %s on line %d
 NULL
 -- Iteration 26 --
-string(0) ""
+string
 -- Iteration 27 --
-string(0) ""
+string
 ===DONE===
diff --git a/ext/standard/tests/strings/money_format_variation2.phpt b/ext/standard/tests/strings/money_format_variation2.phpt
index 24d4873..9769ff5 100644
--- a/ext/standard/tests/strings/money_format_variation2.phpt
+++ b/ext/standard/tests/strings/money_format_variation2.phpt
@@ -2,13 +2,9 @@
 Test money_format() function :  usage variations - test values for $number argument
 --SKIPIF--
 <?php
-	if (!function_exists('money_format') || !function_exists('setlocale')) {
+	if (!function_exists('money_format')) {
 		die("SKIP money_format - not supported\n");
 	}
-	
-	if (setlocale(LC_MONETARY, 'de_DE') == false) {
-		die("SKIP de_DE locale not available\n");
-	}	
 ?>
 --FILE--
 <?php
@@ -17,8 +13,9 @@ Test money_format() function :  usage variations - test values for $number argum
  * Source code: ext/standard/string.c
 */
 
-$original = setlocale(LC_MONETARY, 'en_US');
-
+// ===========================================================================================
+// = We do not test for exact return-values, as those might be different between OS-versions =
+// ===========================================================================================
 
 echo "*** Testing money_format() function: with unexpected inputs for 'number' argument ***\n";
 
@@ -97,38 +94,34 @@ $format = '%14#8.2i';
 
 foreach($numbers as $number) {
   echo "-- Iteration $count --\n";
-  var_dump( money_format($format, $number) );
+  echo gettype(money_format($format, $number))."\n";
   $count ++;
 }
 
 // close the file handle
 fclose($file_handle);  
-
-// restore original locale
-setlocale(LC_MONETARY, $original);
-
 ?>
 ===DONE===
 --EXPECTF--
 *** Testing money_format() function: with unexpected inputs for 'number' argument ***
 -- Iteration 1 --
-string(18) " USD          0.00"
+string
 -- Iteration 2 --
-string(18) " USD          1.00"
+string
 -- Iteration 3 --
-string(18) " USD        255.00"
+string
 -- Iteration 4 --
-string(18) " USD        256.00"
+string
 -- Iteration 5 --
-string(21) " USD 2,147,483,647.00"
+string
 -- Iteration 6 --
-string(21) "-USD 2,147,483,648.00"
+string
 -- Iteration 7 --
-string(18) " USD         10.50"
+string
 -- Iteration 8 --
-string(18) "-USD         20.50"
+string
 -- Iteration 9 --
-string(23) " USD 101,234,567,000.00"
+string
 -- Iteration 10 --
 
 Warning: money_format() expects parameter 2 to be double, array given in %s on line %d
@@ -142,17 +135,17 @@ NULL
 Warning: money_format() expects parameter 2 to be double, array given in %s on line %d
 NULL
 -- Iteration 13 --
-string(18) " USD          1.00"
+string
 -- Iteration 14 --
-string(18) " USD          0.00"
+string
 -- Iteration 15 --
-string(18) " USD          1.00"
+string
 -- Iteration 16 --
-string(18) " USD          0.00"
+string
 -- Iteration 17 --
-string(18) " USD          0.00"
+string
 -- Iteration 18 --
-string(18) " USD          0.00"
+string
 -- Iteration 19 --
 
 Warning: money_format() expects parameter 2 to be double, string given in %s on line %d
@@ -162,7 +155,7 @@ NULL
 Warning: money_format() expects parameter 2 to be double, string given in %s on line %d
 NULL
 -- Iteration 21 --
-string(18) " USD        303.00"
+string
 -- Iteration 22 --
 
 Warning: money_format() expects parameter 2 to be double, string given in %s on line %d
@@ -180,7 +173,7 @@ NULL
 Warning: money_format() expects parameter 2 to be double, resource given in %s on line %d
 NULL
 -- Iteration 26 --
-string(18) " USD          0.00"
+string
 -- Iteration 27 --
-string(18) " USD          0.00"
+string
 ===DONE===
diff --git a/ext/standard/tests/strings/moneyformat.phpt b/ext/standard/tests/strings/moneyformat.phpt
index 7f14b09..1866fa1 100755
--- a/ext/standard/tests/strings/moneyformat.phpt
+++ b/ext/standard/tests/strings/moneyformat.phpt
@@ -5,6 +5,10 @@ money_format test
 	if (!function_exists('money_format') || !function_exists('setlocale')) {
 		die("SKIP money_format - not supported\n");
 	}
+	if (setlocale(LC_MONETARY, 'en_US') === false) {
+ 		die('skip en_US locale not available');
+	}
+
 ?>
 --FILE--
 <?php
diff --git a/ext/standard/tests/strings/parse_str_basic1.phpt b/ext/standard/tests/strings/parse_str_basic1.phpt
new file mode 100644
index 0000000..7a8fda8
--- /dev/null
+++ b/ext/standard/tests/strings/parse_str_basic1.phpt
@@ -0,0 +1,76 @@
+--TEST--
+Test parse_str() function : basic functionality 
+--FILE--
+<?php
+		
+/* Prototype  : void parse_str  ( string $str  [, array &$arr  ] )
+ * Description: Parses the string into variables
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing parse_str() : basic functionality ***\n";
+
+echo "Basic test WITHOUT result arg\n";
+$s1 = "first=val1&second=val2&third=val3";
+var_dump(parse_str($s1));
+var_dump($first, $second, $third);
+
+echo "\nBasic test WITH undefined var for result arg\n";
+$s1 = "first=val1&second=val2&third=val3";
+var_dump(parse_str($s1, $res1));
+var_dump($res1);
+
+echo "\nBasic test WITH existing non-array var for result arg\n";
+$res2 =99;
+$s1 = "first=val1&second=val2&third=val3";
+var_dump(parse_str($s1, $res2));
+var_dump($res2);
+
+echo "\nBasic test with an existing array as results array\n";
+$res3_array = array(1,2,3,4);
+var_dump(parse_str($s1, $res3_array));
+var_dump($res3_array); 
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing parse_str() : basic functionality ***
+Basic test WITHOUT result arg
+NULL
+string(4) "val1"
+string(4) "val2"
+string(4) "val3"
+
+Basic test WITH undefined var for result arg
+NULL
+array(3) {
+  ["first"]=>
+  string(4) "val1"
+  ["second"]=>
+  string(4) "val2"
+  ["third"]=>
+  string(4) "val3"
+}
+
+Basic test WITH existing non-array var for result arg
+NULL
+array(3) {
+  ["first"]=>
+  string(4) "val1"
+  ["second"]=>
+  string(4) "val2"
+  ["third"]=>
+  string(4) "val3"
+}
+
+Basic test with an existing array as results array
+NULL
+array(3) {
+  ["first"]=>
+  string(4) "val1"
+  ["second"]=>
+  string(4) "val2"
+  ["third"]=>
+  string(4) "val3"
+}
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/parse_str_basic2.phpt b/ext/standard/tests/strings/parse_str_basic2.phpt
new file mode 100644
index 0000000..e42c9ca
--- /dev/null
+++ b/ext/standard/tests/strings/parse_str_basic2.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Test parse_str() function : non-default arg_separator.input specified
+--INI--
+arg_separator.input = "/" 
+--FILE--
+<?php
+/* Prototype  : void parse_str  ( string $str  [, array &$arr  ] )
+ * Description: Parses the string into variables
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing parse_str() : non-default arg_separator.input specified ***\n";
+
+$s1 = "first=val1/second=val2/third=val3";
+var_dump(parse_str($s1));
+var_dump($first, $second, $third);
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing parse_str() : non-default arg_separator.input specified ***
+NULL
+string(4) "val1"
+string(4) "val2"
+string(4) "val3"
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/parse_str_basic3.phpt b/ext/standard/tests/strings/parse_str_basic3.phpt
new file mode 100644
index 0000000..5b7872b
--- /dev/null
+++ b/ext/standard/tests/strings/parse_str_basic3.phpt
@@ -0,0 +1,268 @@
+--TEST--
+Test parse_str() function : basic functionality
+--INI--
+magic_quotes_gpc = on
+--FILE--
+<?php
+/* Prototype  : void parse_str  ( string $str  [, array &$arr  ] )
+ * Description: Parses the string into variables
+ * Source code: ext/standard/string.c
+*/
+echo "*** Testing parse_str() : basic functionality ***\n";
+
+echo "\nTest string with array values\n";
+$s1 = "first=abc&a[]=123&a[]=false&b[]=str&c[]=3.5&a[]=last";
+var_dump(parse_str($s1));
+var_dump($first, $a, $b, $c); 
+
+echo "\nTest string with array values and results array\n";
+$s1 = "first=abc&a[]=123&a[]=false&b[]=str&c[]=3.5&a[]=last";
+var_dump(parse_str($s1, $res3_array));
+var_dump($res3_array); 
+
+echo "\nTest string containing numerical array keys\n";
+$str = "arr[1]=sid&arr[4]=bill";
+var_dump(parse_str($str, $res));
+var_dump($res);
+
+echo "\nTest string containing associative keys\n";
+$str = "arr[first]=sid&arr[forth]=bill";
+var_dump(parse_str($str, $res));
+var_dump($res);
+
+echo "\nTest string with array values with same name as existing variable\n";
+$a = 9999;
+$s1 = "a[]=123&a[]=false&a[]=last";
+var_dump(parse_str($s1));
+var_dump($a);
+
+echo "\nTest string with non-array value with same name as existing array variable\n";
+$a = array(10,11,12,13);
+$s1 = "a=999";
+parse_str($s1);
+var_dump($a);
+
+echo "\nTest string with encoded data\n";
+$s1 = "a=%3c%3d%3d%20%20foo+bar++%3d%3d%3e&b=%23%23%23Hello+World%23%23%23";
+parse_str($s1);
+var_dump($a, $b);
+
+echo "\nTest string with single quotes characters\n";
+$s1 = "firstname=Bill&surname=O%27Reilly";
+var_dump(parse_str($s1));
+var_dump($firstname, $surname);
+
+echo "\nTest string with backslash characters\n";
+$s1 = "sum=10%5c2%3d5";
+var_dump(parse_str($s1));
+var_dump($sum);
+
+echo "\nTest string with double quotes data\n";
+$s1 = "str=A+string+with+%22quoted%22+strings";
+var_dump(parse_str($s1));
+var_dump($str);
+
+echo "\nTest string with nulls\n";
+$s1 = "str=A%20string%20with%20containing%20%00%00%00%20nulls";
+var_dump(parse_str($s1));
+var_dump($str);
+
+echo "\nTest string with 2-dim array with numeric keys\n";
+$str = "arr[3][4]=sid&arr[3][6]=fred";
+var_dump(parse_str($str, $res));
+var_dump($res);
+
+echo "\nTest string with 2-dim array with null keys\n";
+$str = "arr[][]=sid&arr[][]=fred";
+var_dump(parse_str($str, $res));
+var_dump($res);
+
+echo "\nTest string with 2-dim array with non-numeric keys\n";
+$str = "arr[one][four]=sid&arr[three][six]=fred";
+var_dump(parse_str($str, $res));
+var_dump($res);
+
+echo "\nTest string with 3-dim array with numeric keys\n";
+$str = "arr[1][2][3]=sid&arr[1][2][6]=fred";
+var_dump(parse_str($str, $res));
+var_dump($res);
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing parse_str() : basic functionality ***
+
+Test string with array values
+NULL
+string(3) "abc"
+array(3) {
+  [0]=>
+  string(3) "123"
+  [1]=>
+  string(5) "false"
+  [2]=>
+  string(4) "last"
+}
+array(1) {
+  [0]=>
+  string(3) "str"
+}
+array(1) {
+  [0]=>
+  string(3) "3.5"
+}
+
+Test string with array values and results array
+NULL
+array(4) {
+  ["first"]=>
+  string(3) "abc"
+  ["a"]=>
+  array(3) {
+    [0]=>
+    string(3) "123"
+    [1]=>
+    string(5) "false"
+    [2]=>
+    string(4) "last"
+  }
+  ["b"]=>
+  array(1) {
+    [0]=>
+    string(3) "str"
+  }
+  ["c"]=>
+  array(1) {
+    [0]=>
+    string(3) "3.5"
+  }
+}
+
+Test string containing numerical array keys
+NULL
+array(1) {
+  ["arr"]=>
+  array(2) {
+    [1]=>
+    string(3) "sid"
+    [4]=>
+    string(4) "bill"
+  }
+}
+
+Test string containing associative keys
+NULL
+array(1) {
+  ["arr"]=>
+  array(2) {
+    ["first"]=>
+    string(3) "sid"
+    ["forth"]=>
+    string(4) "bill"
+  }
+}
+
+Test string with array values with same name as existing variable
+NULL
+array(3) {
+  [0]=>
+  string(3) "123"
+  [1]=>
+  string(5) "false"
+  [2]=>
+  string(4) "last"
+}
+
+Test string with non-array value with same name as existing array variable
+string(3) "999"
+
+Test string with encoded data
+string(17) "<==  foo bar  ==>"
+string(17) "###Hello World###"
+
+Test string with single quotes characters
+NULL
+string(4) "Bill"
+string(9) "O\'Reilly"
+
+Test string with backslash characters
+NULL
+string(7) "10\\2=5"
+
+Test string with double quotes data
+NULL
+string(32) "A string with \"quoted\" strings"
+
+Test string with nulls
+NULL
+string(37) "A string with containing \0\0\0 nulls"
+
+Test string with 2-dim array with numeric keys
+NULL
+array(1) {
+  ["arr"]=>
+  array(1) {
+    [3]=>
+    array(2) {
+      [4]=>
+      string(3) "sid"
+      [6]=>
+      string(4) "fred"
+    }
+  }
+}
+
+Test string with 2-dim array with null keys
+NULL
+array(1) {
+  ["arr"]=>
+  array(2) {
+    [0]=>
+    array(1) {
+      [0]=>
+      string(3) "sid"
+    }
+    [1]=>
+    array(1) {
+      [0]=>
+      string(4) "fred"
+    }
+  }
+}
+
+Test string with 2-dim array with non-numeric keys
+NULL
+array(1) {
+  ["arr"]=>
+  array(2) {
+    ["one"]=>
+    array(1) {
+      ["four"]=>
+      string(3) "sid"
+    }
+    ["three"]=>
+    array(1) {
+      ["six"]=>
+      string(4) "fred"
+    }
+  }
+}
+
+Test string with 3-dim array with numeric keys
+NULL
+array(1) {
+  ["arr"]=>
+  array(1) {
+    [1]=>
+    array(1) {
+      [2]=>
+      array(2) {
+        [3]=>
+        string(3) "sid"
+        [6]=>
+        string(4) "fred"
+      }
+    }
+  }
+}
+===DONE===
diff --git a/ext/standard/tests/strings/parse_str_basic4.phpt b/ext/standard/tests/strings/parse_str_basic4.phpt
new file mode 100644
index 0000000..894dbf0
--- /dev/null
+++ b/ext/standard/tests/strings/parse_str_basic4.phpt
@@ -0,0 +1,87 @@
+--TEST--
+Test parse_str() function : test with badly formed strings
+--FILE--
+<?php
+/* Prototype  : void parse_str  ( string $str  [, array &$arr  ] )
+ * Description: Parses the string into variables
+ * Source code: ext/standard/string.c
+*/
+
+echo "\nTest string with badly formed strings\n";
+$str = "arr[1=sid&arr[4][2=fred";
+var_dump(parse_str($str, $res));
+var_dump($res);
+
+$str = "arr1]=sid&arr[4]2]=fred";
+var_dump(parse_str($str, $res));
+var_dump($res);
+
+$str = "arr[one=sid&arr[4][two=fred";
+var_dump(parse_str($str, $res));
+var_dump($res);
+
+echo "\nTest string with badly formed % numbers\n";
+$str = "first=%41&second=%a&third=%b";
+var_dump(parse_str($str));
+var_dump($first, $second, $third);
+
+echo "\nTest string with non-binary safe name\n";
+$str = "arr.test[1]=sid&arr test[4][two]=fred";
+var_dump(parse_str($str, $res));
+var_dump($res);
+?>
+===DONE===
+--EXPECTF--
+Test string with badly formed strings
+NULL
+array(2) {
+  ["arr_1"]=>
+  string(3) "sid"
+  ["arr"]=>
+  array(1) {
+    [4]=>
+    string(4) "fred"
+  }
+}
+NULL
+array(2) {
+  ["arr1]"]=>
+  string(3) "sid"
+  ["arr"]=>
+  array(1) {
+    [4]=>
+    string(4) "fred"
+  }
+}
+NULL
+array(2) {
+  ["arr_one"]=>
+  string(3) "sid"
+  ["arr"]=>
+  array(1) {
+    [4]=>
+    string(4) "fred"
+  }
+}
+
+Test string with badly formed % numbers
+NULL
+string(1) "A"
+string(2) "%a"
+string(2) "%b"
+
+Test string with non-binary safe name
+NULL
+array(1) {
+  ["arr_test"]=>
+  array(2) {
+    [1]=>
+    string(3) "sid"
+    [4]=>
+    array(1) {
+      ["two"]=>
+      string(4) "fred"
+    }
+  }
+}
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/parse_str_error1.phpt b/ext/standard/tests/strings/parse_str_error1.phpt
new file mode 100644
index 0000000..6441dd9
--- /dev/null
+++ b/ext/standard/tests/strings/parse_str_error1.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Test parse_str() function : non-default arg_separator.input specified
+--INI--
+arg_separator.input = "/" 
+--FILE--
+<?php
+/* Prototype  : void parse_str  ( string $str  [, array &$arr  ] )
+ * Description: Parses the string into variables
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing parse_str() : error conditions ***\n";
+
+echo "\n-- Testing htmlentities() function with less than expected no. of arguments --\n";
+parse_str();
+echo "\n-- Testing htmlentities() function with more than expected no. of arguments --\n";
+$s1 = "first=val1&second=val2&third=val3";
+parse_str($s1, $res_array, true); 
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing parse_str() : error conditions ***
+
+-- Testing htmlentities() function with less than expected no. of arguments --
+
+Warning: Wrong parameter count for parse_str() in %s on line %d
+
+-- Testing htmlentities() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for parse_str() in %s on line %d
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/show_source_basic.phpt b/ext/standard/tests/strings/show_source_basic.phpt
new file mode 100644
index 0000000..cfd998f
--- /dev/null
+++ b/ext/standard/tests/strings/show_source_basic.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test function show_source() by calling it with its expected arguments, more test for highlight_file()
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+echo "*** Test by calling method or function with its expected arguments ***\n";
+$foo = 'bar';
+$baz = "something ".$foo."\n";
+
+if ( $foo == 'bar' ) 
+{
+  $baz = 'baz';
+}
+
+ /* some code here */
+   
+show_source(__FILE__);
+
+?>
+--EXPECTF--
+*** Test by calling method or function with its expected arguments ***
+<code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"***&nbsp;Test&nbsp;by&nbsp;calling&nbsp;method&nbsp;or&nbsp;function&nbsp;with&nbsp;its&nbsp;expected&nbsp;arguments&nbsp;***\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$foo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'bar'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$baz&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"something&nbsp;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$foo</span><span style="color: #007700">.</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br />if&nbsp;(&nbsp;</span><span style="color: #0000BB">$foo&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'bar'&nbsp;</span><span style="color: #007700">)&nbsp;<br />{<br />&nbsp;&nbsp;</span><span style="color: #0000BB">$baz&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'baz'</span><span style="color: #007700">;<br />}<br /><br />&nbsp;</span><span style="color: #FF8000">/*&nbsp;some&nbsp;code&nbsp;here&nbsp;*/<br />&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">show_source</span><span style="color: #007700">(</span><span style="color: #0000BB">__FILE__</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;<br /></span>
+</span>
+</code>
diff --git a/ext/standard/tests/strings/show_source_variation1.phpt b/ext/standard/tests/strings/show_source_variation1.phpt
new file mode 100644
index 0000000..a9993ed
--- /dev/null
+++ b/ext/standard/tests/strings/show_source_variation1.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Test function show_source() by calling it with its expected arguments and php output, more test for highlight_file()
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+echo "*** Test by calling method or function with its expected arguments and php output ***\n";
+$foo = 'bar';
+$baz = "something ".$foo."\n";
+
+if ( $foo == 'bar' ) 
+{
+  $baz = "baz\n";
+}
+
+ /* some code here */
+echo $baz;   
+show_source(__FILE__);
+echo $foo;
+?>
+--EXPECTF--
+*** Test by calling method or function with its expected arguments and php output ***
+baz
+<code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"***&nbsp;Test&nbsp;by&nbsp;calling&nbsp;method&nbsp;or&nbsp;function&nbsp;with&nbsp;its&nbsp;expected&nbsp;arguments&nbsp;and&nbsp;php&nbsp;output&nbsp;***\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$foo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'bar'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$baz&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"something&nbsp;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$foo</span><span style="color: #007700">.</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br />if&nbsp;(&nbsp;</span><span style="color: #0000BB">$foo&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'bar'&nbsp;</span><span style="color: #007700">)&nbsp;<br />{<br />&nbsp;&nbsp;</span><span style="color: #0000BB">$baz&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"baz\n"</span><span style="color: #007700">;<br />}<br /><br />&nbsp;</span><span style="color: #FF8000">/*&nbsp;some&nbsp;code&nbsp;here&nbsp;*/<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #0000BB">$baz</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">show_source</span><span style="color: #007700">(</span><span style="color: #0000BB">__FILE__</span><span style="color: #007700">);<br />echo&nbsp;</span><span style="color: #0000BB">$foo</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;<br /></span>
+</span>
+</code>bar
diff --git a/ext/standard/tests/strings/show_source_variation2.phpt b/ext/standard/tests/strings/show_source_variation2.phpt
new file mode 100644
index 0000000..06ef66c
--- /dev/null
+++ b/ext/standard/tests/strings/show_source_variation2.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test function show_source() by calling it with its expected arguments and output to variable, more test for highlight_file()
+--CREDITS--
+Francesco Fullone ff at ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+echo "*** Test by calling method or function with its expected arguments and output to variable ***\n";
+$foo = 'bar';
+$baz = "something ".$foo."\n";
+
+if ( $foo == 'bar' ) 
+{
+  $baz = "baz\n";
+}
+
+ /* some code here */ 
+$source = show_source(__FILE__, true);
+
+var_dump($source);
+?>
+--EXPECTF--
+*** Test by calling method or function with its expected arguments and output to variable ***
+string(1987) "<code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"***&nbsp;Test&nbsp;by&nbsp;calling&nbsp;method&nbsp;or&nbsp;function&nbsp;with&nbsp;its&nbsp;expected&nbsp;arguments&nbsp;and&nbsp;output&nbsp;to&nbsp;variable&nbsp;***\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$foo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'bar'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$baz&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"something&nbsp;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$foo</span><span style="color: #007700">.</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br />if&nbsp;(&nbsp;</span><span style="color: #0000BB">$foo&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'bar'&nbsp;</span><span style="color: #007700">)&nbsp;<br />{<br />&nbsp;&nbsp;</span><span style="color: #0000BB">$baz&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"baz\n"</span><span style="color: #007700">;<br />}<br /><br />&nbsp;</span><span style="color: #FF8000">/*&nbsp;some&nbsp;code&nbsp;here&nbsp;*/&nbsp;<br /></span><span style="color: #0000BB">$source&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">show_source</span><span style="color: #007700">(</span><span style="color: #0000BB">__FILE__</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$source</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span>
+</span>
+</code>"
diff --git a/ext/standard/tests/strings/soundex_basic.phpt b/ext/standard/tests/strings/soundex_basic.phpt
new file mode 100644
index 0000000..65bcb64
--- /dev/null
+++ b/ext/standard/tests/strings/soundex_basic.phpt
@@ -0,0 +1,46 @@
+--TEST--
+Test soundex() function : basic functionality
+--FILE--
+<?php
+/* Prototype  : string soundex  ( string $str  )
+ * Description: Calculate the soundex key of a string
+ * Source code: ext/standard/string.c
+*/
+echo "*** Testing soundex() : basic functionality ***\n";
+
+var_dump(soundex("Euler"));
+var_dump(soundex("Gauss"));  
+var_dump(soundex("Hilbert"));  
+var_dump(soundex("Knuth")); 
+var_dump(soundex("Lloyd"));
+var_dump(soundex("Lukasiewicz"));
+
+var_dump(soundex("Euler")       == soundex("Ellery"));    // E460
+var_dump(soundex("Gauss")       == soundex("Ghosh"));     // G200
+var_dump(soundex("Hilbert")     == soundex("Heilbronn")); // H416
+var_dump(soundex("Knuth")       == soundex("Kant"));      // K530
+var_dump(soundex("Lloyd")       == soundex("Ladd"));      // L300
+var_dump(soundex("Lukasiewicz") == soundex("Lissajous")); // L222
+
+var_dump(soundex("Lukasiewicz") == soundex("Ghosh"));
+var_dump(soundex("Hilbert") == soundex("Ladd"));  
+?> 
+===DONE===
+--EXPECT--
+*** Testing soundex() : basic functionality ***
+string(4) "E460"
+string(4) "G200"
+string(4) "H416"
+string(4) "K530"
+string(4) "L300"
+string(4) "L222"
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(false)
+bool(false)
+ 
+===DONE===
diff --git a/ext/standard/tests/strings/soundex_error.phpt b/ext/standard/tests/strings/soundex_error.phpt
new file mode 100644
index 0000000..119883b
--- /dev/null
+++ b/ext/standard/tests/strings/soundex_error.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Test soundex() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : string soundex  ( string $str  )
+ * Description: Calculate the soundex key of a string
+ * Source code: ext/standard/string.c
+*/
+		
+echo "\n*** Testing soundex error conditions ***";
+
+echo "-- Testing soundex() function with Zero arguments --\n";
+var_dump( soundex() );
+
+echo "\n\n-- Testing soundex() function with more than expected no. of arguments --\n";
+$str = "Euler";
+$extra_arg = 10;
+var_dump( soundex( $str, $extra_arg) );
+
+?> 
+===DONE===
+--EXPECTF--
+*** Testing soundex error conditions ***-- Testing soundex() function with Zero arguments --
+
+Warning: soundex() expects exactly 1 parameter, 0 given in %s on line %d
+NULL
+
+
+-- Testing soundex() function with more than expected no. of arguments --
+
+Warning: soundex() expects exactly 1 parameter, 2 given in %s on line %d
+NULL
+ 
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/str_replace_basic.phpt b/ext/standard/tests/strings/str_replace_basic.phpt
new file mode 100644
index 0000000..10bf542
--- /dev/null
+++ b/ext/standard/tests/strings/str_replace_basic.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Test str_replace() function basic function
+--INI--
+precision=14
+--FILE--
+<?php
+/* 
+  Prototype: mixed str_replace(mixed $search, mixed $replace, 
+                               mixed $subject [, int &$count]);
+  Description: Replace all occurrences of the search string with 
+               the replacement string
+*/
+
+echo "\n*** Testing str_replace() on basic operations ***\n";
+
+var_dump( str_replace("", "", "") );
+
+var_dump( str_replace("e", "b", "test") );
+
+var_dump( str_replace("", "", "", $count) );
+var_dump( $count );
+
+var_dump( str_replace("q", "q", "q", $count) );
+var_dump( $count );
+
+var_dump( str_replace("long string here", "", "", $count) );
+var_dump( $count );
+
+$fp = fopen( __FILE__, "r" );
+$fp_copy = $fp; 
+var_dump( str_replace($fp_copy, $fp_copy, $fp_copy, $fp_copy) );
+var_dump( $fp_copy );
+fclose($fp);
+
+?>
+===DONE===
+--EXPECTF--	
+*** Testing str_replace() on basic operations ***
+string(0) ""
+string(4) "tbst"
+string(0) ""
+int(0)
+string(1) "q"
+int(1)
+string(0) ""
+int(0)
+string(%d) "Resource id #%d"
+int(1)
+===DONE===
diff --git a/ext/standard/tests/strings/str_replace_error.phpt b/ext/standard/tests/strings/str_replace_error.phpt
new file mode 100644
index 0000000..897fb80
--- /dev/null
+++ b/ext/standard/tests/strings/str_replace_error.phpt
@@ -0,0 +1,41 @@
+--TEST--
+Test str_replace() function error conditions
+--INI--
+precision=14
+--FILE--
+<?php
+/* 
+  Prototype: mixed str_replace(mixed $search, mixed $replace, 
+                               mixed $subject [, int &$count]);
+  Description: Replace all occurrences of the search string with 
+               the replacement string
+*/
+
+
+echo "\n*** Testing str_replace error conditions ***";
+/* Invalid arguments */
+var_dump( str_replace() );
+var_dump( str_replace("") );
+var_dump( str_replace(NULL) );
+var_dump( str_replace(1, 2) );
+var_dump( str_replace(1,2,3,$var,5) );
+
+?>
+===DONE===
+--EXPECTF--	
+*** Testing str_replace error conditions ***
+Warning: Wrong parameter count for str_replace() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for str_replace() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for str_replace() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for str_replace() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for str_replace() in %s on line %d
+NULL
+===DONE===
diff --git a/ext/standard/tests/strings/str_replace_variation1.phpt b/ext/standard/tests/strings/str_replace_variation1.phpt
new file mode 100644
index 0000000..279fb22
--- /dev/null
+++ b/ext/standard/tests/strings/str_replace_variation1.phpt
@@ -0,0 +1,392 @@
+--TEST--
+Test str_replace() function - test search values
+--INI--
+precision=14
+--FILE--
+<?php
+/* 
+  Prototype: mixed str_replace(mixed $search, mixed $replace, 
+                               mixed $subject [, int &$count]);
+  Description: Replace all occurrences of the search string with 
+               the replacement string
+*/
+
+
+echo "\n*** Testing str_replace() with various search values ***";
+$search_arr = array( TRUE, FALSE, 1, 0, -1, "1", "0", "-1",  NULL, 
+                     array(), "php", "");
+
+$i = 0;
+/* loop through to replace the matched elements in the array */
+foreach( $search_arr as $value ) {
+  echo "\n-- Iteration $i --\n";
+  /* replace the string in array */
+  var_dump( str_replace($value, "FOUND", $search_arr, $count) ); 
+  var_dump( $count );
+  $i++;
+}
+
+?>
+===DONE===
+--EXPECT--	
+*** Testing str_replace() with various search values ***
+-- Iteration 0 --
+array(12) {
+  [0]=>
+  string(5) "FOUND"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(5) "FOUND"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(6) "-FOUND"
+  [5]=>
+  string(5) "FOUND"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(6) "-FOUND"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(5)
+
+-- Iteration 1 --
+array(12) {
+  [0]=>
+  string(1) "1"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(1) "1"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(2) "-1"
+  [5]=>
+  string(1) "1"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(2) "-1"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(0)
+
+-- Iteration 2 --
+array(12) {
+  [0]=>
+  string(5) "FOUND"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(5) "FOUND"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(6) "-FOUND"
+  [5]=>
+  string(5) "FOUND"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(6) "-FOUND"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(5)
+
+-- Iteration 3 --
+array(12) {
+  [0]=>
+  string(1) "1"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(1) "1"
+  [3]=>
+  string(5) "FOUND"
+  [4]=>
+  string(2) "-1"
+  [5]=>
+  string(1) "1"
+  [6]=>
+  string(5) "FOUND"
+  [7]=>
+  string(2) "-1"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(2)
+
+-- Iteration 4 --
+array(12) {
+  [0]=>
+  string(1) "1"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(1) "1"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(5) "FOUND"
+  [5]=>
+  string(1) "1"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(5) "FOUND"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(2)
+
+-- Iteration 5 --
+array(12) {
+  [0]=>
+  string(5) "FOUND"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(5) "FOUND"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(6) "-FOUND"
+  [5]=>
+  string(5) "FOUND"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(6) "-FOUND"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(5)
+
+-- Iteration 6 --
+array(12) {
+  [0]=>
+  string(1) "1"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(1) "1"
+  [3]=>
+  string(5) "FOUND"
+  [4]=>
+  string(2) "-1"
+  [5]=>
+  string(1) "1"
+  [6]=>
+  string(5) "FOUND"
+  [7]=>
+  string(2) "-1"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(2)
+
+-- Iteration 7 --
+array(12) {
+  [0]=>
+  string(1) "1"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(1) "1"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(5) "FOUND"
+  [5]=>
+  string(1) "1"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(5) "FOUND"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(2)
+
+-- Iteration 8 --
+array(12) {
+  [0]=>
+  string(1) "1"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(1) "1"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(2) "-1"
+  [5]=>
+  string(1) "1"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(2) "-1"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(0)
+
+-- Iteration 9 --
+array(12) {
+  [0]=>
+  string(1) "1"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(1) "1"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(2) "-1"
+  [5]=>
+  string(1) "1"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(2) "-1"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(0)
+
+-- Iteration 10 --
+array(12) {
+  [0]=>
+  string(1) "1"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(1) "1"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(2) "-1"
+  [5]=>
+  string(1) "1"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(2) "-1"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(5) "FOUND"
+  [11]=>
+  string(0) ""
+}
+int(1)
+
+-- Iteration 11 --
+array(12) {
+  [0]=>
+  string(1) "1"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(1) "1"
+  [3]=>
+  string(1) "0"
+  [4]=>
+  string(2) "-1"
+  [5]=>
+  string(1) "1"
+  [6]=>
+  string(1) "0"
+  [7]=>
+  string(2) "-1"
+  [8]=>
+  string(0) ""
+  [9]=>
+  array(0) {
+  }
+  [10]=>
+  string(3) "php"
+  [11]=>
+  string(0) ""
+}
+int(0)
+===DONE===
diff --git a/ext/standard/tests/strings/str_replace_variation2.phpt b/ext/standard/tests/strings/str_replace_variation2.phpt
new file mode 100644
index 0000000000000000000000000000000000000000..5534341dcfefb997cb925abf9d0342f8eee89e65
GIT binary patch
literal 12679
zcmeHNYfsxq6y+=a6_;$bc{HIOI{^Ys*$RRd3DK&6w%ev#8D}7_LLAvnOSRhl?R)2r
zoy4Iw3F9ET35xLe&eP{UX3or1tLLq=^J-N)=Y9Zw;C=S^pl8{<Sc0oz-wqtNuT`tZ
zr^i at k;BnjWQPN~J6doO)v{3qTf6yIhFUp_+y!G6`4ZaWfF5Eb`yc26tO7cFpJiA*7
z3*^K8Dx!MoUsQc~`Gwm7e5`=e58zqec8C4oQ)v(DA9COJoPikhF1(W;0#>gFu5AxJ
zkN0ivgL?%*mxCOJ7@*U?hHp;Ly)yz)EF9hq$G&7)t^7jMxZQOj*Y20gWf0JbHsa_}
zi(f6zafd$ma?n0t`P`nC58t5)x!-xO=T_jG>-9Pnof*1mnww^=R<E*6!>rY}w#TTP
zUYwl3`MZl29KAj{YqfP<*I- at bw{J1szOBDLIBe_IrQJcv`#(Rl14`%fzy0#-U(d=L
z|5i44_x5*TV<YVL578}X)W&{HW_P`!UfL87X6(oWjz=c8>Y<=MN^F(z!-N_1Iq&ok
zXQvMq{yfk64uK1o9BlVyV0ma2m_;g(*ylqXAg-Ztd`1akBkLB0ULu%iytxWW3X`KP
zkR<+9B+Ko`zKUw*;%G=2GfYb0Q?!)}(I=Tq*GMk#Bw+#Jr7nb0C`%+{V>&%_l1d54
zM_cCPNL`^wC at soGCCcQc9F5R5wIUKShtY!xDH#D}Q%dHCJ&lcq#Dz-<Q9F>Zv;z{)
zp<U5WWVaf6n^1MnbqA<P&mCTOg^sUzK#IkJQnjekE7vPR-a&Qhd*b;L%>W&?IHBs2
z$awx7O7J&!61i5jT7~0)dzNr#Q4<AdVv_~nOm<^kVY$#%g(pt<_gAYo<ly+we1#3P
z`_uxu<>$`uW>Adz?8JyZ=ABO!$Q`}8I6cf&M&FGo8hi;T+{lsQFypbLYx!`6-`IhI
zEM9=Xx#2!_{*R{ZztWn`=HZ*u7CtbJw%)&O9bgPz*B%f}u>K at Wx<CnKb0eckjTPDU
zc4_2o4+%<ZVMJQfKO7vcjYH9TQY0dfqYxxt9uRxPHz%sW2sNNhp~Y5cMHAqJ(I%l~
zD5JGwJgRNQENgPQfUFISB^a2g3|WIcDrE5~H1f)YVy7oyS5wAr!RAKhwWzgJYCKCa
zx4JT9%WH01E9~mHhEKJ-Bv;*5#%`yP7Usy)Qi#ypYmQhz%ZUA?BA4W`JIcr{ug5mj
zu`|=G?tTIuw>!DqAl|($(~rcvQ!OuPHOJJcLL*c7LaIQ>C6a|F<G4(nJ1no~GIc7^
zn3qaOj~s8F#eH`Mp89l5PnlI1`W=!_ at GyfOv+qETK%{yz68 at Qhqz32PeoPI6wFH*I
zlxfBa%+V$tTM-cB!Ha07%s|Wuw<iBd*}tRwx&DdmZK at z*sH`atA=WfX%N5U5gX29w
z%8*MV5o+mmdUZs?Xaj;?Xt$qI+7H_g_x7jCX1%#%G?HS6GVj6D9<>#y1V^3$QCjS}
zQsODjXl4?S8PK4b8j#UUM%ZOJk<EFAmO6<gu}GEy70L*|HJuQgY3F~Yg}`IrXJo*I
zGQ#htv_B&QGL(cL0W#BZc;v$4Sw|j%KYcQ3DD$BoO(cZe#C-yKzwb`LLP3-xn(Z<{
zY9LISNDO6a#O5ZJbSZ<rOdiND6v0`qVx*#%G>sS;aG|^FnPoIXWgfKhXS(%aD03pV
zyt{0MGCffOPu!jPiDRKMC0Vg?iu{kp#tn56w6ir6iKOqMY5)JQoor at 6eo{|w=RHTW
zq}_y9Sl36d)B8mWy2YBhbV at o+Gc#a7OMBDDTnPP{>nb%)RAhDH+Uzucqzu|lyVn9o
mZNzRJXMWu*iT;=w(4XbCLS^<-$Jv7{ApI82h<=T40sjZYr>AlN

literal 0
HcmV?d00001

diff --git a/ext/standard/tests/strings/str_replace_variation3.phpt b/ext/standard/tests/strings/str_replace_variation3.phpt
new file mode 100644
index 0000000..9b19153
--- /dev/null
+++ b/ext/standard/tests/strings/str_replace_variation3.phpt
@@ -0,0 +1,227 @@
+--TEST--
+Test str_replace() function
+--INI--
+precision=14
+--FILE--
+<?php
+/* 
+  Prototype: mixed str_replace(mixed $search, mixed $replace, 
+                               mixed $subject [, int &$count]);
+  Description: Replace all occurrences of the search string with 
+               the replacement string
+*/
+
+
+echo "\n*** Testing Miscelleneous input data ***\n";
+/*  If replace has fewer values than search, then an empty 
+    string is used for the rest of replacement values */
+var_dump( str_replace(array("a", "a", "b"), 
+		      array("q", "q"), 
+		      "aaabb", $count
+		     )
+	);
+var_dump($count);
+var_dump( str_replace(array("a", "a", "b"), 
+                      array("q", "q"), 
+                      array("aaa", "bbb", "ccc"), 
+                      $count
+                     )
+        );
+var_dump($count);
+
+
+echo "\n-- Testing objects --\n";
+/* we get "Catchable fatal error: saying Object of class could not be converted
+        to string" by default, when an object is passed instead of string:
+The error can be  avoided by chosing the __toString magix method as follows: */
+
+class subject 
+{
+  function __toString() {
+    return "Hello, world";
+  }
+}
+$obj_subject = new subject;
+
+class search 
+{
+  function __toString() {
+    return "Hello, world";
+  }
+}
+$obj_search = new search;
+
+class replace 
+{
+  function __toString() {
+    return "Hello, world";
+  }
+}
+$obj_replace = new replace;
+
+var_dump(str_replace("$obj_search", "$obj_replace", "$obj_subject", $count));
+var_dump($count);
+
+
+echo "\n-- Testing arrays --\n";
+var_dump(str_replace(array("a", "a", "b"), "multi", "aaa", $count));
+var_dump($count);
+
+var_dump(str_replace( array("a", "a", "b"),
+                      array("q", "q", "c"), 
+                      "aaa", $count
+                    )
+);
+var_dump($count);
+
+var_dump(str_replace( array("a", "a", "b"),
+                      array("q", "q", "c"), 
+                      array("aaa", "bbb"), 
+                      $count
+                    )
+);
+var_dump($count);
+
+var_dump(str_replace("a", array("q", "q", "c"), array("aaa"), $count));
+var_dump($count);
+
+var_dump(str_replace("a", 1, array("aaa", "bbb"), $count));
+var_dump($count);
+
+var_dump(str_replace(1, 3, array("aaa1", "2bbb"), $count));
+var_dump($count);
+
+
+echo "\n-- Testing Resources --\n";
+$resource1 = fopen( __FILE__, "r" );
+$resource2 = opendir( "." );
+var_dump(str_replace("stream", "FOUND", $resource1, $count)); 
+var_dump($count);
+var_dump(str_replace("stream", "FOUND", $resource2, $count));
+var_dump($count);
+
+
+echo "\n-- Testing a longer and heredoc string --\n";
+$string = <<<EOD
+abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
+abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
+abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
+abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
+abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
+abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
+abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
+@#$%^&**&^%$#@!~:())))((((&&&**%$###@@@!!!~~~~@###$%^&*
+abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789
+EOD;
+
+var_dump( str_replace("abcdef", "FOUND", $string, $count) );
+var_dump( $count );
+
+echo "\n-- Testing a heredoc null string --\n";
+$str = <<<EOD
+EOD;
+var_dump( str_replace("", "FOUND", $str, $count) );
+var_dump( $count );
+
+
+echo "\n-- Testing simple and complex syntax strings --\n";
+$str = 'world';
+
+/* Simple syntax */
+var_dump( str_replace("world", "FOUND", "$str") );
+var_dump( str_replace("world'S", "FOUND", "$str'S") );
+var_dump( str_replace("worldS", "FOUND", "$strS") );
+
+/* String with curly braces, complex syntax */
+var_dump( str_replace("worldS", "FOUND", "${str}S") );
+var_dump( str_replace("worldS", "FOUND", "{$str}S") );
+
+
+fclose($resource1);
+closedir($resource2);
+
+?>
+===DONE===
+--EXPECTF--	
+*** Testing Miscelleneous input data ***
+string(3) "qqq"
+int(5)
+array(3) {
+  [0]=>
+  string(3) "qqq"
+  [1]=>
+  string(0) ""
+  [2]=>
+  string(3) "ccc"
+}
+int(6)
+
+-- Testing objects --
+string(12) "Hello, world"
+int(1)
+
+-- Testing arrays --
+string(15) "multimultimulti"
+int(3)
+string(3) "qqq"
+int(3)
+array(2) {
+  [0]=>
+  string(3) "qqq"
+  [1]=>
+  string(3) "ccc"
+}
+int(6)
+
+Notice: Array to string conversion in %s on line %d
+array(1) {
+  [0]=>
+  string(15) "ArrayArrayArray"
+}
+int(3)
+array(2) {
+  [0]=>
+  string(3) "111"
+  [1]=>
+  string(3) "bbb"
+}
+int(3)
+array(2) {
+  [0]=>
+  string(4) "aaa3"
+  [1]=>
+  string(4) "2bbb"
+}
+int(1)
+
+-- Testing Resources --
+string(%d) "Resource id #%d"
+int(0)
+string(%d) "Resource id #%d"
+int(0)
+
+-- Testing a longer and heredoc string --
+string(623) "FOUNDghijklmnopqrstuvwxyz0123456789FOUNDghijklmnopqrstuvwxyz0123456789
+FOUNDghijklmnopqrstuvwxyz0123456789FOUNDghijklmnopqrstuvwxyz0123456789
+FOUNDghijklmnopqrstuvwxyz0123456789FOUNDghijklmnopqrstuvwxyz0123456789
+FOUNDghijklmnopqrstuvwxyz0123456789FOUNDghijklmnopqrstuvwxyz0123456789
+FOUNDghijklmnopqrstuvwxyz0123456789FOUNDghijklmnopqrstuvwxyz0123456789
+FOUNDghijklmnopqrstuvwxyz0123456789FOUNDghijklmnopqrstuvwxyz0123456789
+FOUNDghijklmnopqrstuvwxyz0123456789FOUNDghijklmnopqrstuvwxyz0123456789
+@#$%^&**&^%$#@!~:())))((((&&&**%$###@@@!!!~~~~@###$%^&*
+FOUNDghijklmnopqrstuvwxyz0123456789FOUNDghijklmnopqrstuvwxyz0123456789"
+int(16)
+
+-- Testing a heredoc null string --
+string(0) ""
+int(0)
+
+-- Testing simple and complex syntax strings --
+string(5) "FOUND"
+string(5) "FOUND"
+
+Notice: Undefined variable: strS in %s on line %d
+string(0) ""
+string(5) "FOUND"
+string(5) "FOUND"
+===DONE===
diff --git a/ext/standard/tests/strings/str_rot13_basic.phpt b/ext/standard/tests/strings/str_rot13_basic.phpt
new file mode 100644
index 0000000..949d725
--- /dev/null
+++ b/ext/standard/tests/strings/str_rot13_basic.phpt
@@ -0,0 +1,55 @@
+--TEST--
+Test soundex() function : basic functionality
+--FILE--
+<?php
+/* Prototype  : string str_rot13  ( string $str  )
+ * Description: Perform the rot13 transform on a string
+ * Source code: ext/standard/string.c
+*/
+echo "*** Testing str_rot13() : basic functionality ***\n";
+
+echo "\nBasic tests\n";
+var_dump(str_rot13("str_rot13() tests starting"));
+var_dump(str_rot13("abcdefghijklmnopqrstuvwxyz"));
+
+echo "\nEnsure numeric characters are left untouched\n";
+if (strcmp(str_rot13("0123456789"), "0123456789") == 0) {
+	echo "Strings equal : TEST PASSED\n"; 
+} else {
+	echo "Strings unequal : TEST FAILED\n"; 
+}
+
+echo "\nEnsure non-alphabetic characters are left untouched\n";
+if (strcmp(str_rot13("!%^&*()_-+={}[]:;@~#<,>.?"), "!%^&*()_-+={}[]:;@~#<,>.?")) {
+	echo "Strings equal : TEST PASSED\n"; 
+} else {
+	echo "Strings unequal : TEST FAILED\n"; 
+}
+
+echo "\nEnsure strings round trip\n";
+$str = "str_rot13() tests starting";
+$encode = str_rot13($str);
+$decode = str_rot13($encode);
+if (strcmp($str, $decode) == 0) {
+	echo "Strings equal : TEST PASSED\n"; 
+} else {
+	echo "Strings unequal : TEST FAILED\n"; 
+}
+?>
+===DONE===
+--EXPECTF--
+*** Testing str_rot13() : basic functionality ***
+
+Basic tests
+string(26) "fge_ebg13() grfgf fgnegvat"
+string(26) "nopqrstuvwxyzabcdefghijklm"
+
+Ensure numeric characters are left untouched
+Strings equal : TEST PASSED
+
+Ensure non-alphabetic characters are left untouched
+Strings unequal : TEST FAILED
+
+Ensure strings round trip
+Strings equal : TEST PASSED
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/str_rot13_error.phpt b/ext/standard/tests/strings/str_rot13_error.phpt
new file mode 100644
index 0000000..8f27457
--- /dev/null
+++ b/ext/standard/tests/strings/str_rot13_error.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Test str_rot13() function : error conditions
+--FILE--
+<?php
+/* Prototype  : string str_rot13  ( string $str  )
+ * Description: Perform the rot13 transform on a string
+ * Source code: ext/standard/string.c
+*/
+echo "*** Testing str_rot13() : error conditions ***\n";
+
+echo "-- Testing str_rot13() function with Zero arguments --\n";
+var_dump( str_rot13() );
+
+echo "\n\n-- Testing str_rot13() function with more than expected no. of arguments --\n";
+$str = "str_rot13() tests starting";
+$extra_arg = 10;
+var_dump( str_rot13( $str, $extra_arg) );
+?>
+===DONE===
+--EXPECTF--
+*** Testing str_rot13() : error conditions ***
+-- Testing str_rot13() function with Zero arguments --
+
+Warning: Wrong parameter count for str_rot13() in %s on line %d
+NULL
+
+
+-- Testing str_rot13() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for str_rot13() in %s on line %d
+NULL
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strcspn_variation1.phpt b/ext/standard/tests/strings/strcspn_variation1.phpt
index 6a1c6d6..219a12c 100644
--- a/ext/standard/tests/strings/strcspn_variation1.phpt
+++ b/ext/standard/tests/strings/strcspn_variation1.phpt
@@ -1,273 +1,273 @@
---TEST--
-Test strcspn() function : usage variations - unexpected values for str argument
---FILE--
-<?php
-/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
- * Description: Finds length of initial segment consisting entirely of characters not found in mask.
-                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
- * Source code: ext/standard/string.c
- * Alias to functions: none
-*/
-
-error_reporting(E_ALL & ~E_NOTICE);
-
-/*
-* Testing strspn() : with different unexpected values for str argument
-*/
-
-echo "*** Testing strcspn() : with unexpected values for str argument ***\n";
-
-// Initialise function arguments not being substititued (if any)
-$mask = 'abons1234567890';
-$start = 1;
-$len = 10;
-
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// declaring class
-class sample  {
-  public function __toString() {
-    return "object";
-  }
-}
-
-// creating a file resource
-$file_handle = fopen(__FILE__, 'r');
-
-
-//array of values to iterate over
-$values = array(
-
-      // int data
-      0,
-      1,
-      12345,
-      -2345,
-
-      // float data
-      10.5,
-      -10.5,
-      10.1234567e10,
-      10.7654321E-10,
-      .5,
-
-      // array data
-      array(),
-      array(0),
-      array(1),
-      array(1, 2),
-      array('color' => 'red', 'item' => 'pen'),
-
-      // null data
-      NULL,
-      null,
-
-      // boolean data
-      true,
-      false,
-      TRUE,
-      FALSE,
-
-      // empty data
-      "",
-      '',
-
-      // object data
-      new sample,
-
-      // undefined data
-      $undefined_var,
-
-      // unset data
-      $unset_var,
-
-      // resource
-      $file_handle
-);
-
-// loop through each element of the array for str
-
-foreach($values as $value) {
-      echo "\n-- Iteration with str value as \"$value\"\n";
-      var_dump( strcspn($value,$mask) ); // with default args
-      var_dump( strcspn($value,$mask,$start) );  // with default len value
-      var_dump( strcspn($value,$mask,$start,$len) );  //  with all args
-};
-
-// closing the resource
-fclose($file_handle);
-
-echo "Done"
-?>
---EXPECTF--
-*** Testing strcspn() : with unexpected values for str argument ***
-
--- Iteration with str value as "0"
-int(0)
-int(0)
-int(0)
-
--- Iteration with str value as "1"
-int(0)
-int(0)
-int(0)
-
--- Iteration with str value as "12345"
-int(0)
-int(0)
-int(0)
-
--- Iteration with str value as "-2345"
-int(1)
-int(0)
-int(0)
-
--- Iteration with str value as "10.5"
-int(0)
-int(0)
-int(0)
-
--- Iteration with str value as "-10.5"
-int(1)
-int(0)
-int(0)
-
--- Iteration with str value as "101234567000"
-int(0)
-int(0)
-int(0)
-
--- Iteration with str value as "1.07654321E-9"
-int(0)
-int(1)
-int(1)
-
--- Iteration with str value as "0.5"
-int(0)
-int(1)
-int(1)
-
--- Iteration with str value as "Array"
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as "Array"
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as "Array"
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as "Array"
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as "Array"
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as "1"
-int(0)
-int(0)
-int(0)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as "1"
-int(0)
-int(0)
-int(0)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as "object"
-int(0)
-int(0)
-int(0)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as "Resource id #%d"
-
-Warning: strcspn() expects parameter 1 to be string, resource given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, resource given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 1 to be string, resource given in %s on line %d
-NULL
+--TEST--
+Test strcspn() function : usage variations - unexpected values for str argument
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+error_reporting(E_ALL & ~E_NOTICE);
+
+/*
+* Testing strspn() : with different unexpected values for str argument
+*/
+
+echo "*** Testing strcspn() : with unexpected values for str argument ***\n";
+
+// Initialise function arguments not being substititued (if any)
+$mask = 'abons1234567890';
+$start = 1;
+$len = 10;
+
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return "object";
+  }
+}
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+
+//array of values to iterate over
+$values = array(
+
+      // int data
+      0,
+      1,
+      12345,
+      -2345,
+
+      // float data
+      10.5,
+      -10.5,
+      10.1234567e10,
+      10.7654321E-10,
+      .5,
+
+      // array data
+      array(),
+      array(0),
+      array(1),
+      array(1, 2),
+      array('color' => 'red', 'item' => 'pen'),
+
+      // null data
+      NULL,
+      null,
+
+      // boolean data
+      true,
+      false,
+      TRUE,
+      FALSE,
+
+      // empty data
+      "",
+      '',
+
+      // object data
+      new sample,
+
+      // undefined data
+      $undefined_var,
+
+      // unset data
+      $unset_var,
+
+      // resource
+      $file_handle
+);
+
+// loop through each element of the array for str
+
+foreach($values as $value) {
+      echo "\n-- Iteration with str value as \"$value\"\n";
+      var_dump( strcspn($value,$mask) ); // with default args
+      var_dump( strcspn($value,$mask,$start) );  // with default len value
+      var_dump( strcspn($value,$mask,$start,$len) );  //  with all args
+};
+
+// closing the resource
+fclose($file_handle);
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with unexpected values for str argument ***
+
+-- Iteration with str value as "0"
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "1"
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "12345"
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "-2345"
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as "10.5"
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "-10.5"
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as "101234567000"
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as "1.07654321E-9"
+int(0)
+int(1)
+int(1)
+
+-- Iteration with str value as "0.5"
+int(0)
+int(1)
+int(1)
+
+-- Iteration with str value as "Array"
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array"
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array"
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array"
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array"
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "1"
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "1"
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "object"
+int(0)
+int(0)
+int(0)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "Resource id #%d"
+
+Warning: strcspn() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 1 to be string, resource given in %s on line %d
+NULL
 Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strcspn_variation2.phpt b/ext/standard/tests/strings/strcspn_variation2.phpt
index 0924e45..cb7544c 100644
--- a/ext/standard/tests/strings/strcspn_variation2.phpt
+++ b/ext/standard/tests/strings/strcspn_variation2.phpt
@@ -1,272 +1,272 @@
---TEST--
-Test strcspn() function : usage variations - unexpected values for mask argument
---FILE--
-<?php
-/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
- * Description: Finds length of initial segment consisting entirely of characters not found in mask.
-		If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
- * Source code: ext/standard/string.c
- * Alias to functions: none
-*/
-
-error_reporting(E_ALL & ~E_NOTICE);
-
-/*
-* Testing strcspn() : with different unexpected values for mask argument
-*/
-
-echo "*** Testing strcspn() : with diferent unexpected values of mask argument ***\n";
-
-$str = 'string_val';
-$start = 1;
-$len = 10;
-
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// declaring class
-class sample  {
-  public function __toString() {
-    return "object";
-  }
-}
-
-// creating a file resource
-$file_handle = fopen(__FILE__, 'r');
-
-
-//array of values to iterate over
-$values = array(
-
-      // int data
-      0,
-      1,
-      12345,
-      -2345,
-
-      // float data
-      10.5,
-      -10.5,
-      10.1234567e10,
-      10.7654321E-10,
-      .5,
-
-      // array data
-      array(),
-      array(0),
-      array(1),
-      array(1, 2),
-      array('color' => 'red', 'item' => 'pen'),
-
-      // null data
-      NULL,
-      null,
-
-      // boolean data
-      true,
-      false,
-      TRUE,
-      FALSE,
-
-      // empty data
-      "",
-      '',
-
-      // object data
-      new sample(),
-
-      // undefined data
-      $undefined_var,
-
-      // unset data
-      $unset_var,
-
-      // resource
-      $file_handle
-);
-
-// loop through each element of the array for mask
-
-foreach($values as $value) {
-      echo "\n-- Iteration with mask value as \"$value\" --\n";
-      var_dump( strcspn($str,$value) );  // with defalut args
-      var_dump( strcspn($str,$value,$start) );  // with default len value
-      var_dump( strcspn($str,$value,$start,$len) );  // with all args
-};
-
-// close the resource
-fclose($file_handle);
-
-echo "Done"
-?>
---EXPECTF--
-*** Testing strcspn() : with diferent unexpected values of mask argument ***
-
--- Iteration with mask value as "0" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "1" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "12345" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "-2345" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "10.5" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "-10.5" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "101234567000" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "1.07654321E-9" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "0.5" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "Array" --
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
--- Iteration with mask value as "Array" --
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
--- Iteration with mask value as "Array" --
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
--- Iteration with mask value as "Array" --
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
--- Iteration with mask value as "Array" --
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
-NULL
-
--- Iteration with mask value as "" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "1" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "1" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "object" --
-int(1)
-int(0)
-int(0)
-
--- Iteration with mask value as "" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "" --
-int(10)
-int(9)
-int(9)
-
--- Iteration with mask value as "Resource id #%d" --
-
-Warning: strcspn() expects parameter 2 to be string, resource given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, resource given in %s on line %d
-NULL
-
-Warning: strcspn() expects parameter 2 to be string, resource given in %s on line %d
-NULL
+--TEST--
+Test strcspn() function : usage variations - unexpected values for mask argument
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+		If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+error_reporting(E_ALL & ~E_NOTICE);
+
+/*
+* Testing strcspn() : with different unexpected values for mask argument
+*/
+
+echo "*** Testing strcspn() : with diferent unexpected values of mask argument ***\n";
+
+$str = 'string_val';
+$start = 1;
+$len = 10;
+
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return "object";
+  }
+}
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+
+//array of values to iterate over
+$values = array(
+
+      // int data
+      0,
+      1,
+      12345,
+      -2345,
+
+      // float data
+      10.5,
+      -10.5,
+      10.1234567e10,
+      10.7654321E-10,
+      .5,
+
+      // array data
+      array(),
+      array(0),
+      array(1),
+      array(1, 2),
+      array('color' => 'red', 'item' => 'pen'),
+
+      // null data
+      NULL,
+      null,
+
+      // boolean data
+      true,
+      false,
+      TRUE,
+      FALSE,
+
+      // empty data
+      "",
+      '',
+
+      // object data
+      new sample(),
+
+      // undefined data
+      $undefined_var,
+
+      // unset data
+      $unset_var,
+
+      // resource
+      $file_handle
+);
+
+// loop through each element of the array for mask
+
+foreach($values as $value) {
+      echo "\n-- Iteration with mask value as \"$value\" --\n";
+      var_dump( strcspn($str,$value) );  // with defalut args
+      var_dump( strcspn($str,$value,$start) );  // with default len value
+      var_dump( strcspn($str,$value,$start,$len) );  // with all args
+};
+
+// close the resource
+fclose($file_handle);
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with diferent unexpected values of mask argument ***
+
+-- Iteration with mask value as "0" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "1" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "12345" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "-2345" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "10.5" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "-10.5" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "101234567000" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "1.07654321E-9" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "0.5" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "Array" --
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "Array" --
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "Array" --
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "Array" --
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "Array" --
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with mask value as "" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "1" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "1" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "object" --
+int(1)
+int(0)
+int(0)
+
+-- Iteration with mask value as "" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "" --
+int(10)
+int(9)
+int(9)
+
+-- Iteration with mask value as "Resource id #%d" --
+
+Warning: strcspn() expects parameter 2 to be string, resource given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, resource given in %s on line %d
+NULL
+
+Warning: strcspn() expects parameter 2 to be string, resource given in %s on line %d
+NULL
 Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strcspn_variation4.phpt b/ext/standard/tests/strings/strcspn_variation4.phpt
index eabc069..d456a23 100644
--- a/ext/standard/tests/strings/strcspn_variation4.phpt
+++ b/ext/standard/tests/strings/strcspn_variation4.phpt
@@ -1,196 +1,196 @@
---TEST--
-Test strcspn() function : usage variations - unexpected values of len argument
---FILE--
-<?php
-/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
- * Description: Finds length of initial segment consisting entirely of characters not found in mask.
-                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
- * Source code: ext/standard/string.c
- * Alias to functions: none
-*/
-
-error_reporting(E_ALL & ~E_NOTICE);
-
-/*
-* Testing strcspn() : with unexpected values of len argument
-*/
-
-echo "*** Testing strcspn() : with unexpected values of len argument ***\n";
-
-// initialing required variables
-$str = 'string_val';
-$mask = 'soibtFTf1234567890';
-$start = 0;
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// declaring class
-class sample  {
-  public function __toString() {
-    return "object";
-  }
-}
-
-// creating a file resource
-$file_handle = fopen(__FILE__, 'r');
-
-
-//array of values to iterate over
-$values = array(
-
-      // float data
-      10.5,
-      -10.5,
-      10.1234567e10,
-      10.7654321E-10,
-      .5,
-
-      // array data
-      array(),
-      array(0),
-      array(1),
-      array(1, 2),
-      array('color' => 'red', 'item' => 'pen'),
-
-      // null data
-      NULL,
-      null,
-
-      // boolean data
-      true,
-      false,
-      TRUE,
-      FALSE,
-
-      // empty data
-      "",
-      '',
-
-      // string data
-      "string",
-      'string',
-
-      // object data
-      new sample(),
-
-      // undefined data
-      $undefined_var,
-
-      // unset data
-      $unset_var,
-
-      // resource
-      $file_handle
-);
-
-// loop through each element of the array for start
-
-foreach($values as $value) {
-      echo "\n-- Iteration with len value as \"$value\" --\n";
-      var_dump( strcspn($str,$mask,$start,$value) );  // with all args
-};
-
-// closing the resource
-fclose($file_handle);
-
-echo "Done"
-?>
---EXPECTF--
-*** Testing strcspn() : with unexpected values of len argument ***
-
--- Iteration with len value as "10.5" --
-int(0)
-
--- Iteration with len value as "-10.5" --
-int(0)
-
--- Iteration with len value as "101234567000" --
-int(0)
-
--- Iteration with len value as "1.07654321E-9" --
-int(0)
-
--- Iteration with len value as "0.5" --
-int(0)
-
--- Iteration with len value as "Array" --
-
-Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
-NULL
-
--- Iteration with len value as "Array" --
-
-Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
-NULL
-
--- Iteration with len value as "Array" --
-
-Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
-NULL
-
--- Iteration with len value as "Array" --
-
-Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
-NULL
-
--- Iteration with len value as "Array" --
-
-Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
-NULL
-
--- Iteration with len value as "" --
-int(0)
-
--- Iteration with len value as "" --
-int(0)
-
--- Iteration with len value as "1" --
-int(0)
-
--- Iteration with len value as "" --
-int(0)
-
--- Iteration with len value as "1" --
-int(0)
-
--- Iteration with len value as "" --
-int(0)
-
--- Iteration with len value as "" --
-
-Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
-NULL
-
--- Iteration with len value as "" --
-
-Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
-NULL
-
--- Iteration with len value as "string" --
-
-Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
-NULL
-
--- Iteration with len value as "string" --
-
-Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
-NULL
-
--- Iteration with len value as "object" --
-
-Warning: strcspn() expects parameter 4 to be long, object given in %s on line %d
-NULL
-
--- Iteration with len value as "" --
-int(0)
-
--- Iteration with len value as "" --
-int(0)
-
--- Iteration with len value as "Resource id #%d" --
-
-Warning: strcspn() expects parameter 4 to be long, resource given in %s on line %d
-NULL
+--TEST--
+Test strcspn() function : usage variations - unexpected values of len argument
+--FILE--
+<?php
+/* Prototype  : proto int strcspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters not found in mask.
+                If start or/and length is provided works like strcspn(substr($s,$start,$len),$bad_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+error_reporting(E_ALL & ~E_NOTICE);
+
+/*
+* Testing strcspn() : with unexpected values of len argument
+*/
+
+echo "*** Testing strcspn() : with unexpected values of len argument ***\n";
+
+// initialing required variables
+$str = 'string_val';
+$mask = 'soibtFTf1234567890';
+$start = 0;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return "object";
+  }
+}
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+
+//array of values to iterate over
+$values = array(
+
+      // float data
+      10.5,
+      -10.5,
+      10.1234567e10,
+      10.7654321E-10,
+      .5,
+
+      // array data
+      array(),
+      array(0),
+      array(1),
+      array(1, 2),
+      array('color' => 'red', 'item' => 'pen'),
+
+      // null data
+      NULL,
+      null,
+
+      // boolean data
+      true,
+      false,
+      TRUE,
+      FALSE,
+
+      // empty data
+      "",
+      '',
+
+      // string data
+      "string",
+      'string',
+
+      // object data
+      new sample(),
+
+      // undefined data
+      $undefined_var,
+
+      // unset data
+      $unset_var,
+
+      // resource
+      $file_handle
+);
+
+// loop through each element of the array for start
+
+foreach($values as $value) {
+      echo "\n-- Iteration with len value as \"$value\" --\n";
+      var_dump( strcspn($str,$mask,$start,$value) );  // with all args
+};
+
+// closing the resource
+fclose($file_handle);
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strcspn() : with unexpected values of len argument ***
+
+-- Iteration with len value as "10.5" --
+int(0)
+
+-- Iteration with len value as "-10.5" --
+int(0)
+
+-- Iteration with len value as "101234567000" --
+int(0)
+
+-- Iteration with len value as "1.07654321E-9" --
+int(0)
+
+-- Iteration with len value as "0.5" --
+int(0)
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "Array" --
+
+Warning: strcspn() expects parameter 4 to be long, array given in %s on line %d
+NULL
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "1" --
+int(0)
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "1" --
+int(0)
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "" --
+
+Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with len value as "" --
+
+Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with len value as "string" --
+
+Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with len value as "string" --
+
+Warning: strcspn() expects parameter 4 to be long, string given in %s on line %d
+NULL
+
+-- Iteration with len value as "object" --
+
+Warning: strcspn() expects parameter 4 to be long, object given in %s on line %d
+NULL
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "" --
+int(0)
+
+-- Iteration with len value as "Resource id #%d" --
+
+Warning: strcspn() expects parameter 4 to be long, resource given in %s on line %d
+NULL
 Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/stripcslashes_variation1.phpt b/ext/standard/tests/strings/stripcslashes_variation1.phpt
index 5251cab..d08600c 100644
--- a/ext/standard/tests/strings/stripcslashes_variation1.phpt
+++ b/ext/standard/tests/strings/stripcslashes_variation1.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test stripcslashes() function : usage variations  - non-string type argument 
---INI--
 --FILE--
 <?php
 /* Prototype  : string stripcslashes  ( string $str  )
diff --git a/ext/standard/tests/strings/strnatcasecmp_basic.phpt b/ext/standard/tests/strings/strnatcasecmp_basic.phpt
new file mode 100644
index 0000000..ae5c9e6
--- /dev/null
+++ b/ext/standard/tests/strings/strnatcasecmp_basic.phpt
@@ -0,0 +1,51 @@
+--TEST--
+Test strnatcasecmp() function : basic functionality 
+--CREDITS--
+Felix De Vliegher <felix.devliegher at gmail.com>
+--FILE--
+<?php
+/* Prototype  : int strnatcasecmp(string s1, string s2)
+ * Description: Returns the result of case-insensitive string comparison using 'natural' algorithm 
+ * Source code: ext/standard/string.c
+ * Alias to functions: 
+ */
+
+function str_dump($one, $two) {
+	var_dump(strnatcasecmp($one, $two));
+}
+
+echo "*** Testing strnatcasecmp() : basic functionality ***\n";
+
+// Calling strnatcasecmp() with all possible arguments
+str_dump('A', 'a');
+str_dump('a10', 'A20');
+str_dump('A1b', 'a');
+str_dump('x2-y7', 'x8-y8');
+str_dump('1.010', '1.001');
+str_dump(' ab', ' aB');
+str_dump('acc ', 'acc');
+str_dump(11.5, 10.5);
+str_dump(10.5, 10.5E1);
+str_dump('Rfc822.txt', 'rfc2086.txt');
+str_dump('Rfc822.txt', 'rfc822.TXT');
+str_dump('pIc 6', 'pic   7');
+str_dump(0xFFF, 0Xfff);
+
+?>
+===DONE===
+--EXPECT--
+*** Testing strnatcasecmp() : basic functionality ***
+int(0)
+int(-1)
+int(1)
+int(-1)
+int(1)
+int(0)
+int(1)
+int(1)
+int(-1)
+int(-1)
+int(0)
+int(-1)
+int(0)
+===DONE===
diff --git a/ext/standard/tests/strings/strnatcasecmp_error.phpt b/ext/standard/tests/strings/strnatcasecmp_error.phpt
new file mode 100644
index 0000000..e9ff573
--- /dev/null
+++ b/ext/standard/tests/strings/strnatcasecmp_error.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Test strnatcasecmp() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : int strnatcasecmp  ( string $str1  , string $str2  )
+ * Description: Case insensitive string comparisons using a "natural order" algorithm
+ * Source code: ext/standard/string.c
+*/
+echo "*** Testing strnatcasecmp() : error conditions ***\n";
+
+echo "-- Testing strnatcmp() function with Zero arguments --\n";
+var_dump( strnatcasecmp() );
+
+echo "\n\n-- Testing strnatcasecmp() function with more than expected no. of arguments --\n";
+$str1 = "abc1";
+$str2 = "ABC1";
+$extra_arg = 10;
+var_dump( strnatcasecmp( $str1, $str2, $extra_arg) );
+?>
+===DONE===
+--EXPECTF--
+*** Testing strnatcasecmp() : error conditions ***
+-- Testing strnatcmp() function with Zero arguments --
+
+Warning: Wrong parameter count for strnatcasecmp() in %s on line %d
+NULL
+
+
+-- Testing strnatcasecmp() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for strnatcasecmp() in %s on line %d
+NULL
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strnatcasecmp_variation1.phpt b/ext/standard/tests/strings/strnatcasecmp_variation1.phpt
new file mode 100644
index 0000000..9beea5d
--- /dev/null
+++ b/ext/standard/tests/strings/strnatcasecmp_variation1.phpt
@@ -0,0 +1,56 @@
+--TEST--
+Test strnatcasecmp() function : variation 
+--CREDITS--
+Felix De Vliegher <felix.devliegher at gmail.com>
+--FILE--
+<?php
+/* Prototype  : int strnatcasecmp(string s1, string s2)
+ * Description: Returns the result of case-insensitive string comparison using 'natural' algorithm 
+ * Source code: ext/standard/string.c
+ * Alias to functions: 
+ */
+
+/* Preparation */
+class a
+{
+	function __toString()
+	{
+		return "Hello WORLD";
+	}
+}
+
+class b
+{
+	function __toString()
+	{
+		return "HELLO world";
+	}
+}
+
+$a = new a();
+$b = new b();
+
+function str_dump($a, $b) {
+	var_dump(strnatcasecmp($a, $b));
+}
+
+echo "*** Testing strnatcasecmp() : variation ***\n";
+
+str_dump('0', false);
+str_dump('fooBar', '');
+str_dump('', -1);
+str_dump("Hello\0world", "Helloworld");
+str_dump("\x0", "\0");
+str_dump($a, $b);
+
+?>
+===DONE===
+--EXPECT--
+*** Testing strnatcasecmp() : variation ***
+int(1)
+int(6)
+int(-2)
+int(-1)
+int(0)
+int(0)
+===DONE===
diff --git a/ext/standard/tests/strings/strnatcmp_basic.phpt b/ext/standard/tests/strings/strnatcmp_basic.phpt
new file mode 100644
index 0000000..140bd48
--- /dev/null
+++ b/ext/standard/tests/strings/strnatcmp_basic.phpt
@@ -0,0 +1,80 @@
+--TEST--
+Test strnatcmp() function : basic functionality
+--FILE--
+<?php
+/* Prototype  : int strnatcmp  ( string $str1  , string $str2  )
+ * Description: String comparisons using a "natural order" algorithm
+ * Source code: ext/standard/string.c
+*/
+echo "*** Testing strnatcmp() : basic functionality ***\n";
+
+$a1 = "abc1";
+$b1 = "abc10";
+$c1 = "abc15";
+$d1 = "abc2";
+
+$a2 = "ABC1";
+$b2 = "ABC10";
+$c2 = "ABC15";
+$d2 = "ABC2";
+
+echo "Less than tests\n";
+var_dump(strnatcmp($a1, $b1));
+var_dump(strnatcmp($a1, $c1));
+var_dump(strnatcmp($a1, $d1));
+var_dump(strnatcmp($b1, $c1));
+var_dump(strnatcmp($d1, $c1));
+
+var_dump(strnatcmp($a1, $b2));
+var_dump(strnatcmp($a1, $c2));
+var_dump(strnatcmp($a1, $d2));
+var_dump(strnatcmp($b1, $c2));
+var_dump(strnatcmp($d1, $c2));
+
+
+echo "Equal too tests\n";
+var_dump(strnatcmp($b1, $b1));
+var_dump(strnatcmp($b1, $b2));	
+
+echo "Greater than tests\n";
+var_dump(strnatcmp($b1, $a1));
+var_dump(strnatcmp($c1, $a1));
+var_dump(strnatcmp($d1, $a1));
+var_dump(strnatcmp($c1, $b1));
+var_dump(strnatcmp($c1, $d1));
+
+var_dump(strnatcmp($b1, $a2));
+var_dump(strnatcmp($c1, $a2));
+var_dump(strnatcmp($d1, $a2));
+var_dump(strnatcmp($c1, $b2));
+var_dump(strnatcmp($c1, $d2));
+?>
+===DONE===
+--EXPECT--
+*** Testing strnatcmp() : basic functionality ***
+Less than tests
+int(-1)
+int(-1)
+int(-1)
+int(-1)
+int(-1)
+int(1)
+int(1)
+int(1)
+int(1)
+int(1)
+Equal too tests
+int(0)
+int(1)
+Greater than tests
+int(1)
+int(1)
+int(1)
+int(1)
+int(1)
+int(1)
+int(1)
+int(1)
+int(1)
+int(1)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strnatcmp_error.phpt b/ext/standard/tests/strings/strnatcmp_error.phpt
new file mode 100644
index 0000000..c0701c6
--- /dev/null
+++ b/ext/standard/tests/strings/strnatcmp_error.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Test strnatcmp() function : error conditions
+--FILE--
+<?php
+/* Prototype  : int strnatcmp  ( string $str1  , string $str2  )
+ * Description: String comparisons using a "natural order" algorithm
+ * Source code: ext/standard/string.c
+*/
+echo "*** Testing strnatcmp() : error conditions ***\n";
+
+echo "-- Testing strnatcmp() function with Zero arguments --\n";
+var_dump( strnatcmp() );
+
+echo "\n\n-- Testing strnatcmp() function with more than expected no. of arguments --\n";
+$str1 = "abc1";
+$str2 = "ABC1";
+$extra_arg = 10;
+var_dump( strnatcmp( $str1, $str2, $extra_arg) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing strnatcmp() : error conditions ***
+-- Testing strnatcmp() function with Zero arguments --
+
+Warning: Wrong parameter count for strnatcmp() in %s on line %d
+NULL
+
+
+-- Testing strnatcmp() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for strnatcmp() in %s on line %d
+NULL
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strpbrk_basic.phpt b/ext/standard/tests/strings/strpbrk_basic.phpt
new file mode 100644
index 0000000..77585aa
--- /dev/null
+++ b/ext/standard/tests/strings/strpbrk_basic.phpt
@@ -0,0 +1,41 @@
+--TEST--
+Test strpbrk() function : basic functionality 
+--FILE--
+<?php
+/* Prototype  : array strpbrk(string haystack, string char_list)
+ * Description: Search a string for any of a set of characters 
+ * Source code: ext/standard/string.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing strpbrk() : basic functionality ***\n";
+
+// Initialise all required variables
+$text = 'This is a Simple text.';
+var_dump( strpbrk($text, 'mi') );
+var_dump( strpbrk($text, 'ZS') );
+var_dump( strpbrk($text, 'Z') );
+var_dump( strpbrk($text, 'H') );
+
+$text = '';
+var_dump( strpbrk($text, 'foo') );
+
+$text = "  aaa aaaSLR";
+var_dump( strpbrk($text, '     ') );
+
+var_dump( strpbrk(5, 5) );
+var_dump( strpbrk(5, "5") );
+
+?>
+===DONE===
+--EXPECT--
+*** Testing strpbrk() : basic functionality ***
+string(20) "is is a Simple text."
+string(12) "Simple text."
+bool(false)
+bool(false)
+bool(false)
+string(12) "  aaa aaaSLR"
+string(1) "5"
+string(1) "5"
+===DONE===
diff --git a/ext/standard/tests/strings/strpbrk_error.phpt b/ext/standard/tests/strings/strpbrk_error.phpt
new file mode 100644
index 0000000..0abb208
--- /dev/null
+++ b/ext/standard/tests/strings/strpbrk_error.phpt
@@ -0,0 +1,57 @@
+--TEST--
+Test strpbrk() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : array strpbrk(string haystack, string char_list)
+ * Description: Search a string for any of a set of characters 
+ * Source code: ext/standard/string.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing strpbrk() : error conditions ***\n";
+
+$haystack = 'This is a Simple text.';
+$char_list = 'string_val';
+$extra_arg = 10;
+
+echo "\n-- Testing strpbrk() function with more than expected no. of arguments --\n";
+var_dump( strpbrk($haystack, $char_list, $extra_arg) );
+
+echo "\n-- Testing strpbrk() function with less than expected no. of arguments --\n";
+var_dump( strpbrk($haystack) );
+
+echo "\n-- Testing strpbrk() function with empty second argument --\n";
+var_dump( strpbrk($haystack, '') );
+
+echo "\n-- Testing strpbrk() function with arrays --\n";
+var_dump( strpbrk($haystack, array('a', 'b', 'c') ) );
+var_dump( strpbrk(array('foo', 'bar'), 'b') );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing strpbrk() : error conditions ***
+
+-- Testing strpbrk() function with more than expected no. of arguments --
+
+Warning: strpbrk() expects exactly 2 parameters, 3 given in %s on line %d
+bool(false)
+
+-- Testing strpbrk() function with less than expected no. of arguments --
+
+Warning: strpbrk() expects exactly 2 parameters, 1 given in %s on line %d
+bool(false)
+
+-- Testing strpbrk() function with empty second argument --
+
+Warning: strpbrk(): The character list cannot be empty in %s on line %d
+bool(false)
+
+-- Testing strpbrk() function with arrays --
+
+Warning: strpbrk() expects parameter 2 to be string, array given in %s on line %d
+bool(false)
+
+Warning: strpbrk() expects parameter 1 to be string, array given in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/standard/tests/strings/strspn_variation1.phpt b/ext/standard/tests/strings/strspn_variation1.phpt
index e8fd9d3..45e71ed 100644
--- a/ext/standard/tests/strings/strspn_variation1.phpt
+++ b/ext/standard/tests/strings/strspn_variation1.phpt
@@ -1,273 +1,273 @@
---TEST--
-Test strspn() function : usage variations  - unexpected values for str argument
---FILE--
-<?php
-/* Prototype  : proto int strspn(string str, string mask [, int start [, int len]])
- * Description: Finds length of initial segment consisting entirely of characters found in mask.
-                If start or/and length is provided works like strspn(substr($s,$start,$len),$good_chars) 
- * Source code: ext/standard/string.c
- * Alias to functions: none
-*/
-
-error_reporting(E_ALL & ~E_NOTICE);
-
-/*
-* Testing strspn() : with different unexpected values for str argument
-*/
-
-echo "*** Testing strspn() : with unexpected values for str argument ***\n";
-
-// Initialise function arguments not being substititued (if any)
-$mask = 'abons1234567890';
-$start = 1;
-$len = 10;
-
-
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
-// declaring class
-class sample  {
-  public function __toString() {
-    return "object";
-  }
-}
-
-// creating a file resource
-$file_handle = fopen(__FILE__, 'r');
-
-
-//array of values to iterate over
-$values = array(
-
-      // int data
-      0,
-      1,
-      12345,
-      -2345,
-
-      // float data
-      10.5,
-      -10.5,
-      10.1234567e10,
-      10.7654321E-10,
-      .5,
-
-      // array data
-      array(),
-      array(0),
-      array(1),
-      array(1, 2),
-      array('color' => 'red', 'item' => 'pen'),
-
-      // null data
-      NULL,
-      null,
-
-      // boolean data
-      true,
-      false,
-      TRUE,
-      FALSE,
-
-      // empty data
-      "",
-      '',
-
-      // object data
-      new sample,
-
-      // undefined data
-      $undefined_var,
-
-      // unset data
-      $unset_var,
-
-      // resource
-      $file_handle
-);
-
-// loop through each element of the array for str
-
-foreach($values as $value) {
-      echo "\n-- Iteration with str value as \"$value\"\n";
-      var_dump( strspn($value,$mask) ); // with default args
-      var_dump( strspn($value,$mask,$start) );  // with default len value
-      var_dump( strspn($value,$mask,$start,$len) );  //  with all args
-};
-
-// closing the resource
-fclose($file_handle);
-
-echo "Done"
-?>
---EXPECTF--
-*** Testing strspn() : with unexpected values for str argument ***
-
--- Iteration with str value as "0"
-int(1)
-int(0)
-int(0)
-
--- Iteration with str value as "1"
-int(1)
-int(0)
-int(0)
-
--- Iteration with str value as "12345"
-int(5)
-int(4)
-int(4)
-
--- Iteration with str value as "-2345"
-int(0)
-int(4)
-int(4)
-
--- Iteration with str value as "10.5"
-int(2)
-int(1)
-int(1)
-
--- Iteration with str value as "-10.5"
-int(0)
-int(2)
-int(2)
-
--- Iteration with str value as "101234567000"
-int(12)
-int(11)
-int(10)
-
--- Iteration with str value as "1.07654321E-9"
-int(1)
-int(0)
-int(0)
-
--- Iteration with str value as "0.5"
-int(1)
-int(0)
-int(0)
-
--- Iteration with str value as "Array"
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as "Array"
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as "Array"
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as "Array"
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as "Array"
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
-NULL
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as "1"
-int(1)
-int(0)
-int(0)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as "1"
-int(1)
-int(0)
-int(0)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as "object"
-int(2)
-int(1)
-int(1)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as ""
-int(0)
-bool(false)
-bool(false)
-
--- Iteration with str value as "Resource id #%d"
-
-Warning: strspn() expects parameter 1 to be string, resource given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, resource given in %s on line %d
-NULL
-
-Warning: strspn() expects parameter 1 to be string, resource given in %s on line %d
-NULL
+--TEST--
+Test strspn() function : usage variations  - unexpected values for str argument
+--FILE--
+<?php
+/* Prototype  : proto int strspn(string str, string mask [, int start [, int len]])
+ * Description: Finds length of initial segment consisting entirely of characters found in mask.
+                If start or/and length is provided works like strspn(substr($s,$start,$len),$good_chars) 
+ * Source code: ext/standard/string.c
+ * Alias to functions: none
+*/
+
+error_reporting(E_ALL & ~E_NOTICE);
+
+/*
+* Testing strspn() : with different unexpected values for str argument
+*/
+
+echo "*** Testing strspn() : with unexpected values for str argument ***\n";
+
+// Initialise function arguments not being substititued (if any)
+$mask = 'abons1234567890';
+$start = 1;
+$len = 10;
+
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return "object";
+  }
+}
+
+// creating a file resource
+$file_handle = fopen(__FILE__, 'r');
+
+
+//array of values to iterate over
+$values = array(
+
+      // int data
+      0,
+      1,
+      12345,
+      -2345,
+
+      // float data
+      10.5,
+      -10.5,
+      10.1234567e10,
+      10.7654321E-10,
+      .5,
+
+      // array data
+      array(),
+      array(0),
+      array(1),
+      array(1, 2),
+      array('color' => 'red', 'item' => 'pen'),
+
+      // null data
+      NULL,
+      null,
+
+      // boolean data
+      true,
+      false,
+      TRUE,
+      FALSE,
+
+      // empty data
+      "",
+      '',
+
+      // object data
+      new sample,
+
+      // undefined data
+      $undefined_var,
+
+      // unset data
+      $unset_var,
+
+      // resource
+      $file_handle
+);
+
+// loop through each element of the array for str
+
+foreach($values as $value) {
+      echo "\n-- Iteration with str value as \"$value\"\n";
+      var_dump( strspn($value,$mask) ); // with default args
+      var_dump( strspn($value,$mask,$start) );  // with default len value
+      var_dump( strspn($value,$mask,$start,$len) );  //  with all args
+};
+
+// closing the resource
+fclose($file_handle);
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing strspn() : with unexpected values for str argument ***
+
+-- Iteration with str value as "0"
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as "1"
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as "12345"
+int(5)
+int(4)
+int(4)
+
+-- Iteration with str value as "-2345"
+int(0)
+int(4)
+int(4)
+
+-- Iteration with str value as "10.5"
+int(2)
+int(1)
+int(1)
+
+-- Iteration with str value as "-10.5"
+int(0)
+int(2)
+int(2)
+
+-- Iteration with str value as "101234567000"
+int(12)
+int(11)
+int(10)
+
+-- Iteration with str value as "1.07654321E-9"
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as "0.5"
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as "Array"
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array"
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array"
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array"
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as "Array"
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, array given in %s on line %d
+NULL
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "1"
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "1"
+int(1)
+int(0)
+int(0)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "object"
+int(2)
+int(1)
+int(1)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as ""
+int(0)
+bool(false)
+bool(false)
+
+-- Iteration with str value as "Resource id #%d"
+
+Warning: strspn() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+
+Warning: strspn() expects parameter 1 to be string, resource given in %s on line %d
+NULL
 Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/strtok_variation1.phpt b/ext/standard/tests/strings/strtok_variation1.phpt
index 426ab53..c23b387 100644
--- a/ext/standard/tests/strings/strtok_variation1.phpt
+++ b/ext/standard/tests/strings/strtok_variation1.phpt
@@ -1,172 +1,172 @@
---TEST--
-Test strtok() function : usage variations - first argument as non-string
---FILE--
-<?php
-/* Prototype  : string strtok ( string $str, string $token )
- * Description: splits a string (str) into smaller strings (tokens), with each token being delimited by any character from token
- * Source code: ext/standard/string.c
-*/
-
-/*
- * Testing strtok() : with first argument as non-string
-*/
-
-echo "*** Testing strtok() : with first argument as non-string ***\n";
-// initialize all required variables
-$token = '-';
-
-// get an unset variable
-$unset_var = 'string_val';
-unset($unset_var);
-
-// declaring a class
-class sample  {
-  public function __toString() {
-  return "obj-ect";
-  }
-}
-
-// Defining resource
-$file_handle = fopen(__FILE__, 'r');
-
-// array with different values
-$values =  array (
-
-  // integer values
-  0,
-  1,
-  12345,
-  -2345,
-
-  // float values
-  10.5,
-  -10.5,
-  10.1234567e10,
-  10.7654321E-10,
-  .5,
-
-  // array values
-  array(),
-  array(0),
-  array(1),
-  array(1, 2),
-  array('color' => 'red-color', 'item' => 'pen-color'),
-
-  // boolean values
-  true,
-  false,
-  TRUE,
-  FALSE,
-
-  // objects
-  new sample(),
-
-  // empty string
-  "",
-  '',
-
-  // null vlaues
-  NULL,
-  null,
-
-  // undefined variable
-  $undefined_var,
-
-  // unset variable
-  $unset_var,
-
-  // resource
-  $file_handle
-);
-
-
-// loop through each element of the array and check the working of strtok()
-// when $str arugment is supplied with different values
-
-echo "\n--- Testing strtok() by supplying different values for 'str' argument ---\n";
-$counter = 1;
-for($index = 0; $index < count($values); $index ++) {
-  echo "-- Iteration $counter --\n";
-  $str = $values [$index];
-
-  var_dump( strtok($str, $token) );
-
-  $counter ++;
-}
-
-//closing the resource 
-fclose($file_handle);
-
-echo "Done\n";
-?>
---EXPECTF--
-*** Testing strtok() : with first argument as non-string ***
-
-Notice: Undefined variable: undefined_var in %s on line %d
-
-Notice: Undefined variable: unset_var in %s on line %d
-
---- Testing strtok() by supplying different values for 'str' argument ---
--- Iteration 1 --
-string(1) "0"
--- Iteration 2 --
-string(1) "1"
--- Iteration 3 --
-string(5) "12345"
--- Iteration 4 --
-string(4) "2345"
--- Iteration 5 --
-string(4) "10.5"
--- Iteration 6 --
-string(4) "10.5"
--- Iteration 7 --
-string(12) "101234567000"
--- Iteration 8 --
-string(11) "1.07654321E"
--- Iteration 9 --
-string(3) "0.5"
--- Iteration 10 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 11 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 12 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 13 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 14 --
-
-Notice: Array to string conversion in %s on line %d
-string(5) "Array"
--- Iteration 15 --
-string(1) "1"
--- Iteration 16 --
-bool(false)
--- Iteration 17 --
-string(1) "1"
--- Iteration 18 --
-bool(false)
--- Iteration 19 --
-string(3) "obj"
--- Iteration 20 --
-bool(false)
--- Iteration 21 --
-bool(false)
--- Iteration 22 --
-bool(false)
--- Iteration 23 --
-bool(false)
--- Iteration 24 --
-bool(false)
--- Iteration 25 --
-bool(false)
--- Iteration 26 --
-string(%d) "Resource id #%d"
+--TEST--
+Test strtok() function : usage variations - first argument as non-string
+--FILE--
+<?php
+/* Prototype  : string strtok ( string $str, string $token )
+ * Description: splits a string (str) into smaller strings (tokens), with each token being delimited by any character from token
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Testing strtok() : with first argument as non-string
+*/
+
+echo "*** Testing strtok() : with first argument as non-string ***\n";
+// initialize all required variables
+$token = '-';
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring a class
+class sample  {
+  public function __toString() {
+  return "obj-ect";
+  }
+}
+
+// Defining resource
+$file_handle = fopen(__FILE__, 'r');
+
+// array with different values
+$values =  array (
+
+  // integer values
+  0,
+  1,
+  12345,
+  -2345,
+
+  // float values
+  10.5,
+  -10.5,
+  10.1234567e10,
+  10.7654321E-10,
+  .5,
+
+  // array values
+  array(),
+  array(0),
+  array(1),
+  array(1, 2),
+  array('color' => 'red-color', 'item' => 'pen-color'),
+
+  // boolean values
+  true,
+  false,
+  TRUE,
+  FALSE,
+
+  // objects
+  new sample(),
+
+  // empty string
+  "",
+  '',
+
+  // null vlaues
+  NULL,
+  null,
+
+  // undefined variable
+  $undefined_var,
+
+  // unset variable
+  $unset_var,
+
+  // resource
+  $file_handle
+);
+
+
+// loop through each element of the array and check the working of strtok()
+// when $str arugment is supplied with different values
+
+echo "\n--- Testing strtok() by supplying different values for 'str' argument ---\n";
+$counter = 1;
+for($index = 0; $index < count($values); $index ++) {
+  echo "-- Iteration $counter --\n";
+  $str = $values [$index];
+
+  var_dump( strtok($str, $token) );
+
+  $counter ++;
+}
+
+//closing the resource 
+fclose($file_handle);
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing strtok() : with first argument as non-string ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing strtok() by supplying different values for 'str' argument ---
+-- Iteration 1 --
+string(1) "0"
+-- Iteration 2 --
+string(1) "1"
+-- Iteration 3 --
+string(5) "12345"
+-- Iteration 4 --
+string(4) "2345"
+-- Iteration 5 --
+string(4) "10.5"
+-- Iteration 6 --
+string(4) "10.5"
+-- Iteration 7 --
+string(12) "101234567000"
+-- Iteration 8 --
+string(11) "1.07654321E"
+-- Iteration 9 --
+string(3) "0.5"
+-- Iteration 10 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 15 --
+string(1) "1"
+-- Iteration 16 --
+bool(false)
+-- Iteration 17 --
+string(1) "1"
+-- Iteration 18 --
+bool(false)
+-- Iteration 19 --
+string(3) "obj"
+-- Iteration 20 --
+bool(false)
+-- Iteration 21 --
+bool(false)
+-- Iteration 22 --
+bool(false)
+-- Iteration 23 --
+bool(false)
+-- Iteration 24 --
+bool(false)
+-- Iteration 25 --
+bool(false)
+-- Iteration 26 --
+string(%d) "Resource id #%d"
 Done
\ No newline at end of file
diff --git a/ext/standard/tests/strings/ucwords_basic.phpt b/ext/standard/tests/strings/ucwords_basic.phpt
index f34d8e9..bba0d9b 100644
--- a/ext/standard/tests/strings/ucwords_basic.phpt
+++ b/ext/standard/tests/strings/ucwords_basic.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test ucwords() function : basic functionality 
---INI--
 --FILE--
 <?php
 /* Prototype  : string ucwords ( string $str )
diff --git a/ext/standard/tests/strings/ucwords_error.phpt b/ext/standard/tests/strings/ucwords_error.phpt
index cd6e751..195272f 100644
--- a/ext/standard/tests/strings/ucwords_error.phpt
+++ b/ext/standard/tests/strings/ucwords_error.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test ucwords() function : error conditions 
---INI--
 --FILE--
 <?php
 /* Prototype  : string ucwords ( string $str )
diff --git a/ext/standard/tests/strings/wordwrap_variation3.phpt b/ext/standard/tests/strings/wordwrap_variation3.phpt
index 2f83add..7d0c816 100644
--- a/ext/standard/tests/strings/wordwrap_variation3.phpt
+++ b/ext/standard/tests/strings/wordwrap_variation3.phpt
@@ -1,6 +1,5 @@
 --TEST--
 Test wordwrap() function : usage variations  - unexptected values for break argument
---INI--
 --FILE--
 <?php
 /* Prototype  : string wordwrap ( string $str [, int $width [, string $break [, bool $cut]]] )
diff --git a/ext/standard/tests/time/strptime_basic.phpt b/ext/standard/tests/time/strptime_basic.phpt
new file mode 100644
index 0000000..a3fa435
--- /dev/null
+++ b/ext/standard/tests/time/strptime_basic.phpt
@@ -0,0 +1,99 @@
+--TEST--
+Test strptime() function : basic functionality 
+--SKIPIF--
+<?php 
+	if (!function_exists('strptime')) { 
+		die("skip - strptime() function not available in this build"); 
+	}	 
+?>
+
+--FILE--
+<?php
+/* Prototype  : array strptime  ( string $date  , string $format  )
+ * Description:  Parse a time/date generated with strftime()
+ * Source code: ext/standard/datetime.c
+*/
+
+$orig = setlocale(LC_ALL, 'C');
+date_default_timezone_set("GMT"); 
+
+echo "*** Testing strptime() : basic functionality ***\n";
+
+$input = "10:00:00 AM July 2 1963";
+$tstamp = strtotime($input);
+ 
+$str = strftime("%r %B%e %Y %Z", $tstamp);
+var_dump(strptime($str, '%H:%M:%S %p %B %d %Y %Z'));
+
+$str = strftime("%T %D", $tstamp);
+var_dump(strptime($str, '%H:%M:%S %m/%d/%y'));
+
+$str = strftime("%A %B %e %R", $tstamp);
+var_dump(strptime($str, '%A %B %e %R'));
+
+setlocale(LC_ALL, $orig);
+?>
+===DONE===
+--EXPECTF--
+*** Testing strptime() : basic functionality ***
+array(9) {
+  ["tm_sec"]=>
+  int(0)
+  ["tm_min"]=>
+  int(0)
+  ["tm_hour"]=>
+  int(10)
+  ["tm_mday"]=>
+  int(2)
+  ["tm_mon"]=>
+  int(6)
+  ["tm_year"]=>
+  int(63)
+  ["tm_wday"]=>
+  int(2)
+  ["tm_yday"]=>
+  int(182)
+  ["unparsed"]=>
+  string(3) "GMT"
+}
+array(9) {
+  ["tm_sec"]=>
+  int(0)
+  ["tm_min"]=>
+  int(0)
+  ["tm_hour"]=>
+  int(10)
+  ["tm_mday"]=>
+  int(2)
+  ["tm_mon"]=>
+  int(6)
+  ["tm_year"]=>
+  int(163)
+  ["tm_wday"]=>
+  int(1)
+  ["tm_yday"]=>
+  int(182)
+  ["unparsed"]=>
+  string(0) ""
+}
+array(9) {
+  ["tm_sec"]=>
+  int(0)
+  ["tm_min"]=>
+  int(0)
+  ["tm_hour"]=>
+  int(10)
+  ["tm_mday"]=>
+  int(2)
+  ["tm_mon"]=>
+  int(6)
+  ["tm_year"]=>
+  int(0)
+  ["tm_wday"]=>
+  int(2)
+  ["tm_yday"]=>
+  int(182)
+  ["unparsed"]=>
+  string(0) ""
+}
+===DONE===
diff --git a/ext/standard/tests/time/strptime_error.phpt b/ext/standard/tests/time/strptime_error.phpt
new file mode 100644
index 0000000..92c7ca3
--- /dev/null
+++ b/ext/standard/tests/time/strptime_error.phpt
@@ -0,0 +1,55 @@
+--TEST--
+Test localtime() function : error conditions
+--SKIPIF--
+<?php 
+if (!function_exists('strptime')) {
+	echo "SKIP strptime function not available in build";
+}	 
+?> 
+--FILE--
+<?php
+/* Prototype  : array strptime  ( string $date  , string $format  )
+ * Description: Parse a time/date generated with strftime()
+ * Source code: ext/standard/datetime.c
+ * Alias to functions: 
+ */
+
+//Set the default time zone 
+date_default_timezone_set("Europe/London");
+
+echo "*** Testing strptime() : error conditions ***\n";
+
+echo "\n-- Testing strptime() function with Zero arguments --\n";
+var_dump( strptime() );
+
+echo "\n-- Testing strptime() function with less than expected no. of arguments --\n";
+$format = '%b %d %Y %H:%M:%S';
+$timestamp = mktime(8, 8, 8, 8, 8, 2008);
+$date = strftime($format, $timestamp);
+var_dump( strptime($date) );
+
+echo "\n-- Testing strptime() function with more than expected no. of arguments --\n";
+$extra_arg = 10;
+var_dump( strptime($date, $format, $extra_arg) );
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing strptime() : error conditions ***
+
+-- Testing strptime() function with Zero arguments --
+
+Warning: strptime() expects exactly 2 parameters, 0 given in %s on line %d
+NULL
+
+-- Testing strptime() function with less than expected no. of arguments --
+
+Warning: strptime() expects exactly 2 parameters, 1 given in %s on line %d
+NULL
+
+-- Testing strptime() function with more than expected no. of arguments --
+
+Warning: strptime() expects exactly 2 parameters, 3 given in %s on line %d
+NULL
+===DONE===
+
diff --git a/ext/standard/tests/url/get_headers_error_001.phpt b/ext/standard/tests/url/get_headers_error_001.phpt
new file mode 100644
index 0000000..8d5fd11
--- /dev/null
+++ b/ext/standard/tests/url/get_headers_error_001.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test get_headers() function : error conditions - wrong number of args
+--CREDITS--
+June Henriksen <juneih at redpill-linpro.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--FILE--
+<?php
+/* Prototype  : proto array get_headers(string url[, int format])
+ * Description: Fetches all the headers sent by the server in response to a HTTP request
+ * Source code: ext/standard/url.c
+ * Alias to functions:
+ */
+
+echo "*** Testing get_headers() : error conditions ***\n";
+
+// Zero arguments
+echo "\n-- Testing get_headers() function with Zero arguments --\n";
+var_dump( get_headers() );
+
+//Test get_headers with one more than the expected number of arguments
+echo "\n-- Testing get_headers() function with more than expected no. of arguments --\n";
+$url       = 'string_val';
+$format    = 1;
+$extra_arg = 10;
+var_dump( get_headers($url, $format, $extra_arg) );
+
+echo "Done";
+?>
+--EXPECTF--
+*** Testing get_headers() : error conditions ***
+
+-- Testing get_headers() function with Zero arguments --
+
+Warning: get_headers() expects at least 1 parameter, 0 given in %s on line 12
+NULL
+
+-- Testing get_headers() function with more than expected no. of arguments --
+
+Warning: get_headers() expects at most 2 parameters, 3 given in %s on line 19
+NULL
+Done
+
+
+
diff --git a/ext/standard/tests/url/get_headers_error_002.phpt b/ext/standard/tests/url/get_headers_error_002.phpt
new file mode 100644
index 0000000..9626211
--- /dev/null
+++ b/ext/standard/tests/url/get_headers_error_002.phpt
@@ -0,0 +1,55 @@
+--TEST--
+Test get_headers() function: wrong type for argument format
+--CREDITS--
+June Henriksen <juneih at redpill-linpro.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--FILE--
+<?php
+/* Prototype  : proto array get_headers(string url[, int format])
+ * Description: Fetches all the headers sent by the server in response to a HTTP request
+ * Source code: ext/standard/url.c
+ * Alias to functions:
+ */
+
+echo "*** Testing get_headers() : error conditions ***\n";
+$url = 'http://php.net';
+
+// Format argument as type String
+echo "\n-- Testing get_headers() function with format argument as type string --\n";
+var_dump( get_headers($url, "#PHPTestFest2009 Norway") );
+
+// Format argument as type Array
+echo "\n-- Testing get_headers() function with format argument as type array --\n";
+var_dump( get_headers($url, array()) );
+
+// Format argument as type Object
+class testObject
+{
+}
+
+$object = new testObject();
+echo "\n-- Testing get_headers() function with format argument as type object --\n";
+var_dump( get_headers($url, $object) );
+
+
+echo "Done"
+?>
+--EXPECTF--
+*** Testing get_headers() : error conditions ***
+
+-- Testing get_headers() function with format argument as type string --
+
+Warning: get_headers() expects parameter 2 to be long, string given in %s on line 13
+NULL
+
+-- Testing get_headers() function with format argument as type array --
+
+Warning: get_headers() expects parameter 2 to be long, array given in %s on line 17
+NULL
+
+-- Testing get_headers() function with format argument as type object --
+
+Warning: get_headers() expects parameter 2 to be long, object given in %s on line 26
+NULL
+Done
+
diff --git a/ext/standard/tests/zend_logo_guid.phpt b/ext/standard/tests/zend_logo_guid.phpt
new file mode 100644
index 0000000..d26ed45
--- /dev/null
+++ b/ext/standard/tests/zend_logo_guid.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Checking the zend_logo_guid() functio
+--CREDITS--
+Sebastian Schürmann
+sschuermann at chip.de
+Testfest 2009 Munich
+--FILE--
+<?php
+echo zend_logo_guid();
+?>
+--EXPECT--
+PHPE9568F35-D428-11d2-A769-00AA001ACF42
diff --git a/ext/standard/type.c b/ext/standard/type.c
index e1adc99..b7fac8d 100644
--- a/ext/standard/type.c
+++ b/ext/standard/type.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: type.c,v 1.30.2.2.2.5 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: type.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_incomplete_class.h"
diff --git a/ext/standard/uniqid.c b/ext/standard/uniqid.c
index da7f4c3..cfc06e4 100644
--- a/ext/standard/uniqid.c
+++ b/ext/standard/uniqid.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: uniqid.c,v 1.41.2.2.2.6 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: uniqid.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/ext/standard/uniqid.h b/ext/standard/uniqid.h
index 633f63e..65c3a37 100644
--- a/ext/standard/uniqid.h
+++ b/ext/standard/uniqid.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: uniqid.h,v 1.13.2.1.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: uniqid.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef UNIQID_H
 #define UNIQID_H
diff --git a/ext/standard/url.c b/ext/standard/url.c
index ffa5bd2..c58ba73 100644
--- a/ext/standard/url.c
+++ b/ext/standard/url.c
@@ -15,7 +15,7 @@
    | Author: Jim Winstead <jimw at php.net>                                  |
    +----------------------------------------------------------------------+
  */
-/* $Id: url.c,v 1.86.2.5.2.10 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: url.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdlib.h>
 #include <string.h>
diff --git a/ext/standard/url.h b/ext/standard/url.h
index 9c43825..ee545a2 100644
--- a/ext/standard/url.h
+++ b/ext/standard/url.h
@@ -15,7 +15,7 @@
    | Author: Jim Winstead <jimw at php.net>                                  |
    +----------------------------------------------------------------------+
  */
-/* $Id: url.h,v 1.20.2.2.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: url.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef URL_H
 #define URL_H
diff --git a/ext/standard/url_scanner.c b/ext/standard/url_scanner.c
deleted file mode 100644
index 7cf5b0e..0000000
--- a/ext/standard/url_scanner.c
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 5                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2009 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 3.01 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available through the world-wide-web at the following url:           |
-   | http://www.php.net/license/3_01.txt                                  |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license at php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: Hartmut Holzgraefe <hholzgra at php.net>                        |
-   +----------------------------------------------------------------------+
- */
-/* $Id: url_scanner.c,v 1.44.2.1.2.5 2008/12/31 11:17:46 sebastian Exp $ */
-
-#include "php.h"
-
-#include "php_globals.h"
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "basic_functions.h"
-#include "url_scanner.h"
-
-#ifndef BUFSIZE
-#define BUFSIZE 256
-#endif
-
-int php_url_scanner_activate(TSRMLS_D)
-{
-	url_adapt(NULL,0,NULL,NULL);
-	return SUCCESS;
-}
-
-
-int php_url_scanner_deactivate(TSRMLS_D)
-{
-	url_adapt(NULL,0,NULL,NULL);
-	return SUCCESS;
-}
-
-/* {{{ url_attr_addon
- */
-static char *url_attr_addon(const char *tag,const char *attr,const char *val,const char *buf)
-{
-	int flag = 0;
-
-	if (!strcasecmp(tag,"a") && !strcasecmp(attr,"href")) {
-		flag = 1;
-	} else if (!strcasecmp(tag,"area" ) && !strcasecmp(attr,"href"   )) {
-		flag = 1;
-	} else if (!strcasecmp(tag,"form" ) && !strcasecmp(attr,"action" )) {
-		flag = 1;
-	} else if (!strcasecmp(tag,"frame") && !strcasecmp(attr,"source" )) {
-		flag = 1;
-	} else if (!strcasecmp(tag,"img"  ) && !strcasecmp(attr,"action" )) {
-		flag = 1;
-	}
-	if(flag && !strstr(val,buf) && !strchr(val,':')) {
-		char *result;
-		TSRMLS_FETCH();
-
-		spprintf(&result, 0, "%s%s", (strchr(val,'?') ? PG(arg_separator).output : "?"), buf);
-		return result;
-	} 
-	return NULL;
-}
-/* }}} */
-
-#define US BG(url_adapt_state)
-
-/* {{{ url_adapt_ext
- */
-char *url_adapt_ext(const char *src, uint srclen, const char *name, const char *val, size_t *newlen)
-{
-	char buf[1024];
-
-	snprintf(buf, sizeof(buf)-1, "%s=%s", name, val);
-
-	return url_adapt(src, srclen, buf, newlen);
-}
-/* }}} */
-
-/* {{{ url_adapt
- */
-char *url_adapt(const char *src, size_t srclen, const char *data, size_t *newlen)
-{
-	char *out,*outp;
-	int maxl,n;
-	TSRMLS_FETCH();
-
-	if(src==NULL) {
-		US.state=STATE_NORMAL;
-		if(US.tag)  { efree(US.tag);  US.tag =NULL; }
-		if(US.attr) { efree(US.attr); US.attr=NULL; }
-		if(US.val)  { efree(US.val);  US.val =NULL; }
-		return NULL;
-	}
-
-	if(srclen==0) 
-		srclen=strlen(src);
-
-	out=malloc(srclen+1);
-	maxl=srclen;
-	n=srclen;
-
-	*newlen=0;
-	outp=out;
-
-	while(n--) {
-		switch(US.state) {
-		case STATE_NORMAL:
-			if(*src=='<') 
-				US.state=STATE_TAG_START;
-			break;
-
-		case STATE_TAG_START:
-			if(! isalnum(*src))
-				US.state=STATE_NORMAL;
-			US.state=STATE_TAG;
-			US.ml=BUFSIZE;
-			US.p=US.tag=erealloc(US.tag,US.ml);
-			*(US.p)++=*src;
-			US.l=1;
-			break;
-
-		case STATE_TAG:
-			if(isalnum(*src)) {
-				*(US.p)++ = *src;
-				US.l++; 
-				if(US.l==US.ml) {
-					US.ml+=BUFSIZE;
-					US.tag=erealloc(US.tag,US.ml);
-					US.p = US.tag+US.l;
-				}
-			} else if (isspace(*src)) {
-				US.state = STATE_IN_TAG;
-				*US.p='\0';
-				US.tag=erealloc(US.tag,US.l);
-			} else {
-				US.state = STATE_NORMAL;
-				efree(US.tag);
-				US.tag=NULL;
-			}
-			break;
-
-		case STATE_IN_TAG:
-			if(isalnum(*src)) {
-				US.state=STATE_TAG_ATTR;
-				US.ml=BUFSIZE;
-				US.p=US.attr=erealloc(US.attr,US.ml);
-				*(US.p)++=*src;
-				US.l=1;
-			} else if (! isspace(*src)) {
-				US.state = STATE_NORMAL;
-				efree(US.tag);
-				US.tag=NULL;
-			}
-			break;
-
-		case STATE_TAG_ATTR:
-			if(isalnum(*src)) {
-				*US.p++=*src;
-				++US.l;
-				if(US.l==US.ml) {
-					US.ml+=BUFSIZE;
-					US.attr=erealloc(US.attr,US.ml);
-					US.p = US.attr+US.l;
-				}
-				if(US.l==US.ml) {
-					US.ml+=BUFSIZE;
-					US.attr=erealloc(US.attr,US.ml);
-					US.p = US.attr+US.l;
-				}
-			} else if(isspace(*src)||(*src=='=')){
-				US.state=STATE_TAG_IS;
-				*US.p=0;
-				US.attr=erealloc(US.attr,US.l);
-			} else if(*src=='>') {
-				US.state=STATE_NORMAL;
-			} else {
-				efree(US.attr);
-				US.attr=NULL;
-				US.state=STATE_IN_TAG;
-			}
-			break;
-			
-		case STATE_TAG_IS:
-		case STATE_TAG_IS2:
-			if(*src=='>'){
-					US.state=STATE_NORMAL;
-					if(! (US.attr_done)) {
-						char *p;
-						p=url_attr_addon(US.tag,US.attr,"",data);
-						if(p) {
-							int l= strlen(p);
-							maxl+=l;
-							out=realloc(out,maxl);
-							outp=out+*newlen;
-							strlcpy(outp,p,maxl);
-							outp+=l;
-							*newlen+=l;
-							efree(p);
-						}
-					}
-			} else if(*src=='#') {
-				if(! (US.attr_done)) {
-					char *p;
-					US.attr_done=1;
-					p=url_attr_addon(US.tag,US.attr,"#",data);
-					if(p) {
-						int l= strlen(p);
-						maxl+=l;
-						out=realloc(out,maxl);
-						outp=out+*newlen;
-						strlcpy(outp, p, maxl);
-						outp+=l;
-						*newlen+=l;
-						efree(p);
-					}
-				}
-			} else if(!isspace(*src)&&(*src!='=')) {
-				US.ml=BUFSIZE;
-				US.p=US.val=erealloc(US.val,US.ml);
-				US.l=0;
-				US.attr_done=0;
-				if((*src=='"')||(*src=='\'')) {
-					US.state=STATE_TAG_QVAL2;
-					US.delim=*src;
-				} else {
-					US.state=STATE_TAG_VAL;
-					*US.p++=*src;
-					US.l++;
-				}
-			}
-			break;
-
-
-		case STATE_TAG_QVAL2:
-			if(*src=='#') {
-				if(! (US.attr_done)) {
-					char *p;
-					US.attr_done=1;
-					*US.p='\0';
-					p=url_attr_addon(US.tag,US.attr,US.val,data);
-					if(p) {
-						int l= strlen(p);
-						maxl+=l;
-						out=realloc(out,maxl);
-						outp=out+*newlen;
-						strlcpy(outp,p,maxl);
-						outp+=l;
-						*newlen+=l;
-						efree(p);
-					}
-				}
-			} else if(*src==US.delim) {
-				US.state=STATE_IN_TAG;
-				*US.p='\0';
-				if(! (US.attr_done)) {
-					char *p;
-					p=url_attr_addon(US.tag,US.attr,US.val,data);
-					if(p) {
-						int l= strlen(p);
-						maxl+=l;
-						out=realloc(out,maxl);
-						outp=out+*newlen;
-						strlcpy(outp,p,maxl);
-						outp+=l;
-						*newlen+=l;
-						efree(p);
-					}
-				}
-				break;
-			} else if(*src=='\\') {
-				US.state=STATE_TAG_QVAL2b;
-			} else if (*src=='>') {
-				US.state=STATE_NORMAL;
-			}
-			
-			*US.p++=*src;
-			++US.l; 
-			if(US.l==US.ml) {
-				US.ml+=BUFSIZE;
-				US.val=erealloc(US.val,US.ml);
-				US.p = US.val+US.l;
-			}
-			
-			break;
-			
-		case STATE_TAG_QVAL2b:
-			US.state=STATE_TAG_QVAL2;
-			*US.p++=*src;
-			++US.l; 
-			if(US.l==US.ml) {
-				US.ml+=BUFSIZE;
-				US.val=erealloc(US.val,US.ml);
-				US.p = US.val+US.l;
-			}
-			break;
-
-		case STATE_TAG_VAL:
-		case STATE_TAG_VAL2:
-			if(*src=='#') {
-				if(! (US.attr_done)) {
-					char *p;
-					US.attr_done=1;
-					*US.p='\0';
-					p=url_attr_addon(US.tag,US.attr,US.val,data);
-					if(p) {
-						int l= strlen(p);
-						maxl+=l;
-						out=realloc(out,maxl);
-						outp=out+*newlen;
-						strlcpy(outp,p,maxl);
-						outp+=l;
-						*newlen+=l;
-						efree(p);
-					}
-					}
-			} else if(isspace(*src)||(*src=='>')) {
-				US.state=(*src=='>')?STATE_NORMAL:STATE_IN_TAG;
-				*US.p='\0';
-				if(! (US.attr_done)) {
-					char *p;
-					p=url_attr_addon(US.tag,US.attr,US.val,data);
-					if(p) {
-						int l= strlen(p);
-						maxl+=l;
-						out=realloc(out,maxl);
-						outp=out+*newlen;
-						strlcpy(outp,p,maxl);
-						outp+=l;
-						*newlen+=l;
-						efree(p);
-					}
-				}
-			} else {
-				*US.p++=*src;
-				US.l++; 
-				if(US.l==US.ml) {
-					US.ml+=BUFSIZE;
-					US.val=erealloc(US.val,US.ml);
-					US.p = US.val+US.l;
-				}
-			}
-			break;
-		default:
-			break;
-		}
-
-		*outp++=*src++;
-		*newlen+=1;
-	}
-	*outp='\0';
-	return out;
-}
-/* }}} */
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: sw=4 ts=4 fdm=marker
- * vim<600: sw=4 ts=4
- */
diff --git a/ext/standard/url_scanner.h b/ext/standard/url_scanner.h
deleted file mode 100644
index 45a9bac..0000000
--- a/ext/standard/url_scanner.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 5                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2009 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 3.01 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available through the world-wide-web at the following url:           |
-   | http://www.php.net/license/3_01.txt                                  |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license at php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: Sascha Schumann <sascha at schumann.cx>                         |
-   +----------------------------------------------------------------------+
- */
-/* $Id: url_scanner.h,v 1.16.2.1.2.3 2008/12/31 11:17:46 sebastian Exp $ */
-
-#ifndef URI_SCANNER_H
-#define URI_SCANNER_H
-
-int php_url_scanner_activate(TSRMLS_D);
-int php_url_scanner_deactivate(TSRMLS_D);
-
-char *url_adapt(const char *src, size_t srclen, const char *data, size_t *newlen);
-
-enum url_state { 
-	STATE_NORMAL, 
-	STATE_TAG_START, 
-	STATE_TAG, 
-	STATE_IN_TAG, 
-	STATE_TAG_ATTR, 
-	STATE_TAG_IS, 
-	STATE_TAG_IS2, 
-	STATE_TAG_VAL, 
-	STATE_TAG_VAL2, 
-	STATE_TAG_QVAL1,
-	STATE_TAG_QVAL2, 
-	STATE_TAG_QVAL2b 
-};
-
-typedef struct url_adapt_struct {
- 	enum url_state state;
-	char *tag;
-	char *attr;
-	char *val;
-	char delim;
-	char *p;
-	int l, ml;
-	int attr_done;
-} url_adapt_state_t;
-
-#endif
diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c
index 80a5725..361fc48 100644
--- a/ext/standard/url_scanner_ex.c
+++ b/ext/standard/url_scanner_ex.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Wed Jul  2 12:48:53 2008 */
+/* Generated by re2c 0.13.5 on Mon Jul 27 02:20:39 2009 */
 /*
   +----------------------------------------------------------------------+
   | PHP Version 5                                                        |
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: url_scanner_ex.c,v 1.95.2.4.2.7 2008/07/16 14:10:50 jani Exp $ */
+/* $Id: url_scanner_ex.c 286380 2009-07-26 23:22:27Z jani $ */
 
 #include "php.h"
 
@@ -907,7 +907,7 @@ static char *url_adapt_ext(const char *src, size_t srclen, size_t *newlen, zend_
 	return retval;
 }
 
-int php_url_scanner_ex_activate(TSRMLS_D)
+static int php_url_scanner_ex_activate(TSRMLS_D)
 {
 	url_adapt_state_ex_t *ctx;
 	
@@ -918,7 +918,7 @@ int php_url_scanner_ex_activate(TSRMLS_D)
 	return SUCCESS;
 }
 
-int php_url_scanner_ex_deactivate(TSRMLS_D)
+static int php_url_scanner_ex_deactivate(TSRMLS_D)
 {
 	url_adapt_state_ex_t *ctx;
 	
@@ -963,7 +963,7 @@ static void php_url_scanner_output_handler(char *output, uint output_len, char *
 	}
 }
 
-int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC)
+PHPAPI int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC)
 {
 	char *encoded;
 	int encoded_len;
@@ -1003,7 +1003,7 @@ int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len
 	return SUCCESS;
 }
 
-int php_url_scanner_reset_vars(TSRMLS_D)
+PHPAPI int php_url_scanner_reset_vars(TSRMLS_D)
 {
 	BG(url_adapt_state_ex).form_app.len = 0;
 	BG(url_adapt_state_ex).url_app.len = 0;
diff --git a/ext/standard/url_scanner_ex.c.orig b/ext/standard/url_scanner_ex.c.orig
index cee1c4b..8bccd87 100644
--- a/ext/standard/url_scanner_ex.c.orig
+++ b/ext/standard/url_scanner_ex.c.orig
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Wed Jul  2 12:48:53 2008 */
+/* Generated by re2c 0.13.5 on Mon Jul 27 02:20:39 2009 */
 #line 1 "ext/standard/url_scanner_ex.re"
 /*
   +----------------------------------------------------------------------+
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: url_scanner_ex.c,v 1.95.2.4.2.7 2008/07/16 14:10:50 jani Exp $ */
+/* $Id: url_scanner_ex.c 286380 2009-07-26 23:22:27Z jani $ */
 
 #include "php.h"
 
@@ -963,7 +963,7 @@ static char *url_adapt_ext(const char *src, size_t srclen, size_t *newlen, zend_
 	return retval;
 }
 
-int php_url_scanner_ex_activate(TSRMLS_D)
+static int php_url_scanner_ex_activate(TSRMLS_D)
 {
 	url_adapt_state_ex_t *ctx;
 	
@@ -974,7 +974,7 @@ int php_url_scanner_ex_activate(TSRMLS_D)
 	return SUCCESS;
 }
 
-int php_url_scanner_ex_deactivate(TSRMLS_D)
+static int php_url_scanner_ex_deactivate(TSRMLS_D)
 {
 	url_adapt_state_ex_t *ctx;
 	
@@ -1019,7 +1019,7 @@ static void php_url_scanner_output_handler(char *output, uint output_len, char *
 	}
 }
 
-int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC)
+PHPAPI int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC)
 {
 	char *encoded;
 	int encoded_len;
@@ -1059,7 +1059,7 @@ int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len
 	return SUCCESS;
 }
 
-int php_url_scanner_reset_vars(TSRMLS_D)
+PHPAPI int php_url_scanner_reset_vars(TSRMLS_D)
 {
 	BG(url_adapt_state_ex).form_app.len = 0;
 	BG(url_adapt_state_ex).url_app.len = 0;
diff --git a/ext/standard/url_scanner_ex.h b/ext/standard/url_scanner_ex.h
index dacd4d7..d3fb965 100644
--- a/ext/standard/url_scanner_ex.h
+++ b/ext/standard/url_scanner_ex.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: url_scanner_ex.h,v 1.26.2.1.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: url_scanner_ex.h 286379 2009-07-26 23:20:34Z jani $ */
 
 #ifndef URL_SCANNER_EX_H
 #define URL_SCANNER_EX_H
@@ -27,13 +27,9 @@ PHP_MSHUTDOWN_FUNCTION(url_scanner_ex);
 PHP_RINIT_FUNCTION(url_scanner_ex);
 PHP_RSHUTDOWN_FUNCTION(url_scanner_ex);
 
-char *php_url_scanner_adapt_single_url(const char *url, size_t urllen, const char *name, const char *value, size_t *newlen TSRMLS_DC);
-
-int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC);
-int php_url_scanner_reset_vars(TSRMLS_D);
-
-int php_url_scanner_ex_activate(TSRMLS_D);
-int php_url_scanner_ex_deactivate(TSRMLS_D);
+PHPAPI char *php_url_scanner_adapt_single_url(const char *url, size_t urllen, const char *name, const char *value, size_t *newlen TSRMLS_DC);
+PHPAPI int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC);
+PHPAPI int php_url_scanner_reset_vars(TSRMLS_D);
 
 #include "php_smart_str_public.h"
 
@@ -59,9 +55,4 @@ typedef struct {
 	HashTable *tags;
 } url_adapt_state_ex_t;
 
-typedef struct {
-	smart_str var;
-	smart_str val;
-} url_adapt_var_t;
-
 #endif
diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re
index 3dc6355..91ba878 100644
--- a/ext/standard/url_scanner_ex.re
+++ b/ext/standard/url_scanner_ex.re
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: url_scanner_ex.re,v 1.76.2.2.2.3 2008/03/12 19:33:46 felipe Exp $ */
+/* $Id: url_scanner_ex.re 286379 2009-07-26 23:20:34Z jani $ */
 
 #include "php.h"
 
@@ -401,7 +401,7 @@ static char *url_adapt_ext(const char *src, size_t srclen, size_t *newlen, zend_
 	return retval;
 }
 
-int php_url_scanner_ex_activate(TSRMLS_D)
+static int php_url_scanner_ex_activate(TSRMLS_D)
 {
 	url_adapt_state_ex_t *ctx;
 	
@@ -412,7 +412,7 @@ int php_url_scanner_ex_activate(TSRMLS_D)
 	return SUCCESS;
 }
 
-int php_url_scanner_ex_deactivate(TSRMLS_D)
+static int php_url_scanner_ex_deactivate(TSRMLS_D)
 {
 	url_adapt_state_ex_t *ctx;
 	
@@ -457,7 +457,7 @@ static void php_url_scanner_output_handler(char *output, uint output_len, char *
 	}
 }
 
-int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC)
+PHPAPI int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC)
 {
 	char *encoded;
 	int encoded_len;
@@ -497,7 +497,7 @@ int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len
 	return SUCCESS;
 }
 
-int php_url_scanner_reset_vars(TSRMLS_D)
+PHPAPI int php_url_scanner_reset_vars(TSRMLS_D)
 {
 	BG(url_adapt_state_ex).form_app.len = 0;
 	BG(url_adapt_state_ex).url_app.len = 0;
diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c
index e04671b..141ab85 100644
--- a/ext/standard/user_filters.c
+++ b/ext/standard/user_filters.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: user_filters.c,v 1.31.2.4.2.13 2009/01/08 18:40:56 lbarnaud Exp $ */
+/* $Id: user_filters.c 273099 2009-01-08 18:40:56Z lbarnaud $ */
 
 #include "php.h"
 #include "php_globals.h"
diff --git a/ext/standard/uuencode.c b/ext/standard/uuencode.c
index 7b200b8..a7bf93a 100644
--- a/ext/standard/uuencode.c
+++ b/ext/standard/uuencode.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: uuencode.c,v 1.5.2.1.2.7 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: uuencode.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /*
  * Portions of this code are based on Berkeley's uuencode/uudecode
diff --git a/ext/standard/var.c b/ext/standard/var.c
index 9abe33b..67d4596 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: var.c,v 1.203.2.7.2.25 2009/01/07 14:36:49 derick Exp $ */
+/* $Id: var.c 287123 2009-08-11 22:46:07Z stas $ */
 
 
 
@@ -617,20 +617,20 @@ static void php_var_serialize_class(smart_str *buf, zval *struc, zval *retval_pt
 									Z_STRVAL_PP(name), Z_STRLEN_PP(name), ce->type & ZEND_INTERNAL_CLASS);
 						if (zend_hash_find(Z_OBJPROP_P(struc), priv_name, prop_name_length+1, (void *) &d) == SUCCESS) {
 							php_var_serialize_string(buf, priv_name, prop_name_length);
-							efree(priv_name);
+							pefree(priv_name, ce->type & ZEND_INTERNAL_CLASS);
 							php_var_serialize_intern(buf, *d, var_hash TSRMLS_CC);
 							break;
 						}
-						efree(priv_name);
+						pefree(priv_name, ce->type & ZEND_INTERNAL_CLASS);
 						zend_mangle_property_name(&prot_name, &prop_name_length,  "*", 1, 
 									Z_STRVAL_PP(name), Z_STRLEN_PP(name), ce->type & ZEND_INTERNAL_CLASS);
 						if (zend_hash_find(Z_OBJPROP_P(struc), prot_name, prop_name_length+1, (void *) &d) == SUCCESS) {
 							php_var_serialize_string(buf, prot_name, prop_name_length);
-							efree(prot_name);
+							pefree(prot_name, ce->type & ZEND_INTERNAL_CLASS);
 							php_var_serialize_intern(buf, *d, var_hash TSRMLS_CC);
 							break;
 						}
-						efree(prot_name);
+						pefree(prot_name, ce->type & ZEND_INTERNAL_CLASS);
 						php_error_docref(NULL TSRMLS_CC, E_NOTICE, "\"%s\" returned as member variable from __sleep() but does not exist", Z_STRVAL_PP(name));
 						php_var_serialize_string(buf, Z_STRVAL_PP(name), Z_STRLEN_PP(name));
 						php_var_serialize_intern(buf, nvalp, var_hash TSRMLS_CC);
diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c
index cb869ac..166a363 100644
--- a/ext/standard/var_unserializer.c
+++ b/ext/standard/var_unserializer.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: var_unserializer.c,v 1.70.2.4.2.12 2009/03/17 23:10:13 felipe Exp $ */
+/* $Id: var_unserializer.c 277375 2009-03-17 23:10:13Z felipe $ */
 
 #include "php.h"
 #include "ext/standard/php_var.h"
diff --git a/ext/standard/var_unserializer.c.orig b/ext/standard/var_unserializer.c.orig
index 393bfc8..823b9e6 100644
--- a/ext/standard/var_unserializer.c.orig
+++ b/ext/standard/var_unserializer.c.orig
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: var_unserializer.c,v 1.70.2.4.2.12 2009/03/17 23:10:13 felipe Exp $ */
+/* $Id: var_unserializer.c 277375 2009-03-17 23:10:13Z felipe $ */
 
 #include "php.h"
 #include "ext/standard/php_var.h"
diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re
index c3adfb1..c9c05bb 100644
--- a/ext/standard/var_unserializer.re
+++ b/ext/standard/var_unserializer.re
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: var_unserializer.re,v 1.52.2.2.2.10 2009/03/17 23:10:13 felipe Exp $ */
+/* $Id: var_unserializer.re 277375 2009-03-17 23:10:13Z felipe $ */
 
 #include "php.h"
 #include "ext/standard/php_var.h"
diff --git a/ext/standard/versioning.c b/ext/standard/versioning.c
index 59958f5..ea61abe 100644
--- a/ext/standard/versioning.c
+++ b/ext/standard/versioning.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: versioning.c,v 1.19.2.1.2.5 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: versioning.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdio.h>
 #include <sys/types.h>
diff --git a/ext/sybase/config.m4 b/ext/sybase/config.m4
index 1649104..ccdc343 100644
--- a/ext/sybase/config.m4
+++ b/ext/sybase/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.11.2.1.2.1 2007/07/03 17:25:35 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl
 
 PHP_ARG_WITH(sybase,for Sybase support,
diff --git a/ext/sybase/php_sybase_db.c b/ext/sybase/php_sybase_db.c
index bd23357..7011d50 100644
--- a/ext/sybase/php_sybase_db.c
+++ b/ext/sybase/php_sybase_db.c
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_sybase_db.c,v 1.66.2.5.2.10 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_sybase_db.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/sybase/php_sybase_db.h b/ext/sybase/php_sybase_db.h
index d3a770f..7c666ef 100644
--- a/ext/sybase/php_sybase_db.h
+++ b/ext/sybase/php_sybase_db.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_sybase_db.h,v 1.12.2.1.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_sybase_db.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SYBASE_DB_H
 #define PHP_SYBASE_DB_H
diff --git a/ext/sybase_ct/config.m4 b/ext/sybase_ct/config.m4
index ad3e895..0cb3bc1 100644
--- a/ext/sybase_ct/config.m4
+++ b/ext/sybase_ct/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.15.4.1 2007/07/03 17:25:35 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl
 
 PHP_ARG_WITH(sybase-ct, for Sybase-CT support,
diff --git a/ext/sybase_ct/config.w32 b/ext/sybase_ct/config.w32
index 1fe52c3..f0f815c 100644
--- a/ext/sybase_ct/config.w32
+++ b/ext/sybase_ct/config.w32
@@ -1,5 +1,5 @@
 
-// $Id: config.w32,v 1.1 2003/12/19 17:00:13 wez Exp $
+// $Id: config.w32 146917 2003-12-19 17:00:14Z wez $
 // vim:ft=javascript
 
 ARG_WITH("sybase-ct", "SYBASE_CT support", "no");
diff --git a/ext/sybase_ct/php_sybase_ct.c b/ext/sybase_ct/php_sybase_ct.c
index 645b6f4..ae9923a 100644
--- a/ext/sybase_ct/php_sybase_ct.c
+++ b/ext/sybase_ct/php_sybase_ct.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_sybase_ct.c,v 1.103.2.5.2.17 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_sybase_ct.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #ifdef HAVE_CONFIG_H
diff --git a/ext/sybase_ct/php_sybase_ct.h b/ext/sybase_ct/php_sybase_ct.h
index 3fe22a1..1baea3c 100644
--- a/ext/sybase_ct/php_sybase_ct.h
+++ b/ext/sybase_ct/php_sybase_ct.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_sybase_ct.h,v 1.19.2.2.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_sybase_ct.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SYBASE_CT_H
 #define PHP_SYBASE_CT_H
diff --git a/ext/sybase_ct/tests/bug22403.phpt b/ext/sybase_ct/tests/bug22403.phpt
index 5e0669e..5b4b5f3 100644
--- a/ext/sybase_ct/tests/bug22403.phpt
+++ b/ext/sybase_ct/tests/bug22403.phpt
@@ -6,7 +6,7 @@ Sybase-CT bug #22403 (crash when executing a stored procedure without parameters
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: bug22403.phpt,v 1.2.4.1 2007/05/22 11:35:47 thekid Exp $ 
+ * $Id: bug22403.phpt 236101 2007-05-22 11:35:47Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/bug26407.phpt b/ext/sybase_ct/tests/bug26407.phpt
index f5ea2e5..b1cb176 100644
--- a/ext/sybase_ct/tests/bug26407.phpt
+++ b/ext/sybase_ct/tests/bug26407.phpt
@@ -6,7 +6,7 @@ Sybase-CT bug #26407 (Result set fetching broken around transactions)
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: bug26407.phpt,v 1.2.4.1 2007/05/22 11:33:36 thekid Exp $ 
+ * $Id: bug26407.phpt 236100 2007-05-22 11:33:36Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/bug27843.phpt b/ext/sybase_ct/tests/bug27843.phpt
index 4705c5f..241d4ce 100644
--- a/ext/sybase_ct/tests/bug27843.phpt
+++ b/ext/sybase_ct/tests/bug27843.phpt
@@ -6,7 +6,7 @@ Sybase-CT bug #27843 (notices when query is a stored procedure)
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: bug27843.phpt,v 1.3.4.1 2007/05/22 11:35:47 thekid Exp $ 
+ * $Id: bug27843.phpt 236101 2007-05-22 11:35:47Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/bug28354.phpt b/ext/sybase_ct/tests/bug28354.phpt
index 08f3a53..5dfed79 100644
--- a/ext/sybase_ct/tests/bug28354.phpt
+++ b/ext/sybase_ct/tests/bug28354.phpt
@@ -6,7 +6,7 @@ Sybase-CT bug #28354 (sybase_free_result crash)
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: bug28354.phpt,v 1.3.4.1 2007/05/22 11:35:47 thekid Exp $ 
+ * $Id: bug28354.phpt 236101 2007-05-22 11:35:47Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/bug29064.phpt b/ext/sybase_ct/tests/bug29064.phpt
index a96d882..9a3c180 100644
--- a/ext/sybase_ct/tests/bug29064.phpt
+++ b/ext/sybase_ct/tests/bug29064.phpt
@@ -6,7 +6,7 @@ Sybase-CT bug #29064 (Exact numeric/decimal/money datatypes lose precision)
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: bug29064.phpt,v 1.1.6.1 2008/11/08 14:24:55 thekid Exp $
+ * $Id: bug29064.phpt 268586 2008-11-08 14:24:55Z thekid $
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/bug30312.phpt b/ext/sybase_ct/tests/bug30312.phpt
index 19dda3d..2c77cdb 100644
--- a/ext/sybase_ct/tests/bug30312.phpt
+++ b/ext/sybase_ct/tests/bug30312.phpt
@@ -6,7 +6,7 @@ Sybase-CT bug #30312 (sybase_unbuffered_query calls)
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: bug30312.phpt,v 1.1.4.2 2008/11/08 14:24:38 thekid Exp $
+ * $Id: bug30312.phpt 268585 2008-11-08 14:24:38Z thekid $
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/bug6339.phpt b/ext/sybase_ct/tests/bug6339.phpt
index 0ebfab4..1a32a69 100644
--- a/ext/sybase_ct/tests/bug6339.phpt
+++ b/ext/sybase_ct/tests/bug6339.phpt
@@ -6,7 +6,7 @@ Sybase-CT bug #6339 (invalid Sybase-link resource)
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: bug6339.phpt,v 1.1 2004/01/24 02:18:13 thekid Exp $ 
+ * $Id: bug6339.phpt 149597 2004-01-24 02:18:13Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/index.php b/ext/sybase_ct/tests/index.php
deleted file mode 100644
index 8905ac7..0000000
--- a/ext/sybase_ct/tests/index.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-/* This file is part of PHP test framework for ext/sybase_ct
- *
- * $Id: index.php,v 1.3 2005/02/06 14:08:11 thekid Exp $
- */
-
-  // {{{ class PHPTExpectancy
-  //     Abstract base class for expectancies
-  class PHPTExpectancy {
-    var 
-      $expected = '';
-      
-    function PHPTExpectancy($expected) {
-      $this->expected= $expected;
-    }
-
-    function matches($output) { }
-  }
-  // }}}
-
-  // {{{ class PHPTRegexExpectancy
-  //     Expectancy class for regular expressions
-  class PHPTRegexExpectancy extends PHPTExpectancy {
-    
-    function matches($output) { 
-      return preg_match('°^'.strtr(preg_quote(rtrim($this->expected), '°'), array(
-        '%s' => '(.+)',
-        '%d' => '([0-9]+)'
-      )).'°', $output);
-    }
-  }
-  // }}}
-
-  // {{{ class PHPTTest
-  //     Represents a single .phpt-style test
-  class PHPTTest {
-    var
-      $name         = '',
-      $description  = '',
-      $skipif       = '',
-      $code         = '',
-      $expectancy   = NULL,
-      $output       = '';
-
-    function &fromFile($filename) {
-      $fd= fopen($filename, 'r');
-      
-      $sections= array();
-      $current= NULL;
-      while (!feof($fd)) {
-        $line= fgets($fd, 0xFFFF);
-        if (1 == sscanf($line, '--%[^-]--', $section)) {
-          $sections[$section]= '';
-          $current= $section;
-          continue;
-        }
-        $sections[$current].= $line;
-      }
-      fclose($fd);
-      
-      // Create instance from read data and return it
-      $t= &new PHPTTest(); {
-        $t->name= substr(realpath($filename), 0, -1);
-        $t->description= rtrim($sections['TEST']);
-        $t->skipif= $sections['SKIPIF'];
-        $t->code= $sections['FILE'];
-        
-        if (isset($sections['EXPECTF'])) {
-          $t->expectancy= &new PHPTRegexExpectancy($sections['EXPECTF']);
-        } else {
-          // XXX TBI XXX
-        }
-      }      
-      return $t;
-    }
-    
-    function onError($errno, $errstr, $errfile, $errline) {
-      static $names= array(
-        E_NOTICE    => 'Notice',
-        E_WARNING   => 'Warning'
-      );
-      
-      if (!(error_reporting() & $errno)) return;
-      printf(
-        "\n%s: %s in %s on line %d\n", 
-        $names[$errno], 
-        $errstr,
-        strstr($errfile, 'eval()\'d code') ? $this->name : $errfile,
-        $errline
-      );
-    }
-    
-    function run() {
-
-      // Precondition check - will die if test needs to be skipped
-      eval('?>'.$this->skipif);
-      
-      set_error_handler(array(&$this, 'onError')); {
-        error_reporting(E_ALL);
-
-        ob_start();
-        eval('?>'.$this->code);
-        $this->output= rtrim(ob_get_contents());
-        ob_end_clean();
-      } restore_error_handler();
-      
-      return $this->expectancy->matches($this->output);
-    }
-  }
-  // }}}
-  
-  // {{{ main
-  if (isset($_GET['phpinfo'])) {
-    phpinfo((int)$_GET['phpinfo']);
-
-    echo '<a href="?">Home</a>';
-    exit();
-  }
-
-  echo <<<__
-  <html>
-    <head>
-      <title>PHPT Test</title>
-      <style type="text/css">
-        body {
-          background-color: #ffffff; 
-          color: #000000;
-          font-size: 75%;
-        }
-        body, td, th, h1, h2 {
-          font-family: sans-serif;
-        }
-        h1 {
-          font-size: 150%;
-        }
-        h2 {
-          font-size: 125%;
-        }
-        .header {
-          background: url(?=PHPE9568F34-D428-11d2-A769-00AA001ACF42);
-          background-position: right center;
-          background-repeat: no-repeat;
-          min-height: 70px;
-          background-color: #9999cc;
-          padding: 4px;
-          padding-right: 120px;
-          border: 1px solid #000000;
-        }
-        hr {
-          width: 600px; 
-          background-color: #cccccc; 
-          border: 0px; 
-          height: 1px; 
-          color: #000000;
-        }
-      </style>
-    </head>
-    <body>
-__;
-
-  $test= basename($_SERVER['QUERY_STRING']);
-  if ($test && file_exists($test)) {
-    $t= &PHPTTest::fromFile($test);
-    echo '<div class="header"><h1>'.basename($t->name), ': ', $t->description.'</h1></div>';
-    echo '<a href="?">Back to test suite</a>';
-    flush();
-
-    // Run the test
-    $result= $t->run();
-    
-    // Evaluate results
-    if ($result) {
-      echo '<h2>Passed</h2>';
-    } else {
-      echo '<h2>Failed</h2><hr/>';
-
-      echo '<h3>Actual output</h3>';
-      echo '<xmp>', $t->output, '</xmp><hr/>';
-
-      echo '<h3>Expectancy</h3>';
-      echo '<xmp>', $t->expectancy->expected, '</xmp>';
-    }
-    
-    echo '<hr/>';
-    exit();
-  }
-  
-  echo '<div class="header"><h1>Test suite</h1></div>';
-  
-  // phpinfo() links
-  echo 'phpinfo(): ';
-  foreach (array(
-    1   => 'General', 
-    4   => 'Configuration', 
-    8   => 'Modules'  
-  ) as $const => $name) {
-    printf('<a href="?phpinfo=%d">%s</a> | ', $const, $name);
-  }
-  echo '<a href="?phpinfo=-1">(All)</a>';
-  
-  echo '<h2>Select one to run</h2>';
-  echo '<ul>';
-  $d= dir(dirname(__FILE__));
-  while ($entry= $d->read()) {
-    if ('.phpt' != substr($entry, -5)) continue;
-    echo '<li><a href="?'.$entry.'">'.$entry.'</a></li>';
-  }
-  $d->close();
-  echo '</ul><hr/>';
-  
-  echo <<<__
-    </body>
-  </html>
-__;
-  // }}}
-?>
diff --git a/ext/sybase_ct/tests/skipif.inc b/ext/sybase_ct/tests/skipif.inc
index a2fb163..116fe8e 100644
--- a/ext/sybase_ct/tests/skipif.inc
+++ b/ext/sybase_ct/tests/skipif.inc
@@ -1,7 +1,7 @@
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: skipif.inc,v 1.2.4.1 2008/11/08 15:39:32 felipe Exp $ 
+ * $Id: skipif.inc 268593 2008-11-08 15:39:32Z felipe $ 
  */
 
   require 'test.inc';
diff --git a/ext/sybase_ct/tests/test.inc b/ext/sybase_ct/tests/test.inc
index ca99b5e..f83e74f 100644
--- a/ext/sybase_ct/tests/test.inc
+++ b/ext/sybase_ct/tests/test.inc
@@ -1,7 +1,7 @@
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test.inc,v 1.4.6.4 2008/11/08 11:59:57 thekid Exp $ 
+ * $Id: test.inc 268574 2008-11-08 11:59:57Z thekid $ 
  */
 
   // Change if needed
diff --git a/ext/sybase_ct/tests/test_appname.phpt b/ext/sybase_ct/tests/test_appname.phpt
index 1f1c6b9..d3d11d8 100644
--- a/ext/sybase_ct/tests/test_appname.phpt
+++ b/ext/sybase_ct/tests/test_appname.phpt
@@ -6,7 +6,7 @@ Sybase-CT application name
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_appname.phpt,v 1.2.4.1 2008/11/08 12:01:10 thekid Exp $ 
+ * $Id: test_appname.phpt 268575 2008-11-08 12:01:10Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_connect.phpt b/ext/sybase_ct/tests/test_connect.phpt
index 90db585..5cd1e89 100644
--- a/ext/sybase_ct/tests/test_connect.phpt
+++ b/ext/sybase_ct/tests/test_connect.phpt
@@ -6,7 +6,7 @@ Sybase-CT connectivity
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_connect.phpt,v 1.1 2004/01/24 02:18:13 thekid Exp $ 
+ * $Id: test_connect.phpt 149597 2004-01-24 02:18:13Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_connectionbased_msghandler.phpt b/ext/sybase_ct/tests/test_connectionbased_msghandler.phpt
index 548e7b5..f98b691 100644
--- a/ext/sybase_ct/tests/test_connectionbased_msghandler.phpt
+++ b/ext/sybase_ct/tests/test_connectionbased_msghandler.phpt
@@ -6,7 +6,7 @@ Sybase-CT connection-based server message handler
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_connectionbased_msghandler.phpt,v 1.1 2004/01/25 20:04:24 thekid Exp $ 
+ * $Id: test_connectionbased_msghandler.phpt 149694 2004-01-25 20:04:24Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_fetch_object.phpt b/ext/sybase_ct/tests/test_fetch_object.phpt
index cd7c2c2..e527205 100644
--- a/ext/sybase_ct/tests/test_fetch_object.phpt
+++ b/ext/sybase_ct/tests/test_fetch_object.phpt
@@ -8,7 +8,7 @@ Sybase-CT sybase_fetch_object
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_fetch_object.phpt,v 1.1.6.2 2007/05/22 11:33:36 thekid Exp $
+ * $Id: test_fetch_object.phpt 236100 2007-05-22 11:33:36Z thekid $
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_fields.phpt b/ext/sybase_ct/tests/test_fields.phpt
index eef9411..0e6e6dc 100644
--- a/ext/sybase_ct/tests/test_fields.phpt
+++ b/ext/sybase_ct/tests/test_fields.phpt
@@ -6,7 +6,7 @@ Sybase-CT sybase_field_* functions
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_fields.phpt,v 1.1.6.1 2007/03/14 11:44:24 thekid Exp $ 
+ * $Id: test_fields.phpt 231839 2007-03-14 11:44:24Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_long.phpt b/ext/sybase_ct/tests/test_long.phpt
index 512202c..a2071e3 100644
--- a/ext/sybase_ct/tests/test_long.phpt
+++ b/ext/sybase_ct/tests/test_long.phpt
@@ -6,7 +6,7 @@ Sybase-CT select LONG_MAX / LONG_MIN
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_long.phpt,v 1.1.6.1 2007/05/22 12:16:32 thekid Exp $ 
+ * $Id: test_long.phpt 236104 2007-05-22 12:16:32Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_msghandler.phpt b/ext/sybase_ct/tests/test_msghandler.phpt
index fcbcb71..8c47bb3 100644
--- a/ext/sybase_ct/tests/test_msghandler.phpt
+++ b/ext/sybase_ct/tests/test_msghandler.phpt
@@ -6,7 +6,7 @@ Sybase-CT server message handler
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_msghandler.phpt,v 1.2.6.1 2007/05/22 11:33:36 thekid Exp $ 
+ * $Id: test_msghandler.phpt 236100 2007-05-22 11:33:36Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_msghandler_handled.phpt b/ext/sybase_ct/tests/test_msghandler_handled.phpt
index 67eced4..4aba4e9 100644
--- a/ext/sybase_ct/tests/test_msghandler_handled.phpt
+++ b/ext/sybase_ct/tests/test_msghandler_handled.phpt
@@ -6,7 +6,7 @@ Sybase-CT server message handler
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_msghandler_handled.phpt,v 1.1.6.2 2007/05/22 11:38:57 thekid Exp $
+ * $Id: test_msghandler_handled.phpt 236103 2007-05-22 11:38:57Z thekid $
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_query_nostore.phpt b/ext/sybase_ct/tests/test_query_nostore.phpt
index 690dc5e..41d4c6c 100644
--- a/ext/sybase_ct/tests/test_query_nostore.phpt
+++ b/ext/sybase_ct/tests/test_query_nostore.phpt
@@ -6,7 +6,7 @@ Sybase-CT query without storing
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_query_nostore.phpt,v 1.1 2004/07/11 16:57:38 thekid Exp $
+ * $Id: test_query_nostore.phpt 163064 2004-07-11 16:57:38Z thekid $
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_types.phpt b/ext/sybase_ct/tests/test_types.phpt
index 27a843a..fd54e29 100644
--- a/ext/sybase_ct/tests/test_types.phpt
+++ b/ext/sybase_ct/tests/test_types.phpt
@@ -6,7 +6,7 @@ Sybase-CT select and types
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_types.phpt,v 1.4 2004/07/11 16:57:12 thekid Exp $ 
+ * $Id: test_types.phpt 163063 2004-07-11 16:57:12Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_unbuffered_no_full_fetch.phpt b/ext/sybase_ct/tests/test_unbuffered_no_full_fetch.phpt
index c38bbf8..34504cc 100644
--- a/ext/sybase_ct/tests/test_unbuffered_no_full_fetch.phpt
+++ b/ext/sybase_ct/tests/test_unbuffered_no_full_fetch.phpt
@@ -6,7 +6,7 @@ Sybase-CT unbuffered query without full fetching
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_unbuffered_no_full_fetch.phpt,v 1.1.4.2 2008/11/08 14:28:26 thekid Exp $
+ * $Id: test_unbuffered_no_full_fetch.phpt 268587 2008-11-08 14:28:26Z thekid $
  */
 
   require('test.inc');
diff --git a/ext/sybase_ct/tests/test_unbuffered_query.phpt b/ext/sybase_ct/tests/test_unbuffered_query.phpt
index 1270081..7b09518 100644
--- a/ext/sybase_ct/tests/test_unbuffered_query.phpt
+++ b/ext/sybase_ct/tests/test_unbuffered_query.phpt
@@ -6,7 +6,7 @@ Sybase-CT unbuffered query
 <?php
 /* This file is part of PHP test framework for ext/sybase_ct
  *
- * $Id: test_unbuffered_query.phpt,v 1.3.6.1 2007/05/22 11:33:36 thekid Exp $ 
+ * $Id: test_unbuffered_query.phpt 236100 2007-05-22 11:33:36Z thekid $ 
  */
 
   require('test.inc');
diff --git a/ext/sysvmsg/config.m4 b/ext/sysvmsg/config.m4
index be5b286..7b7140a 100644
--- a/ext/sysvmsg/config.m4
+++ b/ext/sysvmsg/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.5.20.1 2006/08/24 13:18:24 tony2001 Exp $
+dnl $Id: config.m4 218803 2006-08-24 13:18:24Z tony2001 $
 
 PHP_ARG_ENABLE(sysvmsg,whether to enable System V IPC support,
 [  --enable-sysvmsg        Enable sysvmsg support])
diff --git a/ext/sysvmsg/php_sysvmsg.h b/ext/sysvmsg/php_sysvmsg.h
index 75d3a35..fc1de09 100644
--- a/ext/sysvmsg/php_sysvmsg.h
+++ b/ext/sysvmsg/php_sysvmsg.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_sysvmsg.h,v 1.6.2.1.2.4 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_sysvmsg.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SYSVMSG_H
 #define PHP_SYSVMSG_H
diff --git a/ext/sysvmsg/sysvmsg.c b/ext/sysvmsg/sysvmsg.c
index c55f1d0..d6603cb 100644
--- a/ext/sysvmsg/sysvmsg.c
+++ b/ext/sysvmsg/sysvmsg.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: sysvmsg.c,v 1.20.2.3.2.8 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: sysvmsg.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -125,7 +125,7 @@ PHP_MINFO_FUNCTION(sysvmsg)
 {
 	php_info_print_table_start();
 	php_info_print_table_row(2, "sysvmsg support", "enabled");
-	php_info_print_table_row(2, "Revision", "$Revision: 1.20.2.3.2.8 $");
+	php_info_print_table_row(2, "Revision", "$Revision: 272374 $");
 	php_info_print_table_end();
 }
 /* }}} */
diff --git a/ext/sysvsem/config.m4 b/ext/sysvsem/config.m4
index fec4c2a..a168829 100644
--- a/ext/sysvsem/config.m4
+++ b/ext/sysvsem/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.6 2005/05/29 23:16:44 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl
 
 PHP_ARG_ENABLE(sysvsem,whether to enable System V semaphore support,
diff --git a/ext/sysvsem/php_sysvsem.h b/ext/sysvsem/php_sysvsem.h
index e96b85a..35ff816 100644
--- a/ext/sysvsem/php_sysvsem.h
+++ b/ext/sysvsem/php_sysvsem.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_sysvsem.h,v 1.16.2.1.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_sysvsem.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SYSVSEM_H
 #define PHP_SYSVSEM_H
diff --git a/ext/sysvsem/sysvsem.c b/ext/sysvsem/sysvsem.c
index 1bd6865..d45af6a 100644
--- a/ext/sysvsem/sysvsem.c
+++ b/ext/sysvsem/sysvsem.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: sysvsem.c,v 1.51.2.3.2.4 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: sysvsem.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Latest update build anc tested on Linux 2.2.14
  *
diff --git a/ext/sysvshm/config.m4 b/ext/sysvshm/config.m4
index d9627f4..7ac07d6 100644
--- a/ext/sysvshm/config.m4
+++ b/ext/sysvshm/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.6 2005/05/29 23:16:45 sniper Exp $
+dnl $Id: config.m4 187290 2005-05-29 23:17:16Z sniper $
 dnl
 
 PHP_ARG_ENABLE(sysvshm,whether to enable System V shared memory support,
diff --git a/ext/sysvshm/php_sysvshm.h b/ext/sysvshm/php_sysvshm.h
index a683d28..79f44ff 100644
--- a/ext/sysvshm/php_sysvshm.h
+++ b/ext/sysvshm/php_sysvshm.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_sysvshm.h,v 1.17.2.1.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_sysvshm.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SYSVSHM_H
 #define PHP_SYSVSHM_H
diff --git a/ext/sysvshm/sysvshm.c b/ext/sysvshm/sysvshm.c
index 9679cce..37d8fe0 100644
--- a/ext/sysvshm/sysvshm.c
+++ b/ext/sysvshm/sysvshm.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: sysvshm.c,v 1.70.2.2.2.8 2009/03/19 23:10:44 iliaa Exp $ */
+/* $Id: sysvshm.c 277495 2009-03-19 23:10:44Z iliaa $ */
 
 /* This has been built and tested on Linux 2.2.14 
  *
diff --git a/ext/tidy/config.m4 b/ext/tidy/config.m4
index bffe097..7367e39 100644
--- a/ext/tidy/config.m4
+++ b/ext/tidy/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.5.4.1 2006/12/23 17:58:47 derick Exp $
+dnl $Id: config.m4 225644 2006-12-23 17:58:47Z derick $
 dnl
 
 PHP_ARG_WITH(tidy,for TIDY support,
diff --git a/ext/tidy/config.w32 b/ext/tidy/config.w32
index 10acb50..69cf794 100644
--- a/ext/tidy/config.w32
+++ b/ext/tidy/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2 2004/03/22 23:07:55 wez Exp $
+// $Id: config.w32 154244 2004-03-22 23:07:55Z wez $
 // vim:ft=javascript
 
 ARG_WITH("tidy", "TIDY support", "no");
diff --git a/ext/tidy/php_tidy.h b/ext/tidy/php_tidy.h
index c0aef84..526a487 100644
--- a/ext/tidy/php_tidy.h
+++ b/ext/tidy/php_tidy.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_tidy.h,v 1.26.2.1.2.7 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_tidy.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_TIDY_H
 #define PHP_TIDY_H
diff --git a/ext/tidy/tests/030.phpt b/ext/tidy/tests/030.phpt
new file mode 100644
index 0000000..c351f9a
--- /dev/null
+++ b/ext/tidy/tests/030.phpt
@@ -0,0 +1,29 @@
+--TEST--
+getConfig() method - basic test for getConfig()
+--CREDITS--
+Christian Wenz <wenz at php.net>
+--SKIPIF--
+<?php
+  if (!extension_loaded('tidy')) die ('skip tidy not present');
+?>
+--FILE--
+<?php
+$buffer = '<html></html>';
+$config = array(
+  'indent' => true, // AutoBool
+  'indent-attributes' => true, // Boolean
+  'indent-spaces' => 3, // Integer
+  'language' => 'de'); // String
+$tidy = new tidy();
+$tidy->parseString($buffer, $config);
+$c = $tidy->getConfig();
+var_dump($c['indent']);
+var_dump($c['indent-attributes']);
+var_dump($c['indent-spaces']);
+var_dump($c['language']);
+?>
+--EXPECTF--
+int(1)
+bool(true)
+int(3)
+%s(2) "de"
diff --git a/ext/tidy/tests/031.phpt b/ext/tidy/tests/031.phpt
new file mode 100644
index 0000000..cf6aed9
--- /dev/null
+++ b/ext/tidy/tests/031.phpt
@@ -0,0 +1,18 @@
+--TEST--
+tidy_config_count() function - basic test for tidy_config_count()
+--CREDITS--
+Christian Wenz <wenz at php.net>
+--SKIPIF--
+<?php
+  if (!extension_loaded('tidy')) die ('skip tidy not present');
+?>
+--FILE--
+<?php
+$buffer = '<html></html>';
+$config = array('doctype' => 'php');
+
+$tidy = tidy_parse_string($buffer, $config);
+var_dump(tidy_config_count($tidy));
+?>
+--EXPECTF--
+int(%d)
diff --git a/ext/tidy/tests/032.phpt b/ext/tidy/tests/032.phpt
new file mode 100644
index 0000000..23230b0
--- /dev/null
+++ b/ext/tidy/tests/032.phpt
@@ -0,0 +1,17 @@
+--TEST--
+tidy_error_count() function - basic test for tidy_error_count()
+--CREDITS--
+Christian Wenz <wenz at php.net>
+--SKIPIF--
+<?php
+  if (!extension_loaded('tidy')) die ('skip tidy not present');
+?>
+--FILE--
+<?php
+$buffer = '<img src="file.png" /><php>';
+
+$tidy = tidy_parse_string($buffer);
+var_dump(tidy_error_count($tidy));
+?>
+--EXPECTF--
+int(%d)
diff --git a/ext/tidy/tests/033.phpt b/ext/tidy/tests/033.phpt
new file mode 100644
index 0000000..2c4bb44
--- /dev/null
+++ b/ext/tidy/tests/033.phpt
@@ -0,0 +1,17 @@
+--TEST--
+tidy_warning_count() function - basic test for tidy_warning_count()
+--CREDITS--
+Christian Wenz <wenz at php.net>
+--SKIPIF--
+<?php
+  if (!extension_loaded('tidy')) die ('skip tidy not present');
+?>
+--FILE--
+<?php
+$buffer = '<img src="file.png" /><php>';
+
+$tidy = tidy_parse_string($buffer);
+var_dump(tidy_warning_count($tidy));
+?>
+--EXPECTF--
+int(%d)
diff --git a/ext/tidy/tests/034.phpt b/ext/tidy/tests/034.phpt
new file mode 100644
index 0000000..9780315
--- /dev/null
+++ b/ext/tidy/tests/034.phpt
@@ -0,0 +1,20 @@
+--TEST--
+tidy_access_count() function - basic test for tidy_access_count()
+--CREDITS--
+Christian Wenz <wenz at php.net>
+--SKIPIF--
+<?php
+  if (!extension_loaded('tidy')) die ('skip tidy not present');
+?>
+--FILE--
+<?php
+$buffer = '<img src="file.png" /><php>';
+$config = array(
+  'accessibility-check' => 1);
+
+$tidy = tidy_parse_string($buffer, $config);
+$tidy->diagnose();
+var_dump(tidy_access_count($tidy));
+?>
+--EXPECTF--
+int(%d)
diff --git a/ext/tidy/tests/tidy_error1.phpt b/ext/tidy/tests/tidy_error1.phpt
new file mode 100644
index 0000000..a924469
--- /dev/null
+++ b/ext/tidy/tests/tidy_error1.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Notice triggered by invalid configuration options
+--CREDITS--
+Christian Wenz <wenz at php.net>
+--SKIPIF--
+<?php
+  if (!extension_loaded('tidy')) die ('skip tidy not present');
+?>
+--FILE--
+<?php
+$buffer = '<html></html>';
+$config = array('bogus' => 'willnotwork');
+
+$tidy = new tidy();
+var_dump($tidy->parseString($buffer, $config));
+?>
+--EXPECTF--
+Notice: tidy::parseString(): Unknown Tidy Configuration Option 'bogus' in %s on line %d
+bool(true)
diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c
index 2b75b69..4c88d0c 100644
--- a/ext/tidy/tidy.c
+++ b/ext/tidy/tidy.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: tidy.c,v 1.66.2.8.2.26 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: tidy.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -998,7 +998,7 @@ static PHP_MINFO_FUNCTION(tidy)
 	php_info_print_table_start();
 	php_info_print_table_header(2, "Tidy support", "enabled");
 	php_info_print_table_row(2, "libTidy Release", (char *)tidyReleaseDate());
-	php_info_print_table_row(2, "Extension Version", PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.66.2.8.2.26 2008/12/31 11:17:46 sebastian Exp $)");
+	php_info_print_table_row(2, "Extension Version", PHP_TIDY_MODULE_VERSION " ($Id: tidy.c 272374 2008-12-31 11:17:49Z sebastian $)");
 	php_info_print_table_end();
 
 	DISPLAY_INI_ENTRIES();
diff --git a/ext/tokenizer/config.m4 b/ext/tokenizer/config.m4
index 924b2a1..e5f04c5 100644
--- a/ext/tokenizer/config.m4
+++ b/ext/tokenizer/config.m4
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.5.22.1 2007/07/31 23:24:11 johannes Exp $
+dnl $Id: config.m4 240543 2007-07-31 23:24:11Z johannes $
 dnl config.m4 for extension tokenizer
 
 dnl Otherwise use enable:
diff --git a/ext/tokenizer/config.w32 b/ext/tokenizer/config.w32
index 8aef99d..0b6ff63 100644
--- a/ext/tokenizer/config.w32
+++ b/ext/tokenizer/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1.6.1 2007/08/01 15:13:40 pajoye Exp $
+// $Id: config.w32 240568 2007-08-01 15:13:40Z pajoye $
 // vim:ft=javascript
 
 ARG_ENABLE("tokenizer", "tokenizer support", "yes");
diff --git a/ext/tokenizer/php_tokenizer.h b/ext/tokenizer/php_tokenizer.h
index f8f54fb..b347fcb 100644
--- a/ext/tokenizer/php_tokenizer.h
+++ b/ext/tokenizer/php_tokenizer.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_tokenizer.h,v 1.9.2.1.2.6 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_tokenizer.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_TOKENIZER_H
 #define PHP_TOKENIZER_H
diff --git a/ext/tokenizer/tokenizer.c b/ext/tokenizer/tokenizer.c
index 4748abf..e0ee5ae 100644
--- a/ext/tokenizer/tokenizer.c
+++ b/ext/tokenizer/tokenizer.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tokenizer.c,v 1.31.2.5.2.9 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: tokenizer.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/tokenizer/tokenizer_data.c b/ext/tokenizer/tokenizer_data.c
index ddfa719..bfb8aa5 100644
--- a/ext/tokenizer/tokenizer_data.c
+++ b/ext/tokenizer/tokenizer_data.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tokenizer_data.c,v 1.1.2.4 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: tokenizer_data.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /*
    DO NOT EDIT THIS FILE!
diff --git a/ext/tokenizer/tokenizer_data_gen.sh b/ext/tokenizer/tokenizer_data_gen.sh
index 04bba5c..16dee3a 100755
--- a/ext/tokenizer/tokenizer_data_gen.sh
+++ b/ext/tokenizer/tokenizer_data_gen.sh
@@ -30,7 +30,7 @@ echo '/*
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tokenizer_data_gen.sh,v 1.1.2.2 2007/07/31 23:24:11 johannes Exp $ */
+/* $Id: tokenizer_data_gen.sh,v 1.1.2.2 2007-07-31 23:24:11 johannes Exp $ */
 
 /*
    DO NOT EDIT THIS FILE!
diff --git a/ext/wddx/config.m4 b/ext/wddx/config.m4
index 2eff124..3a086e7 100644
--- a/ext/wddx/config.m4
+++ b/ext/wddx/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.11.2.1.2.1 2006/07/27 01:18:55 sniper Exp $
+dnl $Id: config.m4 217130 2006-07-27 01:18:55Z sniper $
 dnl
 
 PHP_ARG_ENABLE(wddx,whether to enable WDDX support,
diff --git a/ext/wddx/config.w32 b/ext/wddx/config.w32
index cdb79fb..2166862 100644
--- a/ext/wddx/config.w32
+++ b/ext/wddx/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2.4.1 2005/10/06 13:03:43 derick Exp $
+// $Id: config.w32 197743 2005-10-06 13:03:43Z derick $
 // vim:ft=javascript
 
 ARG_WITH("wddx", "WDDX support", "yes");
diff --git a/ext/wddx/php_wddx.h b/ext/wddx/php_wddx.h
index 0720b5c..4e6290b 100644
--- a/ext/wddx/php_wddx.h
+++ b/ext/wddx/php_wddx.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_wddx.h,v 1.18.2.1.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_wddx.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_WDDX_H
 #define PHP_WDDX_H
diff --git a/ext/wddx/php_wddx_api.h b/ext/wddx/php_wddx_api.h
index 6e46da9..5fb7db2 100644
--- a/ext/wddx/php_wddx_api.h
+++ b/ext/wddx/php_wddx_api.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_wddx_api.h,v 1.23.2.3.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_wddx_api.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_WDDX_API_H
 #define PHP_WDDX_API_H
diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c
index ae8453a..1d58fa9 100644
--- a/ext/wddx/wddx.c
+++ b/ext/wddx/wddx.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: wddx.c,v 1.119.2.10.2.23 2009/06/16 02:59:10 felipe Exp $ */
+/* $Id: wddx.c 282201 2009-06-16 02:59:10Z felipe $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/xml/config.m4 b/ext/xml/config.m4
index e5fa565..986515d 100644
--- a/ext/xml/config.m4
+++ b/ext/xml/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.54.2.1 2005/12/22 08:57:38 helly Exp $
+dnl $Id: config.m4 203466 2005-12-22 08:57:38Z helly $
 dnl
 
 PHP_ARG_ENABLE(xml,whether to enable XML support,
diff --git a/ext/xml/config.w32 b/ext/xml/config.w32
index 6af1c10..073648e 100644
--- a/ext/xml/config.w32
+++ b/ext/xml/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.3 2003/12/22 13:16:42 wez Exp $
+// $Id: config.w32 147161 2003-12-22 13:16:43Z wez $
 // vim:ft=javascript
 
 ARG_WITH("xml", "XML support", "yes");
diff --git a/ext/xml/expat_compat.h b/ext/xml/expat_compat.h
index 6b34a83..b86620a 100644
--- a/ext/xml/expat_compat.h
+++ b/ext/xml/expat_compat.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: expat_compat.h,v 1.19.2.1.2.3 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: expat_compat.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_EXPAT_COMPAT_H
 #define PHP_EXPAT_COMPAT_H
diff --git a/ext/xml/php_xml.h b/ext/xml/php_xml.h
index 2dd6ed4..0a3e136 100644
--- a/ext/xml/php_xml.h
+++ b/ext/xml/php_xml.h
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_xml.h,v 1.28.2.2.2.5 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_xml.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_XML_H
 #define PHP_XML_H
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index 168c768..d432a10 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: xml.c,v 1.157.2.4.2.9 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: xml.c 287790 2009-08-27 05:05:42Z rasmus $ */
 
 #define IS_EXT_MODULE
 
@@ -559,7 +559,7 @@ PHPAPI char *xml_utf8_decode(const XML_Char *s, int len, int *newlen, const XML_
 {
 	int pos = len;
 	char *newbuf = emalloc(len + 1);
-	unsigned short c;
+	unsigned int c;
 	char (*decoder)(unsigned short) = NULL;
 	xml_encoding *enc = xml_get_encoding(encoding);
 
diff --git a/ext/xmlreader/config.m4 b/ext/xmlreader/config.m4
index 3c3e8b7..e7b9be2 100644
--- a/ext/xmlreader/config.m4
+++ b/ext/xmlreader/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.3.2.2 2005/12/17 15:40:37 helly Exp $
+dnl $Id: config.m4 203045 2005-12-17 15:40:37Z helly $
 dnl
 
 PHP_ARG_ENABLE(xmlreader, whether to enable XMLReader support,
diff --git a/ext/xmlreader/config.w32 b/ext/xmlreader/config.w32
index a84725d..52636e3 100644
--- a/ext/xmlreader/config.w32
+++ b/ext/xmlreader/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2.2.1 2005/12/01 08:54:22 sniper Exp $
+// $Id: config.w32 201797 2005-12-01 08:54:22Z sniper $
 // vim:ft=javascript
 
 ARG_ENABLE("xmlreader", "XMLReader support", "yes");
diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c
index 1e0e8e2..4133999 100644
--- a/ext/xmlreader/php_xmlreader.c
+++ b/ext/xmlreader/php_xmlreader.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_xmlreader.c,v 1.13.2.14.2.11 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_xmlreader.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/xmlreader/php_xmlreader.h b/ext/xmlreader/php_xmlreader.h
index b37ee79..e07b42e 100644
--- a/ext/xmlreader/php_xmlreader.h
+++ b/ext/xmlreader/php_xmlreader.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_xmlreader.h,v 1.3.2.2.2.4 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_xmlreader.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_XMLREADER_H
 #define PHP_XMLREADER_H
diff --git a/ext/xmlreader/tests/001.phpt b/ext/xmlreader/tests/001.phpt
index cf3d312..2b38635 100644
--- a/ext/xmlreader/tests/001.phpt
+++ b/ext/xmlreader/tests/001.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, string data
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 001.phpt,v 1.1.2.2 2005/12/21 03:58:59 pajoye Exp $ */
+/* $Id: 001.phpt 203342 2005-12-21 03:58:59Z pajoye $ */
 
 $xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
 <books></books>';
diff --git a/ext/xmlreader/tests/002.phpt b/ext/xmlreader/tests/002.phpt
index c9bf68b..dbb1241 100644
--- a/ext/xmlreader/tests/002.phpt
+++ b/ext/xmlreader/tests/002.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, file data
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 002.phpt,v 1.1.2.3 2006/01/04 19:44:46 rrichards Exp $ */
+/* $Id: 002.phpt 204555 2006-01-04 19:44:46Z rrichards $ */
 $filename = dirname(__FILE__) . '/_002.xml';
 $xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
 <books></books>';
diff --git a/ext/xmlreader/tests/003.phpt b/ext/xmlreader/tests/003.phpt
index bddb58d..be5192e 100644
--- a/ext/xmlreader/tests/003.phpt
+++ b/ext/xmlreader/tests/003.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, attributes test
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 003.phpt,v 1.1.2.3 2006/01/04 19:44:46 rrichards Exp $ */
+/* $Id: 003.phpt 204555 2006-01-04 19:44:46Z rrichards $ */
 $filename = dirname(__FILE__) . '/_002.xml';
 
 $xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
diff --git a/ext/xmlreader/tests/004.phpt b/ext/xmlreader/tests/004.phpt
index ff22cce..cf15a91 100644
--- a/ext/xmlreader/tests/004.phpt
+++ b/ext/xmlreader/tests/004.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, attributes test
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 004.phpt,v 1.1.2.3 2006/01/04 19:44:46 rrichards Exp $ */
+/* $Id: 004.phpt 204555 2006-01-04 19:44:46Z rrichards $ */
 $filename = dirname(__FILE__) . '/_002.xml';
 
 $xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
diff --git a/ext/xmlreader/tests/005.phpt b/ext/xmlreader/tests/005.phpt
index ce2a536..0ef32b5 100644
--- a/ext/xmlreader/tests/005.phpt
+++ b/ext/xmlreader/tests/005.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, parser property set/get
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 005.phpt,v 1.1.2.2 2005/12/21 03:58:59 pajoye Exp $ */
+/* $Id: 005.phpt 203342 2005-12-21 03:58:59Z pajoye $ */
 
 $xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
 <books></books>';
diff --git a/ext/xmlreader/tests/006.phpt b/ext/xmlreader/tests/006.phpt
index d482d02..bbe6c27 100644
--- a/ext/xmlreader/tests/006.phpt
+++ b/ext/xmlreader/tests/006.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, moveToElement
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 006.phpt,v 1.1.2.2 2005/12/21 03:58:59 pajoye Exp $ */
+/* $Id: 006.phpt 203342 2005-12-21 03:58:59Z pajoye $ */
 
 $xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
 <books><book num="1"></book><test /></books>';
diff --git a/ext/xmlreader/tests/007.phpt b/ext/xmlreader/tests/007.phpt
index a94bc38..fab60dd 100644
--- a/ext/xmlreader/tests/007.phpt
+++ b/ext/xmlreader/tests/007.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, setRelaxNGSchema
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 007.phpt,v 1.1.2.2 2005/12/21 03:58:59 pajoye Exp $ */
+/* $Id: 007.phpt 203342 2005-12-21 03:58:59Z pajoye $ */
 
 $xmlstring = '<TEI.2>hello</TEI.2>';
 $relaxngfile = dirname(__FILE__) . '/relaxNG.rng'; 
diff --git a/ext/xmlreader/tests/008.phpt b/ext/xmlreader/tests/008.phpt
index 8f33547..938a02d 100644
--- a/ext/xmlreader/tests/008.phpt
+++ b/ext/xmlreader/tests/008.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, DTD
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 008.phpt,v 1.1.2.3 2006/01/04 19:44:46 rrichards Exp $ */
+/* $Id: 008.phpt 204555 2006-01-04 19:44:46Z rrichards $ */
 
 $xmlstring = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE LIST SYSTEM "dtdexample.dtd">
diff --git a/ext/xmlreader/tests/009.phpt b/ext/xmlreader/tests/009.phpt
index 3e9957d..4993f38 100644
--- a/ext/xmlreader/tests/009.phpt
+++ b/ext/xmlreader/tests/009.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, next
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 009.phpt,v 1.1.2.2 2005/12/21 03:58:59 pajoye Exp $ */
+/* $Id: 009.phpt 203342 2005-12-21 03:58:59Z pajoye $ */
 
 $xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
 <books><book num="1"><test /></book><book num="2" /></books>';
diff --git a/ext/xmlreader/tests/010.phpt b/ext/xmlreader/tests/010.phpt
index 37d2a8e..32f592c 100644
--- a/ext/xmlreader/tests/010.phpt
+++ b/ext/xmlreader/tests/010.phpt
@@ -4,7 +4,7 @@ XMLReader: libxml2 XML Reader, next
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 010.phpt,v 1.1.2.2 2005/12/21 03:58:59 pajoye Exp $ */
+/* $Id: 010.phpt 203342 2005-12-21 03:58:59Z pajoye $ */
 $xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
 <prefix:books xmlns:prefix="uri" isbn="" prefix:isbn="12isbn">book1</prefix:books>';
 
diff --git a/ext/xmlreader/tests/011.phpt b/ext/xmlreader/tests/011.phpt
index be31bbe..6251f8c 100644
--- a/ext/xmlreader/tests/011.phpt
+++ b/ext/xmlreader/tests/011.phpt
@@ -7,7 +7,7 @@ if (!method_exists($reader, 'readInnerXml')) print "skip";
 ?>
 --FILE--
 <?php 
-/* $Id: 011.phpt,v 1.2.2.2 2006/03/30 21:47:21 helly Exp $ */
+/* $Id: 011.phpt 210441 2006-03-30 21:47:21Z helly $ */
 
 $xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
 <books><book>test</book></books>';
diff --git a/ext/xmlreader/tests/012.phpt b/ext/xmlreader/tests/012.phpt
index ccd9d3b..efc4235 100755
--- a/ext/xmlreader/tests/012.phpt
+++ b/ext/xmlreader/tests/012.phpt
@@ -4,7 +4,7 @@ XMLReader: accessing empty and non existing attributes
 <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 012.phpt,v 1.1.2.2 2006/03/30 21:47:21 helly Exp $ */
+/* $Id: 012.phpt 210441 2006-03-30 21:47:21Z helly $ */
 
 $xmlstring =<<<EOF
 <?xml version="1.0" encoding="UTF-8"?>
diff --git a/ext/xmlreader/tests/013.phpt b/ext/xmlreader/tests/013.phpt
index 673aa9c..31fea40 100755
--- a/ext/xmlreader/tests/013.phpt
+++ b/ext/xmlreader/tests/013.phpt
@@ -5,7 +5,7 @@ XMLReader: Schema validation
 <?php if (!method_exists('XMLReader','setSchema')) die('skip XMLReader::setSchema() not supported');?>
 --FILE--
 <?php 
-/* $Id: 013.phpt,v 1.1.2.2 2006/05/10 12:04:46 rrichards Exp $ */
+/* $Id: 013.phpt 212752 2006-05-10 12:04:46Z rrichards $ */
 
 $xml =<<<EOF
 <?xml version="1.0" encoding="UTF-8" ?>
diff --git a/ext/xmlrpc/config.m4 b/ext/xmlrpc/config.m4
index 1d78990..cfecdb4 100644
--- a/ext/xmlrpc/config.m4
+++ b/ext/xmlrpc/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.25.2.3.2.1 2009/04/27 18:38:58 scottmac Exp $
+dnl $Id: config.m4 279461 2009-04-27 18:38:58Z scottmac $
 dnl
 
 sinclude(ext/xmlrpc/libxmlrpc/acinclude.m4)
diff --git a/ext/xmlrpc/config.w32 b/ext/xmlrpc/config.w32
index 4001446..9a8e34f 100644
--- a/ext/xmlrpc/config.w32
+++ b/ext/xmlrpc/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.2 2003/12/22 13:16:42 wez Exp $
+// $Id: config.w32 147161 2003-12-22 13:16:43Z wez $
 // vim:ft=javascript
 
 ARG_WITH("xmlrpc", "XMLRPC-EPI support", "no");
diff --git a/ext/xmlrpc/libxmlrpc/base64.c b/ext/xmlrpc/libxmlrpc/base64.c
index 75f2834..1de4633 100644
--- a/ext/xmlrpc/libxmlrpc/base64.c
+++ b/ext/xmlrpc/libxmlrpc/base64.c
@@ -1,4 +1,4 @@
-static const char rcsid[] = "#(@) $Id: base64.c,v 1.4.6.1 2007/03/04 18:24:49 iliaa Exp $";
+static const char rcsid[] = "#(@) $Id: base64.c 231156 2007-03-04 18:24:49Z iliaa $";
 
 /*
 
diff --git a/ext/xmlrpc/libxmlrpc/encodings.c b/ext/xmlrpc/libxmlrpc/encodings.c
index 3352a51..7be1538 100644
--- a/ext/xmlrpc/libxmlrpc/encodings.c
+++ b/ext/xmlrpc/libxmlrpc/encodings.c
@@ -41,7 +41,7 @@
 #include <stdlib.h>
 #endif
 
-static const char rcsid[] = "#(@) $Id: encodings.c,v 1.7.6.1 2007/09/19 00:33:43 stas Exp $";
+static const char rcsid[] = "#(@) $Id: encodings.c 242679 2007-09-19 00:33:43Z stas $";
 
 #include <errno.h>
 
diff --git a/ext/xmlrpc/libxmlrpc/queue.c b/ext/xmlrpc/libxmlrpc/queue.c
index ca96034..1b46fec 100644
--- a/ext/xmlrpc/libxmlrpc/queue.c
+++ b/ext/xmlrpc/libxmlrpc/queue.c
@@ -1,4 +1,4 @@
-static const char rcsid[] = "#(@) $Id: queue.c,v 1.4 2002/07/05 04:43:53 danda Exp $";
+static const char rcsid[] = "#(@) $Id: queue.c 87765 2002-07-05 04:43:55Z danda $";
 
 /* 
  * Date last modified: Jan 2001
diff --git a/ext/xmlrpc/libxmlrpc/simplestring.c b/ext/xmlrpc/libxmlrpc/simplestring.c
index 68dab91..3cc9863 100644
--- a/ext/xmlrpc/libxmlrpc/simplestring.c
+++ b/ext/xmlrpc/libxmlrpc/simplestring.c
@@ -31,7 +31,7 @@
 */
 
 
-static const char rcsid[] = "#(@) $Id: simplestring.c,v 1.4 2003/12/16 21:00:21 sniper Exp $";
+static const char rcsid[] = "#(@) $Id: simplestring.c 146618 2003-12-16 21:00:21Z sniper $";
 
 
 #define SIMPLESTRING_INCR 32
@@ -44,10 +44,7 @@ static const char rcsid[] = "#(@) $Id: simplestring.c,v 1.4 2003/12/16 21:00:21
  * CREATION DATE
  *   06/2000
  * HISTORY
- *   $Log: simplestring.c,v $
- *   Revision 1.4  2003/12/16 21:00:21  sniper
- *   Fix some compile warnings (patch by Joe Orton)
- *
+ *   $Log$
  *   Revision 1.3  2002/08/22 01:25:50  sniper
  *   kill some compile warnings
  *
diff --git a/ext/xmlrpc/libxmlrpc/system_methods.c b/ext/xmlrpc/libxmlrpc/system_methods.c
index c3c2b88..c47236d 100644
--- a/ext/xmlrpc/libxmlrpc/system_methods.c
+++ b/ext/xmlrpc/libxmlrpc/system_methods.c
@@ -35,10 +35,7 @@
  * AUTHOR
  *   Dan Libby, aka danda  (dan at libby.com)
  * HISTORY
- *   $Log: system_methods.c,v $
- *   Revision 1.2  2002/07/05 04:43:53  danda
- *   merged in updates from SF project.  bring php repository up to date with xmlrpc-epi version 0.51
- *
+ *   $Log$
  *   Revision 1.7  2001/09/29 21:58:05  danda
  *   adding cvs log to history section
  *
diff --git a/ext/xmlrpc/libxmlrpc/xml_element.c b/ext/xmlrpc/libxmlrpc/xml_element.c
index faf7671..fa1585c 100644
--- a/ext/xmlrpc/libxmlrpc/xml_element.c
+++ b/ext/xmlrpc/libxmlrpc/xml_element.c
@@ -31,7 +31,7 @@
 */
 
 
-static const char rcsid[] = "#(@) $Id: xml_element.c,v 1.9.4.3 2008/12/17 21:45:31 iliaa Exp $";
+static const char rcsid[] = "#(@) $Id: xml_element.c 271433 2008-12-17 21:45:31Z iliaa $";
 
 
 
@@ -43,10 +43,7 @@ static const char rcsid[] = "#(@) $Id: xml_element.c,v 1.9.4.3 2008/12/17 21:45:
  * CREATION DATE
  *   06/2000
  * HISTORY
- *   $Log: xml_element.c,v $
- *   Revision 1.9.4.3  2008/12/17 21:45:31  iliaa
- *   MFB: remove fprintf usage
- *
+ *   $Log$
  *   Revision 1.9.4.2  2008/12/17 00:30:48  iliaa
  *
  *   MFH: removed unused var
diff --git a/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c b/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c
index b99a0af..0646629 100644
--- a/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c
+++ b/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c
@@ -31,7 +31,7 @@
 */
 
 
-static const char rcsid[] = "#(@) $Id: xml_to_xmlrpc.c,v 1.5.6.3 2007/05/03 04:16:32 edink Exp $";
+static const char rcsid[] = "#(@) $Id: xml_to_xmlrpc.c 234827 2007-05-03 04:16:32Z edink $";
 
 #include "php.h"
 #include "main/snprintf.h"
diff --git a/ext/xmlrpc/libxmlrpc/xmlrpc.c b/ext/xmlrpc/libxmlrpc/xmlrpc.c
index 7533016..6c8f01c 100644
--- a/ext/xmlrpc/libxmlrpc/xmlrpc.c
+++ b/ext/xmlrpc/libxmlrpc/xmlrpc.c
@@ -31,7 +31,7 @@
 */
 
 
-static const char rcsid[] = "#(@) $Id: xmlrpc.c,v 1.8.4.5 2008/12/17 21:45:31 iliaa Exp $";
+static const char rcsid[] = "#(@) $Id: xmlrpc.c 271433 2008-12-17 21:45:31Z iliaa $";
 
 
 /****h* ABOUT/xmlrpc
@@ -42,10 +42,7 @@ static const char rcsid[] = "#(@) $Id: xmlrpc.c,v 1.8.4.5 2008/12/17 21:45:31 il
  * CREATION DATE
  *   9/1999 - 10/2000
  * HISTORY
- *   $Log: xmlrpc.c,v $
- *   Revision 1.8.4.5  2008/12/17 21:45:31  iliaa
- *   MFB: remove fprintf usage
- *
+ *   $Log$
  *   Revision 1.8.4.4  2008/09/10 00:09:04  felipe
  *   MFH:
  *   - Merged fix from SF project (Import Jeff Lawsons patches for XML datetime bug fixes)
diff --git a/ext/xmlrpc/libxmlrpc/xmlrpc_introspection.c b/ext/xmlrpc/libxmlrpc/xmlrpc_introspection.c
index aa8fcd8..9964d83 100644
--- a/ext/xmlrpc/libxmlrpc/xmlrpc_introspection.c
+++ b/ext/xmlrpc/libxmlrpc/xmlrpc_introspection.c
@@ -35,10 +35,7 @@
  * AUTHOR
  *   Dan Libby, aka danda  (dan at libby.com)
  * HISTORY
- *   $Log: xmlrpc_introspection.c,v $
- *   Revision 1.4.4.1  2005/12/18 22:59:57  sniper
- *   MFH: - Fixed bug #35723 (xmlrpc_introspection.c fails compile per C99 std)
- *
+ *   $Log$
  *   Revision 1.4  2003/12/16 21:00:21  sniper
  *   Fix some compile warnings (patch by Joe Orton)
  *
diff --git a/ext/xmlrpc/php_xmlrpc.h b/ext/xmlrpc/php_xmlrpc.h
index fa91bb4..a9596ad 100644
--- a/ext/xmlrpc/php_xmlrpc.h
+++ b/ext/xmlrpc/php_xmlrpc.h
@@ -51,7 +51,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_xmlrpc.h,v 1.11.2.1.2.4 2008/12/31 11:17:46 sebastian Exp $ */
+/* $Id: php_xmlrpc.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef _PHP_XMLRPC_H
 #define _PHP_XMLRPC_H
diff --git a/ext/xmlrpc/tests/bug42189.phpt b/ext/xmlrpc/tests/bug42189.phpt
index 55e726c..2b4e47a 100644
--- a/ext/xmlrpc/tests/bug42189.phpt
+++ b/ext/xmlrpc/tests/bug42189.phpt
@@ -11,5 +11,5 @@ var_dump($ok);
 echo "Done\n";
 ?>
 --EXPECT--	
-bool(false)
+bool(true)
 Done
diff --git a/ext/xmlrpc/xmlrpc-epi-php.c b/ext/xmlrpc/xmlrpc-epi-php.c
index d8b8a7a..a55948c 100644
--- a/ext/xmlrpc/xmlrpc-epi-php.c
+++ b/ext/xmlrpc/xmlrpc-epi-php.c
@@ -51,7 +51,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: xmlrpc-epi-php.c,v 1.39.2.5.2.17 2009/05/22 12:50:44 felipe Exp $ */
+/* $Id: xmlrpc-epi-php.c 280954 2009-05-22 12:50:44Z felipe $ */
 
 /**********************************************************************
 * BUGS:                                                               *
diff --git a/ext/xmlwriter/config.m4 b/ext/xmlwriter/config.m4
index 92bfef1..229a74d 100644
--- a/ext/xmlwriter/config.m4
+++ b/ext/xmlwriter/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.4.2.6 2005/12/04 00:21:39 tony2001 Exp $
+dnl $Id: config.m4 201989 2005-12-04 00:21:39Z tony2001 $
 dnl
 
 PHP_ARG_ENABLE(xmlwriter, whether to enable XMLWriter support,
diff --git a/ext/xmlwriter/config.w32 b/ext/xmlwriter/config.w32
index 11ea39e..c04fca3 100644
--- a/ext/xmlwriter/config.w32
+++ b/ext/xmlwriter/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.3.2.3 2005/12/02 10:55:33 mike Exp $
+// $Id: config.w32 201877 2005-12-02 10:55:33Z mike $
 // vim:ft=javascript
 
 ARG_ENABLE("xmlwriter", "XMLWriter support", "yes");
diff --git a/ext/xmlwriter/php_xmlwriter.c b/ext/xmlwriter/php_xmlwriter.c
index 8fce924..f9b4a50 100644
--- a/ext/xmlwriter/php_xmlwriter.c
+++ b/ext/xmlwriter/php_xmlwriter.c
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_xmlwriter.c,v 1.20.2.12.2.23 2009/05/26 08:09:37 pajoye Exp $ */
+/* $Id: php_xmlwriter.c 281143 2009-05-26 08:09:37Z pajoye $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/xmlwriter/php_xmlwriter.h b/ext/xmlwriter/php_xmlwriter.h
index 8680942..f893b67 100644
--- a/ext/xmlwriter/php_xmlwriter.h
+++ b/ext/xmlwriter/php_xmlwriter.h
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_xmlwriter.h,v 1.10.2.5.2.5 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_xmlwriter.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_XMLWRITER_H
 #define PHP_XMLWRITER_H
diff --git a/ext/xmlwriter/tests/001.phpt b/ext/xmlwriter/tests/001.phpt
index b21fd14..67cbeba 100644
--- a/ext/xmlwriter/tests/001.phpt
+++ b/ext/xmlwriter/tests/001.phpt
@@ -4,7 +4,7 @@ XMLWriter: libxml2 XML Writer, file buffer, flush
 <?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 001.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: 001.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $doc_dest = '001.xml';
 $xw = xmlwriter_open_uri($doc_dest);
diff --git a/ext/xmlwriter/tests/002.phpt b/ext/xmlwriter/tests/002.phpt
index c8e6c32..5c3ed6d 100644
--- a/ext/xmlwriter/tests/002.phpt
+++ b/ext/xmlwriter/tests/002.phpt
@@ -4,7 +4,7 @@ XMLWriter: libxml2 XML Writer, membuffer, flush
 <?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 002.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: 002.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $doc_dest = '001.xml';
 $xw = xmlwriter_open_memory($doc_dest);
diff --git a/ext/xmlwriter/tests/003.phpt b/ext/xmlwriter/tests/003.phpt
index 53f1b4d..7a72039 100644
--- a/ext/xmlwriter/tests/003.phpt
+++ b/ext/xmlwriter/tests/003.phpt
@@ -4,7 +4,7 @@ XMLWriter: libxml2 XML Writer, membuffer, flush, attribute
 <?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 003.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: 003.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $doc_dest = '001.xml';
 $xw = xmlwriter_open_memory($doc_dest);
diff --git a/ext/xmlwriter/tests/004.phpt b/ext/xmlwriter/tests/004.phpt
index ef436cb..0a85e8d 100644
--- a/ext/xmlwriter/tests/004.phpt
+++ b/ext/xmlwriter/tests/004.phpt
@@ -4,7 +4,7 @@ XMLWriter: libxml2 XML Writer, file buffer, flush
 <?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: 004.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: 004.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $doc_dest = '001.xml';
 $xw = xmlwriter_open_uri($doc_dest);
diff --git a/ext/xmlwriter/tests/005.phpt b/ext/xmlwriter/tests/005.phpt
index 259e5dd..8292a68 100644
--- a/ext/xmlwriter/tests/005.phpt
+++ b/ext/xmlwriter/tests/005.phpt
@@ -7,7 +7,7 @@ if (!function_exists("xmlwriter_start_comment")) die("skip: libxml2 2.6.7+ requi
 ?>
 --FILE--
 <?php 
-/* $Id: 005.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: 005.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $doc_dest = '001.xml';
 $xw = xmlwriter_open_uri($doc_dest);
diff --git a/ext/xmlwriter/tests/006.phpt b/ext/xmlwriter/tests/006.phpt
index 21945d6..ab14d41 100644
--- a/ext/xmlwriter/tests/006.phpt
+++ b/ext/xmlwriter/tests/006.phpt
@@ -6,7 +6,7 @@ if (!extension_loaded("xmlwriter")) die("skip");
 ?>
 --FILE--
 <?php 
-/* $Id: 006.phpt,v 1.1.2.3 2005/12/12 21:21:11 tony2001 Exp $ */
+/* $Id: 006.phpt 202733 2005-12-12 21:21:11Z tony2001 $ */
 
 $doc_dest = '001.xml';
 $xw = xmlwriter_open_uri($doc_dest);
diff --git a/ext/xmlwriter/tests/007.phpt b/ext/xmlwriter/tests/007.phpt
index 3212dcc..c265719 100644
--- a/ext/xmlwriter/tests/007.phpt
+++ b/ext/xmlwriter/tests/007.phpt
@@ -7,7 +7,7 @@ if (LIBXML_VERSION < 20629) die("skip: libxml2 2.6.29+ required");
 ?>
 --FILE--
 <?php 
-/* $Id: 007.phpt,v 1.1.2.3.2.2 2007/06/26 12:12:31 tony2001 Exp $ */
+/* $Id: 007.phpt 238660 2007-06-26 12:12:31Z tony2001 $ */
 
 $xw = xmlwriter_open_memory();
 xmlwriter_set_indent($xw, TRUE);
diff --git a/ext/xmlwriter/tests/008.phpt b/ext/xmlwriter/tests/008.phpt
index cb6983d..ee0050c 100644
--- a/ext/xmlwriter/tests/008.phpt
+++ b/ext/xmlwriter/tests/008.phpt
@@ -6,7 +6,7 @@ if (!extension_loaded("xmlwriter")) die("skip");
 ?>
 --FILE--
 <?php 
-/* $Id: 008.phpt,v 1.1.2.3.2.1 2007/01/06 15:53:33 bjori Exp $ */
+/* $Id: 008.phpt 226551 2007-01-06 15:53:33Z bjori $ */
 
 $xw = xmlwriter_open_memory();
 xmlwriter_set_indent($xw, TRUE);
diff --git a/ext/xmlwriter/tests/009.phpt b/ext/xmlwriter/tests/009.phpt
index 021f239..23e90b8 100644
--- a/ext/xmlwriter/tests/009.phpt
+++ b/ext/xmlwriter/tests/009.phpt
@@ -7,7 +7,7 @@ if (!function_exists("xmlwriter_start_comment")) die("skip: libxml2 2.6.7+ requi
 ?>
 --FILE--
 <?php 
-/* $Id: 009.phpt,v 1.1.2.3.2.1 2006/07/19 18:50:51 pajoye Exp $ */
+/* $Id: 009.phpt 216722 2006-07-19 18:50:51Z pajoye $ */
 /*
 Libxml 2.6.24 and up adds a new line after a processing instruction (PI)
 */
diff --git a/ext/xmlwriter/tests/OO_001.phpt b/ext/xmlwriter/tests/OO_001.phpt
index b3f26cb..9558478 100644
--- a/ext/xmlwriter/tests/OO_001.phpt
+++ b/ext/xmlwriter/tests/OO_001.phpt
@@ -4,7 +4,7 @@ XMLWriter: libxml2 XML Writer, file buffer, flush
 <?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: OO_001.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: OO_001.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $doc_dest = '001.xml';
 $xw = new XMLWriter();
diff --git a/ext/xmlwriter/tests/OO_002.phpt b/ext/xmlwriter/tests/OO_002.phpt
index 488cb73..a3a26d9 100644
--- a/ext/xmlwriter/tests/OO_002.phpt
+++ b/ext/xmlwriter/tests/OO_002.phpt
@@ -4,7 +4,7 @@ XMLWriter: libxml2 XML Writer, membuffer, flush
 <?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: OO_002.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: OO_002.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $xw = new XMLWriter();
 $xw->openMemory();
diff --git a/ext/xmlwriter/tests/OO_003.phpt b/ext/xmlwriter/tests/OO_003.phpt
index 1e50a31..46b88c3 100644
--- a/ext/xmlwriter/tests/OO_003.phpt
+++ b/ext/xmlwriter/tests/OO_003.phpt
@@ -4,7 +4,7 @@ XMLWriter: libxml2 XML Writer, membuffer, flush, text, attribute
 <?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: OO_003.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: OO_003.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $xw = new XMLWriter();
 $xw->openMemory();
diff --git a/ext/xmlwriter/tests/OO_004.phpt b/ext/xmlwriter/tests/OO_004.phpt
index b3e3b2a..ab69e5a 100644
--- a/ext/xmlwriter/tests/OO_004.phpt
+++ b/ext/xmlwriter/tests/OO_004.phpt
@@ -4,7 +4,7 @@ XMLWriter: libxml2 XML Writer, file buffer, flush
 <?php if (!extension_loaded("xmlwriter")) print "skip"; ?>
 --FILE--
 <?php 
-/* $Id: OO_004.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: OO_004.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $doc_dest = '001.xml';
 $xw = new XMLWriter();
diff --git a/ext/xmlwriter/tests/OO_005.phpt b/ext/xmlwriter/tests/OO_005.phpt
index dd7a4e4..8bac73e 100644
--- a/ext/xmlwriter/tests/OO_005.phpt
+++ b/ext/xmlwriter/tests/OO_005.phpt
@@ -7,7 +7,7 @@ if (!function_exists("xmlwriter_start_comment")) die("skip: libxml2 2.6.7+ requi
 ?>
 --FILE--
 <?php 
-/* $Id: OO_005.phpt,v 1.3.2.2 2005/12/02 02:05:26 iliaa Exp $ */
+/* $Id: OO_005.phpt 201860 2005-12-02 02:05:26Z iliaa $ */
 
 $doc_dest = '001.xml';
 $xw = new XMLWriter();
diff --git a/ext/xmlwriter/tests/OO_006.phpt b/ext/xmlwriter/tests/OO_006.phpt
index 395992b..f01d26a 100644
--- a/ext/xmlwriter/tests/OO_006.phpt
+++ b/ext/xmlwriter/tests/OO_006.phpt
@@ -6,7 +6,7 @@ if (!extension_loaded("xmlwriter")) die("skip");
 ?>
 --FILE--
 <?php 
-/* $Id: OO_006.phpt,v 1.1.2.3 2005/12/12 21:21:11 tony2001 Exp $ */
+/* $Id: OO_006.phpt 202733 2005-12-12 21:21:11Z tony2001 $ */
 
 $doc_dest = '001.xml';
 $xw = new XMLWriter();
diff --git a/ext/xmlwriter/tests/OO_007.phpt b/ext/xmlwriter/tests/OO_007.phpt
index 0de0762..0d69f80 100644
--- a/ext/xmlwriter/tests/OO_007.phpt
+++ b/ext/xmlwriter/tests/OO_007.phpt
@@ -7,7 +7,7 @@ if (LIBXML_VERSION < 20629) die("skip: libxml2 2.6.29+ required");
 ?>
 --FILE--
 <?php 
-/* $Id: OO_007.phpt,v 1.1.2.3.2.2 2007/06/26 12:12:31 tony2001 Exp $ */
+/* $Id: OO_007.phpt 238660 2007-06-26 12:12:31Z tony2001 $ */
 
 $xw = new XMLWriter();
 $xw->openMemory();
diff --git a/ext/xmlwriter/tests/OO_008.phpt b/ext/xmlwriter/tests/OO_008.phpt
index 5541ba1..6e7fd6f 100644
--- a/ext/xmlwriter/tests/OO_008.phpt
+++ b/ext/xmlwriter/tests/OO_008.phpt
@@ -6,7 +6,7 @@ if (!extension_loaded("xmlwriter")) die("skip");
 ?>
 --FILE--
 <?php 
-/* $Id: OO_008.phpt,v 1.1.2.3 2005/12/12 21:21:11 tony2001 Exp $ */
+/* $Id: OO_008.phpt 202733 2005-12-12 21:21:11Z tony2001 $ */
 
 $xw = new XMLWriter();
 $xw->openMemory();
diff --git a/ext/xmlwriter/tests/OO_009.phpt b/ext/xmlwriter/tests/OO_009.phpt
index 7fc918a..868f2b2 100644
--- a/ext/xmlwriter/tests/OO_009.phpt
+++ b/ext/xmlwriter/tests/OO_009.phpt
@@ -6,7 +6,7 @@ if (!extension_loaded("xmlwriter")) die("skip");
 ?>
 --FILE--
 <?php 
-/* $Id: OO_009.phpt,v 1.1.2.4.2.1 2006/07/19 18:50:51 pajoye Exp $ */
+/* $Id: OO_009.phpt 216722 2006-07-19 18:50:51Z pajoye $ */
 /*
 Libxml 2.6.24 and up adds a new line after a processing instruction (PI)
 */
diff --git a/ext/xsl/config.m4 b/ext/xsl/config.m4
index 606963f..ad297e1 100644
--- a/ext/xsl/config.m4
+++ b/ext/xsl/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.11.4.2 2007/07/03 17:25:35 sniper Exp $
+dnl $Id: config.m4 239118 2007-07-03 17:25:43Z sniper $
 dnl
 
 PHP_ARG_WITH(xsl, for XSL support,
diff --git a/ext/xsl/config.w32 b/ext/xsl/config.w32
index 81ea2b8..e184fdf 100644
--- a/ext/xsl/config.w32
+++ b/ext/xsl/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.9 2004/07/18 13:23:33 rrichards Exp $
+// $Id: config.w32 163555 2004-07-18 13:23:33Z rrichards $
 // vim: ft=javascript
 
 ARG_WITH("xsl", "xsl support", "no");
diff --git a/ext/xsl/php_xsl.c b/ext/xsl/php_xsl.c
index ced1bac..e882f29 100644
--- a/ext/xsl/php_xsl.c
+++ b/ext/xsl/php_xsl.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_xsl.c,v 1.32.2.6.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_xsl.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff --git a/ext/xsl/php_xsl.h b/ext/xsl/php_xsl.h
index 974f8bc..1d6310b 100644
--- a/ext/xsl/php_xsl.h
+++ b/ext/xsl/php_xsl.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_xsl.h,v 1.15.2.1.2.3 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_xsl.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_XSL_H
 #define PHP_XSL_H
diff --git a/ext/xsl/tests/documentxpath.xsl b/ext/xsl/tests/documentxpath.xsl
index 01035e8..0e5c5c1 100644
--- a/ext/xsl/tests/documentxpath.xsl
+++ b/ext/xsl/tests/documentxpath.xsl
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Id: documentxpath.xsl,v 1.1 2003/10/27 15:12:20 chregu Exp $ -->
+<!-- $Id: documentxpath.xsl,v 1.1 2003-10-27 15:12:20 chregu Exp $ -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
     <xsl:output  method="xml" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="/">
diff --git a/ext/xsl/tests/phpfunc-nostring.xsl b/ext/xsl/tests/phpfunc-nostring.xsl
index 48002dc..9ee6a38 100644
--- a/ext/xsl/tests/phpfunc-nostring.xsl
+++ b/ext/xsl/tests/phpfunc-nostring.xsl
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Id: phpfunc-nostring.xsl,v 1.1.4.2 2009/05/23 14:52:54 felipe Exp $ -->
+<!-- $Id: phpfunc-nostring.xsl,v 1.1.4.2 2009-05-23 14:52:54 felipe Exp $ -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl"
 >
diff --git a/ext/xsl/tests/phpfunc-undef.xsl b/ext/xsl/tests/phpfunc-undef.xsl
index cdf89e1..819d0c1 100644
--- a/ext/xsl/tests/phpfunc-undef.xsl
+++ b/ext/xsl/tests/phpfunc-undef.xsl
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Id: phpfunc-undef.xsl,v 1.1.4.2 2009/05/23 14:52:54 felipe Exp $ -->
+<!-- $Id: phpfunc-undef.xsl,v 1.1.4.2 2009-05-23 14:52:54 felipe Exp $ -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl"
 >
diff --git a/ext/xsl/tests/phpfunc.xsl b/ext/xsl/tests/phpfunc.xsl
index 3cd93d2..ba1e734 100644
--- a/ext/xsl/tests/phpfunc.xsl
+++ b/ext/xsl/tests/phpfunc.xsl
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Id: phpfunc.xsl,v 1.1.4.2 2009/05/23 14:52:54 felipe Exp $ -->
+<!-- $Id: phpfunc.xsl,v 1.1.4.2 2009-05-23 14:52:54 felipe Exp $ -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl"
 >
diff --git a/ext/xsl/tests/streamsinclude.xsl b/ext/xsl/tests/streamsinclude.xsl
index 9b1c8be..6f8bc40 100644
--- a/ext/xsl/tests/streamsinclude.xsl
+++ b/ext/xsl/tests/streamsinclude.xsl
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Id: streamsinclude.xsl,v 1.1 2003/10/27 15:12:20 chregu Exp $ -->
+<!-- $Id: streamsinclude.xsl,v 1.1 2003-10-27 15:12:20 chregu Exp $ -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
     <xsl:output  method="xml" encoding="iso-8859-1" indent="no"/>
     <xsl:include href="compress.zlib://xslt.xsl.gz"/>
diff --git a/ext/xsl/tests/xslt.xsl b/ext/xsl/tests/xslt.xsl
index 7556874..8331ccc 100644
--- a/ext/xsl/tests/xslt.xsl
+++ b/ext/xsl/tests/xslt.xsl
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Id: xslt.xsl,v 1.2 2003/11/29 13:01:19 chregu Exp $ -->
+<!-- $Id: xslt.xsl,v 1.2 2003-11-29 13:01:19 chregu Exp $ -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
 
     <xsl:output  method="xml" encoding="iso-8859-1" indent="no"/>
diff --git a/ext/xsl/tests/xslt012.xsl b/ext/xsl/tests/xslt012.xsl
index eb0c491..27f4138 100644
--- a/ext/xsl/tests/xslt012.xsl
+++ b/ext/xsl/tests/xslt012.xsl
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Id: xslt012.xsl,v 1.1 2004/08/05 13:31:17 tony2001 Exp $ -->
+<!-- $Id: xslt012.xsl,v 1.1 2004-08-05 13:31:17 tony2001 Exp $ -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
 
     <xsl:output  method="xml" encoding="iso-8859-1" indent="no"/>
diff --git a/ext/xsl/tests/xsltprocessor_registerPHPFunctions-funcnostring.phpt b/ext/xsl/tests/xsltprocessor_registerPHPFunctions-funcnostring.phpt
index a0d6bf6..d9a7051 100644
--- a/ext/xsl/tests/xsltprocessor_registerPHPFunctions-funcnostring.phpt
+++ b/ext/xsl/tests/xsltprocessor_registerPHPFunctions-funcnostring.phpt
@@ -30,8 +30,8 @@ Warning: XSLTProcessor::transformToXml(): xmlXPathCompiledEval: evaluation faile
 
 Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %d element value-of in %s on line %d
 
-Warning: XSLTProcessor::transformToXml(): XPath evaluation returned no result. in %s on line %d
-NULL
+Warning: XSLTProcessor::transformToXml(): xsltValueOf: text copy failed in %s on line %d
+bool(false)
 --CREDITS--
 Christian Weiske, cweiske at php.net
 PHP Testfest Berlin 2009-05-09
diff --git a/ext/xsl/tests/xsltprocessor_registerPHPFunctions-funcundef.phpt b/ext/xsl/tests/xsltprocessor_registerPHPFunctions-funcundef.phpt
index 1aa7bb0..a0ddf96 100644
--- a/ext/xsl/tests/xsltprocessor_registerPHPFunctions-funcundef.phpt
+++ b/ext/xsl/tests/xsltprocessor_registerPHPFunctions-funcundef.phpt
@@ -29,8 +29,8 @@ Warning: XSLTProcessor::transformToXml(): xmlXPathCompiledEval: evaluation faile
 
 Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %d element value-of in %s on line %d
 
-Warning: XSLTProcessor::transformToXml(): XPath evaluation returned no result. in %s on line %d
-NULL
+Warning: XSLTProcessor::transformToXml(): xsltValueOf: text copy failed in %s on line %d
+bool(false)
 --CREDITS--
 Christian Weiske, cweiske at php.net
 PHP Testfest Berlin 2009-05-09
diff --git a/ext/xsl/xsl_fe.h b/ext/xsl/xsl_fe.h
index 9eaf7b6..e53f4aa 100644
--- a/ext/xsl/xsl_fe.h
+++ b/ext/xsl/xsl_fe.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: xsl_fe.h,v 1.8.2.1.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: xsl_fe.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef XSL_FE_H
 #define XSL_FE_H
diff --git a/ext/xsl/xsltprocessor.c b/ext/xsl/xsltprocessor.c
index f5efb02..9a62f58 100644
--- a/ext/xsl/xsltprocessor.c
+++ b/ext/xsl/xsltprocessor.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.18 2009/05/23 14:31:15 felipe Exp $ */
+/* $Id: xsltprocessor.c 287968 2009-09-02 13:07:44Z iliaa $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -666,7 +666,7 @@ PHP_FUNCTION(xsl_xsltprocessor_transform_to_xml)
 	ret = -1;
 	if (newdocp) {
 		ret = xsltSaveResultToString(&doc_txt_ptr, &doc_txt_len, newdocp, sheetp);
-		if (doc_txt_ptr) {
+		if (doc_txt_ptr && doc_txt_len) {
 			RETVAL_STRINGL(doc_txt_ptr, doc_txt_len, 1);
 			xmlFree(doc_txt_ptr);
 		}
diff --git a/ext/zip/config.m4 b/ext/zip/config.m4
index 088dd1b..5da36c8 100644
--- a/ext/zip/config.m4
+++ b/ext/zip/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.8.2.6 2008/12/09 09:21:59 pajoye Exp $
+dnl $Id: config.m4 270853 2008-12-09 09:21:59Z pajoye $
 dnl
 
 PHP_ARG_ENABLE(zip, for zip archive read/writesupport,
diff --git a/ext/zip/config.w32 b/ext/zip/config.w32
index 56c39a2..94e6751 100644
--- a/ext/zip/config.w32
+++ b/ext/zip/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.1.2.5 2008/10/23 16:13:50 pajoye Exp $
+// $Id: config.w32 267661 2008-10-23 16:13:51Z pajoye $
 // vim:ft=javascript
 
 ARG_ENABLE("zip", "ZIP support", "no");
diff --git a/ext/zip/examples/im.php b/ext/zip/examples/im.php
index bef96f2..fcbbd77 100644
--- a/ext/zip/examples/im.php
+++ b/ext/zip/examples/im.php
@@ -1,5 +1,5 @@
 <?php
-/* $Id: im.php,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: im.php 216983 2006-07-24 16:58:58Z pajoye $ */
 $im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
 imagepng($im, 'a.png');
 
diff --git a/ext/zip/examples/odt.php b/ext/zip/examples/odt.php
index faacdd6..d7495dc 100644
--- a/ext/zip/examples/odt.php
+++ b/ext/zip/examples/odt.php
@@ -1,5 +1,5 @@
 <?php
-/* $Id: odt.php,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: odt.php 216983 2006-07-24 16:58:58Z pajoye $ */
 $reader = new XMLReader();
 
 $reader->open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');
diff --git a/ext/zip/lib/zip.h b/ext/zip/lib/zip.h
index e63ee7c..14a57bc 100644
--- a/ext/zip/lib/zip.h
+++ b/ext/zip/lib/zip.h
@@ -20,7 +20,7 @@
   3. The names of the authors may not be used to endorse or promote
      products derived from this software without specific prior
      written permission.
- 
+
   THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
   OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -39,11 +39,11 @@
 
 #ifdef PHP_WIN32
 #	include "zip_win32.h"
-# ifdef PHP_ZIP_EXPORTS
+#	ifdef PHP_ZIP_EXPORTS
 #		define ZIP_EXTERN(rt) __declspec(dllexport)rt _stdcall
-# else
+#	else
 #		define ZIP_EXTERN(rt) rt
-# endif
+#	endif
 #elif defined(__GNUC__) && __GNUC__ >= 4
 #	define ZIP_EXTERN(rt) __attribute__ ((visibility("default"))) rt
 #else
@@ -217,7 +217,7 @@ ZIP_EXTERN(struct zip_source *)zip_source_filep(struct zip *, FILE *,
 					       off_t, off_t);
 ZIP_EXTERN(void) zip_source_free(struct zip_source *);
 ZIP_EXTERN(struct zip_source *)zip_source_function(struct zip *,
-				       zip_source_callback, void *);
+						  zip_source_callback, void *);
 ZIP_EXTERN(struct zip_source *)zip_source_zip(struct zip *, struct zip *,
 					     int, int, off_t, off_t);
 ZIP_EXTERN(int) zip_stat(struct zip *, const char *, int, struct zip_stat *);
diff --git a/ext/zip/lib/zip_add.c b/ext/zip/lib/zip_add.c
index 3afb176..85d5997 100644
--- a/ext/zip/lib/zip_add.c
+++ b/ext/zip/lib/zip_add.c
@@ -17,7 +17,7 @@
   3. The names of the authors may not be used to endorse or promote
      products derived from this software without specific prior
      written permission.
- 
+
   THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
   OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
diff --git a/ext/zip/lib/zip_close.c b/ext/zip/lib/zip_close.c
index 289ca7a..bc640c7 100644
--- a/ext/zip/lib/zip_close.c
+++ b/ext/zip/lib/zip_close.c
@@ -175,6 +175,7 @@ zip_close(struct zip *za)
 		    de.filename = strdup("-");
 		    de.filename_len = 1;
 		    cd->entry[j].filename = "-";
+		    cd->entry[j].filename_len = 1;
 		}
 		else {
 		    de.filename = strdup(za->cdir->entry[i].filename);
@@ -195,13 +196,15 @@ zip_close(struct zip *za)
 		error = 1;
 		break;
 	    }
+ 	    memcpy(cd->entry+j, za->cdir->entry+i, sizeof(cd->entry[j]));
+
 	    if (de.bitflags & ZIP_GPBF_DATA_DESCRIPTOR) {
 		de.crc = za->cdir->entry[i].crc;
 		de.comp_size = za->cdir->entry[i].comp_size;
 		de.uncomp_size = za->cdir->entry[i].uncomp_size;
 		de.bitflags &= ~ZIP_GPBF_DATA_DESCRIPTOR;
+	    cd->entry[j].bitflags &= ~ZIP_GPBF_DATA_DESCRIPTOR;
 		}
-	    memcpy(cd->entry+j, za->cdir->entry+i, sizeof(cd->entry[j]));
 	}
 
 	if (za->entry[i].ch_filename) {
@@ -229,11 +232,10 @@ zip_close(struct zip *za)
 
 	    zs = NULL;
 	    if (!ZIP_ENTRY_DATA_CHANGED(za->entry+i)) {
-		if ((zs=zip_source_zip(za, za, i, ZIP_FL_RECOMPRESS, 0, -1))
-		    == NULL) {
-		error = 1;
-		break;
-	    }
+			if ((zs=zip_source_zip(za, za, i, ZIP_FL_RECOMPRESS, 0, -1)) == NULL) {
+				error = 1;
+				break;
+	    	}
 	    }
 
 	    if (add_data(za, zs ? zs : za->entry[i].source, &de, out) < 0) {
@@ -286,19 +288,19 @@ zip_close(struct zip *za)
 	return -1;
     }
 
-   if (za->zp) {
-	fclose(za->zp);
-	za->zp = NULL;
-	reopen_on_error = 1;
+	if (za->zp) {
+		fclose(za->zp);
+		za->zp = NULL;
+		reopen_on_error = 1;
     }
     if (_zip_rename(temp, za->zn) != 0) {
 		_zip_error_set(&za->error, ZIP_ER_RENAME, errno);
 		remove(temp);
 		free(temp);
-	if (reopen_on_error) {
-	    /* ignore errors, since we're already in an error case */
-	    za->zp = fopen(za->zn, "rb");
-	}
+		if (reopen_on_error) {
+	    	/* ignore errors, since we're already in an error case */
+	    	za->zp = fopen(za->zn, "rb");
+		}
 		return -1;
 	}
     mask = umask(0);
@@ -638,7 +640,7 @@ _zip_create_temp_output(struct zip *za, FILE **outp)
     FILE *tfp;
 	int len = strlen(za->zn) + 8;
 
-    if ((temp=(char *)malloc(strlen(za->zn)+8)) == NULL) {
+    if ((temp=(char *)malloc(len)) == NULL) {
 	_zip_error_set(&za->error, ZIP_ER_MEMORY, 0);
 	return NULL;
     }
diff --git a/ext/zip/lib/zip_filerange_crc.c b/ext/zip/lib/zip_filerange_crc.c
index 4d1ad56..c689098 100644
--- a/ext/zip/lib/zip_filerange_crc.c
+++ b/ext/zip/lib/zip_filerange_crc.c
@@ -1,6 +1,6 @@
 /*
   zip_filerange_crc.c -- compute CRC32 for a range of a file
-  Copyright (C) 2008 Dieter Baron and Thomas Klausner
+  Copyright (C) 2008-2009 Dieter Baron and Thomas Klausner
 
   This file is part of libzip, a library to manipulate ZIP archives.
   The authors can be contacted at <libzip at nih.at>
diff --git a/ext/zip/lib/zip_fread.c b/ext/zip/lib/zip_fread.c
index 1a2b0e3..861c865 100644
--- a/ext/zip/lib/zip_fread.c
+++ b/ext/zip/lib/zip_fread.c
@@ -83,15 +83,26 @@ zip_fread(struct zip_file *zf, void *outbuf, size_t toread)
 	ret = inflate(zf->zstr, Z_SYNC_FLUSH);
 
 	switch (ret) {
-	case Z_OK:
 	case Z_STREAM_END:
+		zf->flags |= ZIP_ZF_EOF;
+
+	case Z_OK:
+
 	    /* all ok */
 	    /* Z_STREAM_END probably won't happen, since we didn't
 	       have a header */
 	    len = zf->zstr->total_out - out_before;
 	    if (len >= zf->bytes_left || len >= toread) {
-		if (zf->flags & ZIP_ZF_CRC)
-		    zf->crc = crc32(zf->crc, (Bytef *)outbuf, len);
+		    if (zf->flags & ZIP_ZF_CRC) {
+			    zf->crc = crc32(zf->crc, (Bytef *)outbuf, len);
+			    if (zf->flags & ZIP_ZF_EOF == 1) {
+				    if (zf->crc != zf->crc_orig) {
+					    _zip_error_set(&zf->error, ZIP_ER_CRC, 0);
+					    return -1;
+				    }
+
+			    }
+		    }
 		zf->bytes_left -= len;
 	        return len;
 	    }
diff --git a/ext/zip/lib/zip_get_archive_flag.c b/ext/zip/lib/zip_get_archive_flag.c
index 2d46aa3..a595c51 100644
--- a/ext/zip/lib/zip_get_archive_flag.c
+++ b/ext/zip/lib/zip_get_archive_flag.c
@@ -1,6 +1,6 @@
 /*
   zip_get_archive_flag.c -- get archive global flag
-  Copyright (C) 2008 Dieter Baron and Thomas Klausner
+  Copyright (C) 2008-2009 Dieter Baron and Thomas Klausner
 
   This file is part of libzip, a library to manipulate ZIP archives.
   The authors can be contacted at <libzip at nih.at>
diff --git a/ext/zip/lib/zip_open.c b/ext/zip/lib/zip_open.c
index 4b21955..e384019 100644
--- a/ext/zip/lib/zip_open.c
+++ b/ext/zip/lib/zip_open.c
@@ -69,15 +69,16 @@ zip_open(const char *fn, int flags, int *zep)
     if (flags & ZIP_OVERWRITE) {
 	return _zip_allocate_new(fn, zep);
     }
-    
+
     switch (_zip_file_exists(fn, flags, zep)) {
     case -1:
 			if (!(flags & ZIP_OVERWRITE)) {
-	return NULL;
+				return NULL;
 			}
-			
+
     case 0:
 	return _zip_allocate_new(fn, zep);
+
     default:
 	break;
     }
diff --git a/ext/zip/lib/zip_set_archive_flag.c b/ext/zip/lib/zip_set_archive_flag.c
index a6fdd8d..20316e4 100644
--- a/ext/zip/lib/zip_set_archive_flag.c
+++ b/ext/zip/lib/zip_set_archive_flag.c
@@ -1,6 +1,6 @@
 /*
   zip_get_archive_flag.c -- set archive global flag
-  Copyright (C) 2008 Dieter Baron and Thomas Klausner
+  Copyright (C) 2008-2009 Dieter Baron and Thomas Klausner
 
   This file is part of libzip, a library to manipulate ZIP archives.
   The authors can be contacted at <libzip at nih.at>
diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c
index 31f57d0..902a5ab 100644
--- a/ext/zip/php_zip.c
+++ b/ext/zip/php_zip.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_zip.c,v 1.1.2.50 2009/03/01 17:35:25 iliaa Exp $ */
+/* $Id: php_zip.c 287723 2009-08-26 02:16:41Z guenter $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -148,51 +148,28 @@ static int php_zip_realpath_r(char *path, int start, int len, int *ll, time_t *t
 			}
 			return j;
 		}
-	
-		path[len] = 0;
 
-#ifdef PHP_WIN32
-		tmp = tsrm_do_alloca(len+1);
-		memcpy(tmp, path, len+1);
-#elif defined(NETWARE)
+		path[len] = 0;
 
 		tmp = tsrm_do_alloca(len+1);
 		memcpy(tmp, path, len+1);
-#else
-		tmp = tsrm_do_alloca(len+1);
-		memcpy(tmp, path, len+1);
-
-		{
-#endif
-			if (i - 1 <= start) {
-				j = start;
-			} else {
-				/* some leading directories may be unaccessable */
-				j = php_zip_realpath_r(path, start, i-1, ll, t, use_realpath, 1, NULL TSRMLS_CC);
-				if (j > start) {
-					path[j++] = DEFAULT_SLASH;
-				}
-			}
-#ifdef PHP_WIN32
-			if (j < 0 || j + len - i >= MAXPATHLEN-1) {
-				tsrm_free_alloca(tmp);
 
-				return -1;
-			}
-			{
-				/* use the original file or directory name as it wasn't found */
-				memcpy(path+j, tmp+i, len-i+1);
-				j += (len-i);
-			}
-#else
-			if (j < 0 || j + len - i >= MAXPATHLEN-1) {
-				tsrm_free_alloca(tmp);
-				return -1;
+		if (i - 1 <= start) {
+			j = start;
+		} else {
+			/* some leading directories may be unaccessable */
+			j = php_zip_realpath_r(path, start, i-1, ll, t, use_realpath, 1, NULL TSRMLS_CC);
+			if (j > start) {
+				path[j++] = DEFAULT_SLASH;
 			}
-			memcpy(path+j, tmp+i, len-i+1);
-			j += (len-i);
 		}
-#endif
+		if (j < 0 || j + len - i >= MAXPATHLEN-1) {
+			tsrm_free_alloca(tmp);
+			return -1;
+		}
+		/* use the original file or directory name as it wasn't found */
+		memcpy(path+j, tmp+i, len-i+1);
+		j += (len-i);
 
 		tsrm_free_alloca(tmp);
 		return j;
@@ -2560,7 +2537,7 @@ static PHP_MINFO_FUNCTION(zip)
 	php_info_print_table_start();
 
 	php_info_print_table_row(2, "Zip", "enabled");
-	php_info_print_table_row(2, "Extension Version","$Id: php_zip.c,v 1.1.2.50 2009/03/01 17:35:25 iliaa Exp $");
+	php_info_print_table_row(2, "Extension Version","$Id: php_zip.c 287723 2009-08-26 02:16:41Z guenter $");
 	php_info_print_table_row(2, "Zip version", PHP_ZIP_VERSION_STRING);
 	php_info_print_table_row(2, "Libzip version", "0.9.0");
 
diff --git a/ext/zip/php_zip.h b/ext/zip/php_zip.h
index 6891d03..a3b854f 100644
--- a/ext/zip/php_zip.h
+++ b/ext/zip/php_zip.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_zip.h,v 1.10.2.9 2009/02/05 19:53:22 pajoye Exp $ */
+/* $Id: php_zip.h 275233 2009-02-05 19:53:22Z pajoye $ */
 
 #ifndef PHP_ZIP_H
 #define PHP_ZIP_H
diff --git a/ext/zip/tests/bug11216.phpt b/ext/zip/tests/bug11216.phpt
index 5586eeb..f4752a2 100644
--- a/ext/zip/tests/bug11216.phpt
+++ b/ext/zip/tests/bug11216.phpt
@@ -2,7 +2,7 @@
 Bug #11216 (::addEmptyDir() crashes when the directory already exists)
 --SKIPIF--
 <?php
-/* $Id: bug11216.phpt,v 1.1.2.3 2009/01/08 22:03:40 tony2001 Exp $ */
+/* $Id: bug11216.phpt 273127 2009-01-08 22:03:40Z tony2001 $ */
 if(!extension_loaded('zip')) die('skip');
  ?>
 --FILE--
diff --git a/ext/zip/tests/bug14962.phpt b/ext/zip/tests/bug14962.phpt
index 851d28e..0fbb527 100644
--- a/ext/zip/tests/bug14962.phpt
+++ b/ext/zip/tests/bug14962.phpt
@@ -2,7 +2,7 @@
 Bug #14962 (::extractTo second argument is not really optional)
 --SKIPIF--
 <?php
-/* $Id: bug14962.phpt,v 1.1.4.2 2008/11/12 11:59:26 pajoye Exp $ */
+/* $Id: bug14962.phpt 268856 2008-11-12 11:59:26Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/bug38943.phpt b/ext/zip/tests/bug38943.phpt
index af470ef..3c5d4ca 100644
--- a/ext/zip/tests/bug38943.phpt
+++ b/ext/zip/tests/bug38943.phpt
@@ -2,9 +2,10 @@
 #38943, properties in extended class cannot be set (< 5.3)
 --SKIPIF--
 <?php
-/* $Id: bug38943.phpt,v 1.1.2.3 2008/11/12 11:59:26 pajoye Exp $ */
-if(!extension_loaded('zip')) die('skip');
-if (!defined('PHP_VERSION_MAJOR')) die('skip');
+/* $Id: bug38943.phpt 286433 2009-07-27 23:37:40Z rasmus $ */
+if (!extension_loaded('zip')) die('skip');
+if (!defined('PHP_MAJOR_VERSION')) die('skip');
+if (PHP_MAJOR_VERSION==5 && PHP_MINOR_VERSION>2) die('skip');
 ?>
 --FILE--
 <?php
diff --git a/ext/zip/tests/bug38943_2.phpt b/ext/zip/tests/bug38943_2.phpt
index d60cb53..03a9822 100644
--- a/ext/zip/tests/bug38943_2.phpt
+++ b/ext/zip/tests/bug38943_2.phpt
@@ -2,7 +2,7 @@
 #38943, properties in extended class cannot be set (5.3)
 --SKIPIF--
 <?php
-/* $Id: bug38943_2.phpt,v 1.2.2.3 2008/11/12 17:29:50 felipe Exp $ */
+/* $Id: bug38943_2.phpt 268877 2008-11-12 17:29:50Z felipe $ */
 if(!extension_loaded('zip')) die('skip');
 if (version_compare(PHP_VERSION, "5.3", "<")) die('skip test for5.3+ only');
 ?>
diff --git a/ext/zip/tests/bug47667.phpt b/ext/zip/tests/bug47667.phpt
index d28194f..8ce1192 100644
--- a/ext/zip/tests/bug47667.phpt
+++ b/ext/zip/tests/bug47667.phpt
@@ -2,7 +2,7 @@
 Bug #47667 (ZipArchive::OVERWRITE seems to have no effect)
 --SKIPIF--
 <?php
-/* $Id: bug47667.phpt,v 1.1.4.2 2009/03/16 10:22:13 mkoppanen Exp $ */
+/* $Id: bug47667.phpt 277254 2009-03-16 10:22:13Z mkoppanen $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/bug49072.phpt b/ext/zip/tests/bug49072.phpt
new file mode 100644
index 0000000..04bd06e
--- /dev/null
+++ b/ext/zip/tests/bug49072.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #49072 (feof never returns true for damaged file in zip)
+--SKIPIF--
+<?php
+/* $Id$ */
+if(!extension_loaded('zip')) die('skip');
+?>
+--FILE--
+<?php
+$f = dirname(__FILE__)  . '/bug49072.zip';
+$o = new ZipArchive();
+if (! $o->open($f, ZipArchive::CHECKCONS)) {
+	exit ('error can\'t open');
+}
+$r = $o->getStream('file1'); // this file has a wrong crc
+if (!$r)die('failed to open a stream for file1');
+$s = '';
+while (! feof($r)) {
+	$s .= fread($r,1024);
+}
+?>
+--EXPECTF--
+
+Warning: fread(): Zip stream error: CRC error in %s on line %d
diff --git a/ext/zip/tests/bug49072.zip b/ext/zip/tests/bug49072.zip
new file mode 100644
index 0000000000000000000000000000000000000000..16bbcd011b4a5dca34bbf34ec8a5e10e6941ceb6
GIT binary patch
literal 162657
zcmWh!RX~(Y7p7A}Qc4=6B&2JRZV-^}?vT!<TaZp^X<Vd{SURK|q(Qp7cK7|ie=g@{
zF6PX0&J&}lf{I3hgo1>HL~3#)$|3G$(rSi;1ouHgLPtVEvUPB_;R_1#)?Zk?5m=vH
zr(0iVF6JjvW-RfFm|g$>q6zm>^i_!qO>gQv=(#g)2SG1 at OL4pV(=OYIT!TW5n9qqW
z9|%*qI<6TF!_LUD-dyI at g?~lV`wS}Zh18Nj*S>tpFtq8sWuH6dhs=lyU6J*7e+x~h
zRPW5NV*5gv3-t)HvU$$sO!eSyi461l<)@Q_W}Ew?m2*8jSNoUHLF4Vz;-!<nsyx4&
zdx^zTsAo{G+phUOBwzMBH?=f;r!P9OS!3CKTE~Dqbz}dpoT}w^cSL{IIXl1PpA0dh
zxSkh_zDK8wFrLj>X(ZNp&baaDn}m}O5&3^huT=DXEtNS*2HX_>F|B4g?>L!EH<>~A
zMC%N}Labs9=ZPO%Da_`U)WM^L>Kah_u-!;I#7B2S9KG9#k|>b}6jWU!_5qvG?*c6n
z$Y`c0Oeova^M=w6ASaWPgUN#eHMr4C+dZ+b>q@@?1CDY>9Mc3U|7hA=QkBK!=2DDV
z&rMDoj{&duz$DmtGo%iF#A67w_<Uq4;f at p}&nk_3-{HI{<sp}<PqDXO`bFGfoSM^G
zO_PC>W$r-Z^IJF1Q(m<20(1<C&8{B{E|d5y-BNrc*TO5;e)x4t)tAk+YCm82CKj~5
zKu+N4_2!(?*{nkSPtNa9whCzuSw1~1Tn!4dSoKj?^i_Bp3}J13wJpTiGL;t^zsK*4
zv(Kuf#ePq?DEDW}ZjRp#@2fC1ks-&vi<c7<`Ddk^*8JjPhVgm<k2WRs_of+5wiUT@
zj%E1-eH!1hbL0l<M+tGtX!SpkmPjY(eKz{$fqsFtSgd)t^mIBe8z|0&y}w}RPgo_X
zV$H53+{X=0F{amnDv&9SJ at qv=7|@eRKKiRA+P`k at f;qQW$eY#h+bI||dg;BQL_1x2
ztvAWcUHLxz#5WX%dn;=~L_?!9-70L7Ev@>Cg>>gYmsh2kKed`d*{+hWg{cg}=CB`t
zqz(zvWT_9`@1vhqDuJ-0e7PFKmSq3!oqhe`KHKYo-fQw|y!)415P#OMo78?(gPNMn
z1qEa<WIunDdzVTIZyfyi7dt at w_g(EUonZ;H1Fy6l16M@<7mJSS(6O?530?=^z4xn=
z-yzX{N8(Oq86$UFuDonNt*qw~Cd at 5#HZDsF)QNwF=FM6^87V2Jl>akN9?KLVoqv^?
z_hWhyZLIWFR7ecPdusLhkZ?(JNz8zk1V60x;0H;5Hjk#e#P~vz<({6xk{*@KQLL%!
zXb38po0_LU-!Fh8OmuFWnG#0;;T4k8_>pgR$i4^8U8~U}Y2=rKqI)(vz=K2E!WkTr
zv}LPHJuJ{vRx&e at AAL1iclDeD%10snbXob`h*b6D2M<@7t+NqbP?X&ysYj-v&Ija3
zSe7--nu$sK&`F%IS1)%dUq(g4n1i6(iN7O_G0ykBa>6I@<zt=~>&2I%Xqg5k9d!kA
z?T_AlTuUj5V$b|arrm at Q5G;%V)Oe^`By`s6u+q}xn*C0>nk<Ya8<<w)Dtoi}!?4 at h
z#&eFK1ABys(?_fl&6i{Xs!DKUI9^=$HHQg;g5{@sfa#kOB%JI`BPX`B8dAg<JX)3O
z^yWdhz(t+y`7)}#;zw8x{(<(RIlT(XrQ{w4Uji=K4bAh9Ncb}4Bi)Px-;K&0_VR(f
zs34F2C()VU9{;OBaNr1Z7?!{&i(q{Fxbs>=6Jca(>ykHmO7L@^E}y20`kFI&UUE(L
zPhQ=nP;0G58ihxCU at UDYm@mp`NvErHG&RoK*CA}agZ|5mPyiy0Leb+JRZ>ew<hNtX
zA>QbcMw{XOEPfJk^|;VS;^hzLiR071u9P?2v_HqlHjiaz*_J-|U}(6NO*q81Dtm%o
zyH>oUJB;7L*?ILHKfDQv5`q~4)LlLB;EiZ7Z&A(*$#s7H>e8*0 at aexj4DAB4{(xLW
zSn1EvctM1KXQa8vD%Nq9)?R?}4=TZN_Vi?Kp-b#ZXEK*AoeXWR!q=GS?_PrHN{$2^
zs{gL2jO)8RyoCh=y}``r(z&U)WIi{elxO+dvki<^60->p)+tc=N0gf<F(3ox+!$UE
zWLbL{8l*c0^8_}#^rfI(7F6fRfY$!)!fE>lOzVo`SAe5g+}+#A<ps(D3?88Ej at ddw
zL^z1)uU+R+_Tji_8mBkSl3*&vz at eneq)j&2PL6l|XYO{4z6OgdYqVa<@Yi8it-_JB
zjUo0&ONRE3ro8OfccM8)nm%5aRS}h<&dgh#IEYbjq`BdhJ=+%C=uS*2sCziAXzHui
zAl?NXnv0K}ru_ at +Pf9yQtWOeAd2Jb=$c&jNR4h(W%@f0(3bChyl4>Bfy7&SV5LY6)
zWoAO+N&Nw- at kYyC;QKvV at tTkPqN(_4 at Z;yJ{+A28348Q`3lq+!-w6_2*m4AcMs%~N
zY<kg7!E at g@TleSk{ubi50nnS|Y0a5j+#cdi*3g&VbVSdWh=}Jq_hrs~?%+qB at Z^y8
z%XhT-N52l4zgA)9;Lsy&00U$^0GE0n@?+saxJ12rB4snfrf%@Zmr%oDXy?GU&*{_e
z#=O3z8eabqKUO1qj;(l2x+Z5o>xoog+0xAYPp9_R_tv{o_A_aWG}}I-dlNA6<IYo!
z4Mz5V_3QL#bAaUMEr&HyQKh*F(G8l>sS-`5_ygx|x at 0lc7&=}r`}3Y$w at AiRptCAW
z5g1_5^{g?zC4_Qbl}K;xkJ{RacH_F;wfOw*%E9F5V0*^(A4s*Dx(KH<{jK_`gSb(x
z=V9}8yNn)EC0Mce(wT+U=f?fI+RSaZWC=X7FY_cl{~jLBu9r;YXIca^!|4$~-ucLh
zl&>ebCH^q-^`|FjG-Nr#d?DN74J)3SM^j0oO5JZ6OUF;E=z(9T&0{%e2yts!t0wwM
zHZU$xN2g3Z1~mHXIB(emCk6ed&_Lw(=MLi|BK2SHo6Q*@=~d5Y_XG&klbjXEP?6#n
z1#9GwH3IJZWU_8zV~XuTvZlGF*zDQzqDcmthzM(pAhjraI>LSCEUCvripyffRnnk0
z@&Ts<ULye-I^qTS_65J1`JCGrE{eW#s^jPbV=w<swMc2kPX>q0IH4PRN<IWm+&8$S
zpyKeJI_CIj2}tHj&ZU*xBSWTk$rTlVe8qkGNmkfSeQc!2)@h<LSSxj&cGPFWfy^OY
z6Mvo!;~#N4(15?Kn5L9j%Pu7eDg53mVS~I?c=0BT4ud<O at Hl+yEIGc*lEl57tMsH?
z&oC)<l7XL1enPAVM!wZ(J^ubp|DL;XiYSM~s<K#L77gUJkC`07j)hpUe!Ru+OE>NJ
zGWS*YU>)FZe89uRsxwx%L4|a{o8LNzl$-j~{5Qs=RwAS^D4S!YFe7Z|EIQQVy;?CO
z4M|K7)N5`aLy$ZiGtXQOuL}F^FUn`R78qZMYQK2`jV1NzA@&;{piaJ~%=BkxS+ga#
z*YGNn<b0P_v(d-bS_!_~7OVt+<iBninwCB44x6FeT_Qv%-yYMhsI!vA&vOc(VH7vC
zKzHhGl>_ItM#>Efc(s0(pK`qez6QHKEls_XSwQxC)&!962t59v+kG_(->>b}4UyKD
zT!*B(m3VAL*J2;wVNc8q at cr1Afsx8|COAceJh#y9Z!o2P4plJxKL2t~;<uJmD*#pu
zjm0JwRN0!gTg4yMz*qoQn2~_jK}ieki7a9!j%k=OOkm~aGWyu#+Q;T8LQQ~M>IwAr
zcY2AYr at BU(NW_Z?V9;djq}No#JihL9*`hbiXMd|ti26>fgJig^*K1pU5~q9vc?YBt
z5Z^#`|J0l%@78P at u{98*GG(kKyqCN*pjn9hYU9+Uvem-?c!M0661vN$l^K=FK6p6u
zWeQx44C7w3tQ_$OQ|VJcIeYA{g*)N3X`%fls?K|PK=}ju_!#<zu7H3Ssr!-upy=)_
z^6M^8J<&0wq);0Bq#IpoL#CFx2nh at Mbx_HdePcYZF9}>0dPoMH9qUE46cZ@~Y at QsS
zsKPKr_7*=JxU<!0p(5VwOb2+jji682($uoq;D3X_!H*hx^l9gkONp_<TuC+3yiX>7
zsh-Hmv6YB&LOu+roP`G5X&|PyaP%pI!|r4WF9XA1$>jP#CrVC0qRaKhJ9R8gEJfE7
zu6lf3fs$1ke`}1S?v$6`nXhrj!SNq_Y0uLG{4n+f)EYT+L+0PS#SGZ!5q|T{45H>3
zP^4<`-T}ZtyG&DnLD>E5k7YG(|3sSRy``?Z^c3I|om6)Ta|)<qW})OMBzS@*o8=;F
zLYRt?pU^IuQ5@(H%$VQ^+K)3)#&wRnI3Bq3?<dP$CG2MWqgsY0xZiQG<hNe-0A3;u
zYx+XfE1;Tu{tt_KimECd^fToOiF~-ePngN1=i+-dG0I>+fDRET+_Nc#ngy~XK`N*9
zFPq#NDWdH&lLras*X1>02t(Eso-{IP-}a#AXN|fcaP at vq>FN$d=romA$>7m<DOS~;
z;+T5O#IOh?w0fsPx~%UB!7o+)O(oKqZ3$!rzdb^dTyfqzm4 at am`e=&xzObfmqf4NU
zW+*~80SUmta_9A%?vhzwaKyJeK9bb};R-VG%PLuW3#d;E)|TW9(iI>H&{FQEAq5 at v
z;D at pj+(A42%9djnLw{_ZGg=Y;U7P=o;W{{@exadg0jW55i+lb|c+kWZdX=E$NYjcA
znBODpJu<(WIS3UX<mCYP_)Afg$%SZ^L1ntx8vET&I_JU2g!n5ugvu!`(`OBG{t1b}
zh0g+(Mh#p2;`Jx8%5$}%qow$@dUOZ^whJd!c&fxYb*LWn1oRR}zc{99!6z117*n at x
z4;xG(K}Yv4JX6>62yV8|gWTU&(C$=}CscmFb2?rv#VQH%zPoZj7<;CKeaDyeFTNqJ
zdEJS(syul`tE^wsXKqA#j#_8PhvP50bjEI$&+;Ia03+H`C-%ZpV|sj8A&peKMZSY-
zAjqp{eH|$$-^cxxUue&C8NVdMYBWyv`ucmep=e;75F^iZ{-M*QPfnw;@3+)l;in%z
zj8VC+F&U^9gNo4){1_wfb*3eNWH*gujO+HrO&Gz*f7sn9BEAn~u*ztJSo15=|J<IK
z^KOYLpkbi4 at Enq>(AE7}6hWT%AH;Vk+W0@=t-0Rn0yxFaR$b5}P^*&cvBt~N)4Fvf
z$l~V{waQBF`{i%lK^#hs&n5u!Qz5gJhoX7tssHLX8 at JXz4Z>gCMkrg*un4h-peN61
zH^i{V?xNwVEg%Q$>r5<o1AyZ^200T5Mi_RT?#kII;cV~fY at 9S$UP|MhbC((5^}Iml
zl_GT2J&Qu*huizOU9y at M^_>%9mG~vnww6fzzHv at tQ5Cj)VBQ^6{#C_^bzgce<q#-%
zMjTBiKd&bR-~#Y1%@>9E#W5Eumld{?zcXnRUJkk+qI2+=x$rr)yM71@{vF at vd8N*e
z<EXrFd8JS8PX}Ojg58ePh*Q-UFMA9Icm3V-#<B}~$eyXgPHTb{qyWsVn&e9Ycfjlm
z(gw#RV)F(X$)p|~H}b3Me#3Q==||F`lPI&*MXLsmndB$TR*&8wsyK`RXs%DAS0Urc
z<l%ZLevZdY%XFeR?)Qx-VQ&7R%BFJzg(@MDw=Zi90{NIxN7wx}0 at psg|NJb*0!fw+
zDd$2A!Z1+_$2>|`w^&^Yxo10HGfM-Opj4>lvMH{=T5!X=hau9dp3Z+S>NSwzmdy#p
z{;Of*B!#=eY%7M+oWGGybDauR9Z~1I62RD)&Gr)&Aam?D4oGgeV7=c>DXD-;j12s2
zWK{dH?rYb#+MSRc1M+ at T|MY4H%)$~VIg+$&w}Dl`zO&#@dvzn267VWmb!K%fiL#To
zRcpzTq5YA<mAQChjygDip_b|((szr6T`quqMD<9s?~HmZS5V;{e^XEs+4Mxp>h!qO
zo0{JpyP2Q!qmFvU4_E#P_2L((ARl4QNpkl%UH+WhE_?u_3qW)A|C~Rb$jGLAPvfK9
zg6oOZ4bJf)y)10PXx)K!MP$EfBD}{g;1=A2$P!`-LT_HS>*}drWW<0}(~Fk{>ao7S
zwG%z1X$rrSA~0cd4EJvubG0Rni9c2H)ufFjh|P}_5)cp4OKbcwsE=MsLS7ww%^~u#
zp~(5$%rqR<%Sv@(?y$?jG5~wjEw?k+r1-F}#Nn6N{9Q2O<%9hX51FW){qX1Htw4X@
zbrfx_c?vQ^C6w8a+bTjO=a^wjh!s7~3|+V#C+*{fgH!PJLLU3~ieA&c(_C(>7;Edo
z`_r6DoycjCG32M)U^wPIh*@tIj?`@&fKkax at Ps*F_T!|1m}mW`Rjc7ejVwpcZFL5!
zDViwQ;rkj!p!0kCAYZ&}fH)w<%(IzELD1 at 3Gs;%uTb%rykc`itUZZl68-C#5&H3WU
z1?gKV#7yY2_Hkl!eU*p>@k^Eof95h+ZrFXbM-5^)!B$O7KG5NhCsEq&1lEL=KrJ4q
zpr$jsdd?|rl#zwm^=Z6n_Y~6Ji~*^B;Z)O$$AAP(*p2<D^kJn<)l~yy?5lK_-^RID
z8wGMJT<abL2k{}(A3`3WYSVdqB%v>Veeo*~ik=Izor65}!#Q4Ss9G!2`lpM0&eNlS
zd?xC!NpOl|?mQUL#Ht1M8Zk8g&9X(8LWPHqx~0XQzB^fwKV#s!v at o>z?K|s8`?8wC
z6UEzZ)rpI+-uk$Bjj3|JlyIcYRH_jNTZnwKwCh(J3}<lGg=E_a=4R?O1mC0d;<07X
z!JbK&7vI<+oWUygxBh;sTQ;%b7C-OGANGr~wvy<RZjL1Yyb&G-an}@YoG#pI(eb$;
zpDFN^0qyY-EzCC*T@&aEg%eZ)YE|WLr}tPwelLQio<179>ZC6#?iRw`^neWK_K%;+
z5dmyGz=U{oWI%(A8M&8!_Zf}5sY2B;Ar(4nEA4Cg;aHN-jYXfzzAg<{h{OOyWZ%v$
z|IMLl#3k^%vrM`CAlP4kGAt%o5<ermwilY at JV}b%<XY at zV72pH>qs~3i`@OQP#CQ>
z7SBnQ%FWErTUq<7-uJOS#EeqJvgVc%*7_v)QF(0z*Q8Rdq*YD0Ja`H`kD^R~<mZ4k
z3xvWdvYSM|p6~)Q$&UQ6dH&Wuu5Bb4+XNABQBLcV at S;u4c`4np7uOu>5%5&Rp!p?e
z@;FJFd(vLCx6u`={N1#WK+(Pa_MgGs6}sfVSic*|SPxso<^fLt2nJ$!AcJg&nug#c
zWxLHIgO5lX(DVvm{foD7C<I;#4D{LQ3oM~b&EbXqH;GW`j>KD%|LP$6C^fcK+dut^
zELX~DB%-Jk at GlQhCslQeMjrvo{9N(HioTL&w4B<`9T?v5XS1v_Z<70VmeY;XH^pV~
zcsJoRA;87o#=!1;2D+p5CrjBKV$f1(IZYJ+FCG*l7;n^IbqKpi$)5mUPOv#`itOiC
zN{2_c5*Mik8ryuU<8O$9y$!jrbso47zHkVPTJ7M)pL%fhAt30ku?f}X_nxgSWBZNQ
z-XFO}jF5 at vE<|ZrwAqGLNU@`VggiSL5qls6NEbhZf{#Ja at GH58jsoOK+yQWLw1p9O
zHxEgc2-<C at n_wHAHd#!=q~SmA6$+-h14q&0 at gP57f_GANs?dq3<^yBFP5A@^dPT}<
zihEM6iENgV3!Res>2GkVVZzb3OXTDeiYdpQ%jdF<4J~$C*n;p}BU&Xm^cEBu2m{4i
z*(Bbq*DkP!$@A-d8f~8f{VbICJ+XpiU8CJ<<4PvqfKw+rZ*R`H7ih^|OD`_b`e$Hm
zXDGhGZZvFX71#Qv{GIj at a@(8dE5Dg=!<s#3Iw=sD7J2{nu`^e(QQWUV at pAHjDIl=7
z$%y9f;~@h&6u%4 at 9Y@o|uy*L8ThqX-QR)!IF8wEh+c6BK5v?VYl8gbLfFB-*S#=Xa
z5pMtzGzfI$e4b;{aoH*tty=19Z}&LNJj4$z>$28?CZ_vMY?gnZ3mabJl>F>FYBv51
z|0*KcR5|DBBc^(>&vRT8L(QcnO1&^xF&U|=eZ|w4- at pujbcOl^F52(gf38O at PX2wP
z?L&~)6^H=m-~X!J;sq)!kn{C8QHu(Z?g08F<;^vMI0~x<?u$x1_l*sFSqEU&=fnyt
z%7Zb6cWopDH3*P|$@di-E3%4wZ{afEv8`^H8+)Nxq1H}xz_yc?Ia#1~INYH$xZ_+}
zr^g79G$nYZ<v~P^Jh^fs$jwiE$E)3%ylbJ&D-|2n+TC73PX6}o3h(_h9*uyOBgJ&I
zd2mZWl>Q^=7JR`-iu`IIINsEwvLAtE_^*t#na-|i?|8&uG-ZHg`Lj8K_(<X5FH`#B
zf}XQCuA#2Zd!oBhk72MqXby{z_g=KNK)B&%ia~B%aE;7Ny?qHlv;oVe<q^G at 3hqN@
z3yTdrwHZhcv?)OsDiGFh+~NDQen)&bp?=4lNO0Op0BYOg)T{V4>+Nuw-TD2Cs(j3=
z49PxQO-81f(SJxWm2TXyZ(!%F{K+u~cV^`}`mP%)4Yd;TYo*NL!w;PaUfAfSPol?1
zZ_!&6b3QrVp#VFyn!wP8Fi>m#jxg!T`ng3XhyBJBP=AHvrVv~Uo+IP8!{lB;e!RH5
zKtL6LJ7&(5Ojp{+MG+oh&*7ch`%58D at E(VL4bk(2PuIu%MMWg=ecUyAOZW5#??r4R
zLBrCgRTHAw(stbt<a~2D!ZuSB7Ofdl;_yTZ>sW&JZ}SGv-D^A8V3g>c7X{Z}+_~`z
zR&zuSKR*!BghCjCG5-<I1H=3a_AQDFwIDOIJ`}G&CiFt55BNK^;{ycFv1-%4_ip52
zPrm!x?=^b!aXTpWNA9U~qg1Xt7Wyy#QyL=7M!SbWQ$c8X{t?p)r at 3V?@Cz*+LTSp!
zdQUgKOHh1!R?S1xyL%X#{~fmmx>I;y1&bJfk{pdeq89I}2>!rxzNqbTYRSIS)-ugc
zvFRaDkjLnQzUFVQoWe(Gi*IV at b;1^R&S<@Ot<79b7{W>P+|F9^g`7skKklPME*SaF
zt=*+P(aY*KB7<|L+U*wg)x)z8iEKV~zZHBnlA?z--4FTU?g1vF#c>xyqBVCe?)Fbl
z)n67x*s7)N?TD~2-rky&^-}A4*ale-Oekf48}$O5z}6<0i3CxuGwximr^9G%!dWBs
z8hB)9(fQ+^fRbNmS7C at u2mkLPH~dU3Kpq)6l8afL&eqL$=d}MF%KY>T!Ij;<^cq3>
z`kTfyjH7-w<O at 5ENJh1?V#(bddg(1+$ECwasP`s==(da5p(bQr21fnX(<BN at KmaOB
z%`dJuRvSw(WSIDO6VpbpwvuUk|1jf|6+7Q6jbDWLiSm~48n6zSow|MpM_KjE*W1iN
zyHlj?F%Ap@>Sd_e(I&yPdxhKu?^W)uV5KzOOo!Qno0EwiwzlfMR&7+S_`yU!(y}Fn
zCGt6M_Rx6%nJiaE!hl4f_gjnmlD~^ZMN&Xb6amf6{dNY#vyojM#xq4^y)i6T<NDch
z5eW{oC$tur`Pv9eP7`{@utCuSzczyB;U>hI*)0L0RU-M0AhTBBbrlgdTt-^d>+$1Q
z>bKB3b&U5vJ(oL1$yk#58-P-9c8&hTQ~FN^2=1m_*PA at 3Zq%AP|Lw)&IazV)`s3S&
zk3dj1u+0|;V<`O;I&mbnJA<A2SZfF{SNQLEGBX%~lBl*21mU-k;xWY>a_x7xG2)0p
z at FFO!RxamaD1rv>5T?MXA(JB@&sGSLXCW{jJXg?GAwj+Y&#G1H_-oxTJ+sOhZ){_Z
zIvdLdw&p!(73h3}fbp0Ek2-be7~C1`{n-g-LEr~a|3p+PwW0!N;wEu0hxd315<FST
z65|UE8~GL@;+7j2mp1J2hx4IyR&3rt5}tZ0Z+nRP!=fPDDnA!pA$mD0T(!LPIghqI
zjpfY>Uw%Q6Z_J244tjlwLpLZpg0TKkAu|g}V7A<TV484Kl^mfO+WksxTDz0hch!D6
z81wW1dag*R?|s``erZ$bR%Tf}-#2M*QfPQ`$J1URU1t7ds<3kbW4(cF1fX6<W?L=N
z at B{I0Rk2t_k|?rI^J4UW!*{09ShJSu)fCC|9VwAtwEVp*(cS>gB~mkqXddamU3_2Y
zFf$#WGk>}#+G71Viq$X~uE1e(X)^@#<ut5Pk2r%a0^z7-;CL{-MmUaRJTDey30L(7
z7F1$~S#NhD-dq%=+fEa4N22BMM#9lH0Qm`Kg<vkJ(GnEe2%AlOp0sYtkJU#1<)JG>
zc&Fd)Do^FHU4$eId?~BqcI~C4YR_I8pSqcO8tA2h6eM5jN}_9LKYh({TJJ+>zwb;_
z`JKZ- at m=HyiTeE4)uR|$Zna7x5zW>1S*w!Rl7jusYJz3Bd6*0hcNx=&aaTTb=RRq(
z&CB>kRM!wAj;5F*@+7p}pdrFK2O<)BK|271!8c8s at a58)q-hVn!uYL@$lsNSpk)6r
zXCJWBtm%0PxC%rh7t+FBxfejx{=<$|g!W-iYL}VQkFk$qhlb%|vE;n-cC{)$Sm^%R
zfSi+800FwH|Ag at Vg25AM@8rRL>3>R at ogKutf@%xmisHpUQ(>+FQa%_yy{MkZIr;(l
zmbK^^vl5_>6FUvr%t`ZqNg>KQ4sK;`i&OJy3VsS$d9M*4d3=N^bwe9uQD3taw$Xhd
zj{m+09&@!#PKBrSZB)4TLS=@}o`8E*tIl*dTaPH3xQYQ`$@7OUBpbZ8|M);h?KJwh
zXu8x}SdnOb9rFEwLIQE;>iKrMkZ1L?pRh{5&+;rJQ1w(|7W^r0p+Eg}X+ at L>Jw~GA
z!Qt(r88ma{U>K&s at BS_EA1V8m1pF6p#XL<lG;!Fz5nWuhxR>Ts?BTNBwf;2;16Fet
zTd{wfB8AXadzp1nY6eranaPxVS$PAc7Pq3<qC7a0UmpdJ;gPSEK>^ai3`cd0M+C48
zAYFs_WL9!qq-R)&#a;fgh5!2zh!7&Vnkj$c1#Z at f-7<#6?VU0a3IOA`?lgLXPY+Km
z#qPDZ&5ULPuRuyxOfnyh0%|tOhYHxTgPJhM!8%!n){R2AbrW3cs_0>GZ6*rikVRT#
zH}3=N(iqL6Lgz!E+Ug>WJa{)k;<v9K_5+hbV4?e*sBy|mhvcRxf%ATB-sj|7`JW{{
zo`#?U{C>V16O+^U1-OPi`_?hp&pj#lYWA6vIFXr0$JsCS*@40rZqoO7a7rg{>ABHm
zF at DY4@K)08Qwca+Jc(*m3XT~Gey?67H;dG%=vXKJSO>(VKg<|aiC;ag*j@#os>(!2
zOR+uL8%XJ#4%d^%kWXq!*9&O^+UG)j_T0<OKk1_;BQKJ=GkWyvx<2de=GwR_7%qrZ
zyah3xX$uXk6N#Q`)ii4Jq_NWB>$Wi{(E|j49N0$uoy;FX^VlDvS>ZGy|FJZ1eKtDc
zD<JqNu at 5Z}z)V4`zm5~@+9~6qP)*}8>t|ricXJtQbG^h^%#QmAYfZ7b9zJ~#P?&IK
zGn(W5_3oY}{TDYrp_lw>h{jL_^@JQwv)34;X1!d%?I^ay*EP29zcNKaWCc0kW=IxK
zu7 at wlsK4rL86Qm3lD*A&xhHY8Yugb);yyos_B=xh#y~h*AG~a?yb2MO;Kb{Fr$z)i
zx`OV!Itmd>wTv4Jp8Iyga^PP&-jy#UpWg06eSR{l6F$?b$4KbDOfK_!a|eH*PhMT#
zi25BZwx7ZEa1|<WcDfhV6}mWIRUx9l?kXss at YO`b&AKgBZHmu7AGmq{Rn6#o#f5vM
z|Nc?)_95-H8~M!=Oix~N5<q+nbzV-bpSYbA9LJWsJ=sZWksKwi>GS?s#`f60^$5NJ
zCa%(9yF~C%wK>N<(?jo9qN}<C1Ln1;8m4M1xHYyXv9nF9eb=bbO=Ut#{M*18I0Opp
zFxE-h*BU&NB}&=c<#_bG95`^Ui?f!aY>m>sm<@K~xvD9|BT3#RBT(0X_^(;GB3ay1
zSb=hXBE=nI$BFftK{G>pND-AcI)|LLIKsgAM`i^{$pG|?rY$b^p=ZICbyBq at KGmD_
z!){=vWZ|b4BpziDa06~UX}s4W^8kOp&1>&%4DaJ$V7HQ7?Yb4gdIEwc+n4`VaXo7l
z8PaLjd>D-U>a!e=gt{h09vofyCq>8?4s-x<q&P7gzwXpl&<L~|3e?T!U6Pf8mcd9n
zpf8SedLuP|WM0pIr!(y+8<CxK=nO;*TbT*scS4{KX6H||NE%tD;``uDW0=j5E~q#}
z_KRQCucQ<m5(<jNKiIk}^voR3zp71<-+&E$us+`vpqFs_FrM2fT94~BwAf9XZY<F=
zp1U8anhDYON_d`MZFXNwn;d{{3Nc}3qnf at WB1Tkms+s0G;x at 3LWZ-SABOACEJS*Ka
z{Afm(v3Wms*yXD8^XMBfUX(~eOF_9muR+G3Mr12$!QMxJ3IM4CO!uRPmo>Js{C<*e
z;Kol!4cZ$_7mNs8j+#!}XA at G5sq!i;h0 at 0zQ{YH-i~2ba!Tt7z7S1{#M#vm^`yVej
zVt4L0&t<+Pr=+>Zcl&4LN!#puVU1V-z?>`Rr<9%JW*?dTz9v}XOu5n9q- at t`^ufNP
zs(5U^KCqja!bIprlT{1j1%G)G3n2vNV*Y%<hkm}o%VAB|Kdi(6Z-IY)-3IT1!&Q@?
z3K3M6e+l6C@}46b?!jMb?9HzEop~+hDWG_66{`jI?-AffS{=OjWQ!2by|BU^yBDtq
z=~tVT*GEWGoq2<Sh%C&ZlOwaD9*ob>U7cI%*MY6F&wcYZvGSS|={aT?p<w6(Es-ue
zc{GyW*%xhbVVu9<*?&y71w8#x>s*hKyGcO$EX^x}K%7s?dFuqBOTo&!Uw#r?c~Z0(
zdw6$nN0)b{i^nsh{G;$auOC;YIx8SKQMx%)B`>tB&t{A!Uw>Pnkw at w+1?4Lih$#qt
zusb_bxD_6d`HndW0P6tSB#5U4HEZ9*RpLo+Bcn1!BG_XJ0MSOV>4FNtSWGDA3G3iT
z at R{fs3u4*W-A}Y{D_f^!n+%*NU}P9zk2*mJ$Kbj~zeMQS<G?lZQlync;8)i>cdKXO
zWYW at uI4EK$vC`D%MCNb~b16Bynb*IjlMlGzb^!7+uzWwE6j*Es(mVg|IIgOFG6lhS
zkxJXif0-DJqo)X6;)8BN?K?;sDd_<26yHM>sh2_zmYYu1k?DKOqnXp7=^w7|(NH-q
zywqnr_Whd<<CNK at C6O<{qZ2po at A76BNU(-e>$5cYgBW~b4{a??P^px^@s*NQH!G95
z3A`&{KshJ`&x2gwZSU{b1&NV8YFqmapKML&4v*X+hy%Lu-J_!4ZUsJ>{72!(5|MW-
z`q4YdrxA8)vP#msCd+&ifgBN`dU9t6jBENPZOtRQyS?XapENo~G~Yf02P2e|O((eN
z9NTgDexEt23ZetKwwxg>kOJhpLZz}p>Da=}o{AC2L8W-w2~g%(aRj9yfhEhX2O3fJ
z%*qF?>Z8Jw&a at v$-K^gbGb4LFn8Mt&j8YO$>j1N at QkPSm>ZjH}Qo|{Hfs;9l1(82A
zPe(NM<;PVhhh2Coc%SM4Ys76X4pHIbXD(kq>ha3`uipLS3YVHrtMM~p|G9NPtSB8$
zp6_R<0&ZDC at 4-ap4^T at TlMa>Ngi6F)U^K$gYv%O}a2N2Wedyi~NGKq32b5m@=k=X|
zCv6-*tc5!nDm%t;WquFU8xZ;4_zJD0^9M{+FNMG at YJm@b96U(i_@>24`J%yz*1^q{
zKYxc=6>}dcy^x-V_ws6WgVG-)H&~w})MS(kYX0^v*oEo7TDYx}WZhj;PIX`T{dZ-J
z^1Vp<*T|4r!zxnJxOK4x&E9n9^U8w_;Y3GLH$3PRm|V>QO_Tc at LIObF2N?JVXAe9O
z0xsu*`f|-9!*huyUmV+gw69D@(K`i!SNk9x>!57AyJ?{6 at X`M*L1ECvLr|u-W>X<e
z=1Z^bhd}Lq6JVZc#`E)f!CYX)e4X6XZyDJGmw<WajX<H9hr8~$eUW!u4flrkOvqK?
z)TO5T%2$kq#(sJ_%-Mn`8zWQ1!_L+p2fSM$Vmx`zLZpaa0Ny_kRI-+Qhm9+ at cjQly
zP;C=a#{oz^vDlsh*oKOuJjqFPvKWie!C4dW<9z_kjHU6<Jss|Bk#_M@)e5bb7Ct1$
z0pYvm-qsBcVOKH6M(^kn`0{ajy5Z;aMAy&3uwx>J5D0@<#*lk^mTkM#wivQ<x$uid
zf(2_4Tu2H5y_ORLe-|NMmIyn#(R<E-1#=epd6kB;qdLw#a at Cvd0ww_NWuZ3)pMtyL
zg|}?@ZDBkuPMLbM_eFhCKYdAu<Nb<C!+Y%9ORP0}U)FLn2UDU<&{kn|RC)H*QrFtg
zYo?l&_)jJC<eOh~(3Ibi&h_D>OMm$?zw<Y9^am`L<6X!F6y69#*2A;{DAzFX_Bjx8
zz>E3L3&IQ$N=FuZ at E`D9ynvC+K&ydk0I_7hyCa*#T9^vk^r~R}jg7M;>+7M05j*w9
z99O5ICDaXY-=o&wE%9X*lqKy&Qs>w&U$qwnlgBi=0`EX{(P1!5kaNnxH^#ZpWcJ#(
zSyu#zEOE_+vd%vOo{#K_xE70VrL~?408y>olRTUmW63|DB0yj!WE`BflDd)1R?Y>N
z8c|)qi(|6rS7()?g8d*Rl3KISYsJAF2O&RfhZREpTp5!`heV!`q^Dij@#!RT?k1a~
z*Iqm1v3eSKL>*`_kn{?D*>^;&gHg}H>$aZ$u`1i|_%6V%F*K>-*!t?y_IQ?*I@$B6
z*WQE(;vq(5q(`O#-mM3OHW2n4W6?aPK~5g6R>e_59=RIv*5BC2uE09Y&+Vp;jL)9@
z6YVAU(8o?YJgO9NV9ysmqYED3-)pdLLx>JEm_%9={OXHX9se^lRvfeiJK0Z009dAD
zZ+G$Jr_sm~ypO7SEuV0{pSt{LvPpG+M^`9E2TLZ{iA24HX3s})ibL-TF}P)wN_Bz`
zzo!WAPrF)~*tlybimg$D5dy9hA4#$3fB5Cbz!lPDNPhQQVL<g1!}v?NMcm0u-i<Xf
zQaJ8XIkC&CbUXce7jeG{+<`BDviOrHxK_ozF`#Yc>edcR(y{&|tnWnVxaA?4Jc4pu
zMF(TeqI!>!PfkL*CGiVh04{97(Gu)hNM}}vH7c7)HTdoHW<x8Om&Yl2zI5^`_^~c=
zzaLTR_$ld6U&C&Lr at TR|Ac1RoizJmS-6x(@X4GbT_g at X@=sw0E>S9w7+haF`?<Rmd
zg)bX<FT&S_3Bl@$6F-VxYI^`{2Hgc`JuL$sd0lj=?4)>YkU{7J^tB;tTQ^ojm0BOe
zvT7+-DfERbNxDxMC$MV5C3Ki-!4iZ#4xTfwo7$^TK4P(_T0uMONlZ=TFFiKwh;$Pi
zyW`zNSDgI|c^Y7)*x4z1KlX_?c2jj?+_FgVLhb8C0lLMlj<w13`EeRyA;ZAri{n_Q
z%+hUN+W{!nYw_P-$gB15dK(fV%Qp?+Wk6Gv20;bPybu6Kt(G_OFX&rPX+`T&vzNqf
z{~nBJ0da+Qp;RW1#~lca0dN~v&+VA5HI5s}X020keOF<ol9 at z1-2?6G9&DSAJ{BHK
zJ5@>_rbj^-7ltHdZjh5X_YcTP#Kez{pALERdN(@tUQ>nEe*|+}CzjOX4R>FSPR++!
zV~mX{-GshC(8Xz=z+8V{F>f#O!M4HJwPjZMEs_6rtEl5#r`t~{{fw4;K)_t*{Ch{N
zw}-)HKv^EX5{+a55O)}oj3Y5*`f<3#v+T`vIO(j&9)4hP`K+|B&n>RH)~N;Jm(Ck}
z+}7^P at CL`-R}EQPIQblCpbph0j|Hp$qI}BBeX}61VxhEQbirk$YpCqEbb>$M{$l1c
zp%vc*lWjnQU!w at E_zli1?IgKaz3SvHf@|=OR+&hNySInFpj?BVE-w at XvX&tG*aE#0
zX}B(`^R_7prKV*!^z2;5nG`*r#=)219zN6;+V1n-3ez8uUVfD5rTRvZB31L at 2r-^l
zy40(47`d*J!QRY4r{MNNfX;4chFvb7R*27hU0=-pY-0*6xb?effOZP}Qxf%(grW_&
z>;S&1mC?RArCSBr(S?k<_EHUj*X1<S(Fi{F32Rl3Nhtgo9YM+mFai<$nRlB!SjFL5
z`$g2NF~hHQj}1bT_v5JvIy)br`Xo)atrAga+nZ1Xd02T=tpuZq3G{P?7(JiaJ|-~6
z&OW&b<IW#RJ^;7e{`5ufTqm7M<8KjEjj*B{YMC3-<yx&1e6N$M)qaR*1<<vPF=1%*
zuy?1fhtF1eneqrcEC8_$V$t&m!6Jn3nOvaulInS;pFeTyWYx?6CmXG%;>1>zAi0~;
z!5ND@*s2 at rDBx^1{A{z#>^R+mVz0<*s7yQgYWL9ztd4ruBY=oI28&7FBB{O17=;PL
z)_38N3=K-*xz0;$*9LeI_-y%Jdng=ECu>fRha4 at Sd+=f5i-Yp)vJcKwfL!~=$jFTD
z`i+@(Anjr3Fs!u+X_~vh80C_r4D8MyV|~}OV)11wpeD$^M9j&uO_02il59^&Ie#1b
zYEv%PZy8A7uFNrh+MA!tU$~e3gvZTxN7KHPRTYj=^9+mj?ZW$NbB`epD;z&Ylm0Lr
z at n1>PCaN1e)Fib&V_QKrvQus3H*d^d4GT7rCqF at KF^fzk#*{ND&?dkOZ#EZ=AaT<_
zF)So0xXFl|`aT(tVvV9-(qaXEN@{cbXIzBXZXG)dL0vz&aJqUjP+zR0o~P0i5Sv)d
z<E{J8(mQ7QR)9-PNz2Sd{f{*41puD^qiCC2Av1j+(vB8n^zp!m!!IOAzzNPo^9~<!
zXO`MGfbC_cMC8cd-mJ*gQ&15=T8#-{)l at +1ki2O*MfEvTbxbYcTDR<T4>bRn5*8Dd
zL?*!leEN7Npe|v>XG%nig<a;;7`!o5`HOtgTpG7JKLh0fbZ(iP<YP6 at A@#fjg=v%-
z>$}qzktBSKdQj5(oktQ1G!H+krlg=ggEhVZqi##-l%cGR{Gl&6xqxH3;mhOD<Jjjf
z_cZs`Tivd+y}PTiiR0$**rw>4ZKe6)T};?ivG(uRBvr*R3-kxQ+FZdzCkz)(Dh~z8
z at 0dFNiN*(@5mC1R97wrf at kiQjb~zy3;#X978EeI<%!C^9Gp%YZ*10;;og3jluyWS^
z5UH!sk?mib6Vy9s$R?%T8JY(w at 3C!DNc-E%9%jVzsI1B6IOMk<^O5s<y7Sc*@Jj|m
zo4tJ+<%2C2gPayoa-Nz^HME6=YatT(8TvQ6RB#?PyS4Nm=l`NfWmtHBpSLUe_%Dse
z at lWr_Up}-z<MXQonl!8bER1i!k($d59Z!K05`cLJMO$-e2;R4hs^a#)_pl`j-$m6c
z``vmu)crd2b7c8lq-+<`wb at i@^0V#RKz|Ek$!hlb4(4~<hW~DCN7KJCdF_()U%<Ho
zpN~%DiNH5ddpSn+>N)Nb(dWA^+6z_n|MF&m1lrImazMrP at NgFny;2z at Ev#4LW6z-A
zB%w$3`4^YEbT<+!+N(&yySymw2 at C@a_p1N{P2t0r;@b^?NMSZFJWV*i;^E)s(^3S$
zY?Mn}_tU_5yo(Rz58DyzSp;Ci8hGM{$l^o*k7i^Hso!|A|JnKAPUAekr!I>aALwXP
zAgO=e-tt8qQUj8Kz5P}|ZZl-E<~p(#$9eDHpP;Bddq0!9jlJY2Jv#xe at 3CR>Wvk}e
z0w0JswrjB1$B#O&@O~-2No=_a=<%2M1L7$#_)mo21|+Vu49vDlxLssbsD8euNU$47
zT5agXS0E0tRHM(kY(&lm-bijlmm$W!h3eVi2kj_aL@;=4D3I4_pz&zbBE!wh6WrDW
z%;lviha?cwASL3Gqkqg!eGPFZ%a7Rq+>Ns*o)g6Ls at _LhQ@<Gq4Z=wWPVHXgLT_^Y
zP<n_7fjWl=jd^6om^$3Qozns6Z9rk-KdiB1F~`@(<r0{Tq(mUeage*RWx4HN>hh<X
zS?dK4?C{uE^qnFmah}f!Z5^-(GYnT5i7a!>z${P>EC%qGOBL<)`ApoGI=9D&{Oj{<
zjc&Mfac9 at 0u5y{8dJ*t41Jjo2%plN*NWsW$tCZeMP&#(?y1%7;<x)R^w2fP*dxIg+
zQ0m;e+2PB^M at xHq@h3mQ-)WSARw&w9uBww{mZ>dX>m%yKDu?v>990PqJzA&t%0+_(
zPxtl>_|YsBVK#CC|0N|t)T+API^oZCbb`#qou|x<H5RXgd~j!vz)n;kbvFf0p})@T
zU*x-gMpwRPs|Fk1E`E7>wC}rG=;WhsOI at oVkN0*wVUr_xNzVEA3Hncz(z at r>Em|21
z)dZs?T}&2j0p(B4hB`7<J#o8SbNvz8+Okiv$Kj|?W{J4W-(kC`CgH_m2}7Mids%tM
zx}WmttX>oaFnj;Yq~3l)gdy~-|0Akh0LBQkJ0lTa=99jJ#ZlP?lX1?B-Llbk#R_pw
z<QMH}??xsgf)@}Z-?HFrwO`mJzNPj%XF%s%CSjk=J9}{X(Af^%n<y=_l}d%*A1j_{
z5rI%(6s{y18vNI<sx9x- at q=2-eJ>DfRDC4`Jd9QhBiuNm{qn7hMOFRKZU|)jjXDKA
zI(_O{sq0E0e?`#BiYx!?f`RXrqgqseFyOZe;0x>u0czjGft8E>yq!pR)GG1Qi3H%n
zoLK%y1+1$Cjf0yf_#bXEaC{-}hof0?q)pi5dT(m#I>*OScL#G%ZN@&rmU1Y|hrRF`
zDdh!(&z`<ceZXE7YfZFt<5h+T`Eg9#Nc&kErJscbzid&MaO7#ts>seZIoVhB3yf at w
zlk7gcfZCs0UNvVsN8TM_+CT4RrCLA0|I3UGhaPyHmjj}mT^WMcMuofAaKzNfG*K1w
z43N^2+yMNE3kc24Be!m=h2N!Gw>6Ugwlq7M6Z75nusU$JMgm?oUqHcQu8lD^7JaxL
zf}~`xxj`S+9>Af`&N9A8x1fl75HgG)7Cfi*V~VPvub2639Br8E+J0@<?BQOKY|09@
zx{KL;5H@^Au)sw5w%4+<h)yHC*Y(8pT#@EPx!lS?OET|@Gr^Pg;3F_4KP)VGF^&~o
zZ)C??@Q3qj0PQ*adDPn&M5PIMrO+#dUC=d4YWb(l)Lst5p at g&aiKO1u(9t6)*8xTm
z$*8VjsCrO4_5iR&i%bV#2!!6CT@`+u+YN%%FcLJ7MbVv=uJ2sZl5WVpshVHk?Ns@&
zV at mY(pA=%1`TR?|kRRu(?O0f&U&nL%m!^(tCw05I=d5;7%q at h*P~b3d4}v~`lC4 at e
z7Mhg1^@#Q<L1rU!{*Q<Vq(7#^yHB9Y7lKV&1zIo=ww$pIAM?d at 7*%6$M)6P3ko^#A
zh(pvy!;lJzG4WQ834_IK_tCwItAk<ECk9l}vd8o5sM6B=!@Ra-0ISvofpbJcARosE
zOuz%^7pl*uXH4DL<{0o|8<_g=JPnMO{HITv;ocM?Vm9wGgAT>o<{6UlV$AAA+J+N!
zj7;Y4QJDljjR=tamqh|9>z^hHX0YGEWtG1ghTRBXi}|8F7Xo(xD*R%~*X>9A^6mEz
z#!6{A%O9T1-r@<ST$9dzOx6E@{K)?f=q*66CCA5dg&_I;*S+5h&idI6W-;<~vv+xA
z%^Y7*%X~2Q^XcGT$x^d~V0^Avy1j&BYFXxOOBOnG&~9FN`+HcC61@{Q`~%+;!OM(0
zh#zA`KP^cK-%aLvcPD{|0!tegWJBSAdw1YO^8+vhW<5|m{4FAAkJ}~BwZLD|htbk|
z6G;5A*1#Zs4!*t$6y>UKM}m`#0B at WV|F}dzcOC~)(Ly0L!Q5GLmRqD+r_$Zi-F0MF
z)V}p0mmuu?`B4~CSW_m*MX**#Q<*HpM*THpFe}{zH6Kh%=<%=d6OqQl at rw|tAgmYs
z;+CaVuWv!QGXWN$O}fiybs=x6G0}4(=pw at GUQ)O*>+wGqK;1Z at eE}o4dp}|l_gSWF
zd=4V|G39T*uZy=j2^u)pe1Ex_DfmkAaZ|{CU_jkdY>a*7YkxrWyy+Lnfy1~xaSZt~
ze$KAIcx(wLA&W(E#z$>-`!Ye?eEc$IseddAn7u+~R{a5D at D2byA4sNu?7=V at y3Nm2
zbeP$DZV{bKjWM>vA6aJjj(jXag9V(RQZO6ED~xU9{-+<W04Vn$c7#D{S}$StDa&~o
zQzB%`qg<dxQqEH6kpovSkSyE(zaT_>V;b|n`kgQCy%qyf28vw}*TLgilJ}Vbh|~hz
z`@R at f?_Y5*3%H+`?Rb-4He=uyL2D{*y#{U&@=K6tKmap{NQ}CbS!N9bOKA?W{@_&f
zkZhDphq*PkV-&iHy91pRKk?yF*m)C_tuS_ZotEf%vbKx{-QQ^K`k1e2oJCzVj&u+D
z_RB+lT at 6KlSZu%b*m1RyX3DeY^YtqZ`7+T<YZ7IYdo(|Ho!MsfT%0ZygSqnuGe%8U
zh9s0cEM+Jl1_UmH?*{BozDJ^Oa-6DBhY9}q;P>BFb2c!B;BXXK--YX~YG*@As9UI&
zPc!7g(a^Aa`}pbS=JNlJqx?`l!0R$YJRqE$LyGm31>6z+MPr4 at Y*t at M`pIC!u!{}A
z*KT{bniZ(ol*6LTxEH<M=>^DB at K+v|0pAwXSWI&A&@6Be at Z;9=qm=qIvr2)kbKKm_
zX}u!%&&_iW=oyz|x`!L<_3L`X&DGtkV1AOu&3lZr&%EqM)q#<&ni6sgT1#X<QJ&3s
zlTN5=bbHO#f|mLwQ13two8auL`yLswpY))FyhF>u_r^hwh<<MN*yZ6(uzQtn=FQhb
z^!c>S=V4N17goced4sp2KdDPeD%8FG`1rd at g;R%5)DsAd&!z-e^4{))1ek+JKpmuO
zW~*bT_rz=2fjJD^OS#K%O<0oJhMI5E&KcHz`idFh at a7>QV^ZTE^j|$MGl1)N=C+|)
zvQ5c|dA2nGce6pzmGC3~Hvj{j|9loKjolX<HG{4`PmvJIGx1ZQlwx&W0KMvHXxB^}
z<r(q%ZS#m+gX)#8WGE2+O#4H<i6*jV`IkM*Rr#a8t=sj7j}G`)fg|?p_weKEC*0#c
zOd!Ik*9VG-%tmt2Ibc`9jZS;>Qf^+YvW<9l&odrVNRe$ZI$B^c%0yY8?Ty5qAY~VL
zzV-7dsmkV=xW(fi*B?ytg!$UM$$y>mBn7Y0Ux43zO}&WK==e`qhS~nKCT2n_LLkE-
z6j_{l5Z}=ssxF$N6fW~s=WxifF at AAXG8{sb6MCa_7IX>}CPd3;Gt(a{IQLs<_j<tP
zpSy$~*4{zRpS47^<n|gzWZ-)2+7PdoLGm!>8R;X!Kf$Kza3{pO`j`6a;gL0rx6iH=
zVcd&DgTzI^Qt6^(8;+~fr~R)D8tGsv*$)`y>WAy|nycC)NOHaxcDh^ke;K%J9pk{4
zW`>jco7ISK`nBdn8S5on$Jd1qaJQOwJM@<?|NY1KFKvoj30R%{_aY13JcCk4SDv0O
z==`p+uH at _ta!yevYn!lpO4e1BA6CPzP9h!mGG&TWxvTaU{Q=oXX39(J7j^UBr;M-T
zZIXlF-n|v$L;Q1%r-w4;87szi^`b_oN8H0L*@3|S0Hi=$znj`>J=bNNb*2atALU_4
zDe8m&-=f=t_p$#UfesK4(%j?kKlI@$lwH^%nJ5dIoB3yIu3BnYRXi0BUt$|5=^rbo
zwF2_L+JY?>2&tO<F{aw-fqlm22<qjzrTVt`5iCNfOau2SSlBb^Qhz(DoVF^kd;fRY
zx)aIRe&gT#-}ozl{x@^~=`OvP;<^0kz5l!K>~QOE{_jqt$Nq243mz$N7*8{5-5 at Gs
zvT at l>>n0<E62t6_Ty*Yb*33wd|NAK?TJ<@fN)5 at G3IrYo*N5+=N=wx6h{gB&KLlIS
zu-~N}xt1 at pY98<ZxGMDNf<I9s6SYS)aY<Dkd)WWMW)1nP|Mx%sFSQ_dAw<V;xoqQO
z5jf+piZ`KN`5J>Bv~uT?X-cartpCIRJEn>K#zGZm>5eaP0XY9K(oay>UsQgf&5;t1
zau*a4?e`UdV#eDOTI{rRwPcK&f8txMN8bJSZ-DQA at maB<7I-z<Wr9vtEHWP>ApS@=
zI`8jF!0$hR_&?H}=b%_ELUfr>Jw53AXXn97;2J~gGg4Jon=W*&!`{Q&NtGY^zFQ$d
zs#s?6%riFrGyhO*<gwIOp=V5|y*i5%X{wfF6G$7aok<Qa`|@GD at F%oa50d^+BBi&?
zU~5q at eU7VWR;9G_dguOBX9i?7%FA)Qq@>2PEfyKHRRBJ_jY(R~Sx4lvAho)DBynFu
zwMcg^e|Z0X=3j&dEudMDqke7)p|gE|`2NSG8iBy$?|&Ex1MZW$7NB1N>7Qz?U&gW~
zM?)DY<QF2-P5i!EB&!ZiJ1*UkF-SDheVBD00oMPbj4Zy1K98QhE!&PJeQ*u`c6?sE
zs?E@}I=xb&V^yMbFS4dS2o2U0Eqjx++sP-5KCDJwT6HVD3_lHoZt#Q|h=}7widY8G
zo&fv*ie;&J3U9vu>i at v~PYC$nW4n(XG&;==zN-qe(D(bFHY(Xne2 at 1(J$@Arj)vyY
zTsZvZKg|=LVfS}>Z6S!+DP}y0E5E=>{bFyyMii>@8b{RLr`hvtd(gjcN_xBTZPZMC
zTAL|woZjZQfOQ%l+M+Inl<=KTv60ZuaQ6>fDU_vfOojdAq%y>oRO4*JXqa#qb=d3@
zLO_q5q|tb%4faL$R7@<lWAIzPv!1q*wrA4Mk^@Pjr;^e|UdSDxnmQgw8S>269Qu}=
zN>B3t_5W;``)a7R at V#nz<yxM7XXE!U|M7o=$oqKyqkEYhJbeHC1JL(hqPo)5nH`OO
zuIS>us&*++8(e{%-?<1tu=*@MQ9rx%OylbV{};@PmoYvOhcb>C(}P^Z6ou3?o+2$A
z<6#^%`s^8s&bkQs%5gbNG0&*2&&Mt>p<-63i{V_*p-8f|LL3cCa2`UMed3BCEh()T
zQ-Oi9X2cmDqX+I^{THZzI2jIi$T8>lYA5s}n%EC}J?I}dR!HQJ^$%Lk1lOZR1puD^
zp?}^c3W`p(*9FLT{WxQ#MUMNy`*lPLvHHuw&Nd<+xb@(J|MMvod)F-VeB9BgriD~O
zqGh^ni%w at sv(JmSqVy6kUs2dS6(uO}4&%7kLXe85w!CFbD&@uc7BUv?>m7%F at QqC?
zNSO|<=;^{>&y~t4wr3e!4ZHV4{a=^4rOoB1)#4=)F1D+VtB>$}8hP*k?Lc0v0O~o9
z^dEOmo_DN|{l7*_V%n9`!3{H#MOPm`6gh at M1i+^Ba~OjiZm3CJt>HZQf2{7p`&lO5
zS#IizB$ZbXQAL^YQ<_EykSKnJ%LzBXBNR`b4$#R%(vK|u`BR9#lV0SX{m<GKVIPwo
z8;z#%|L%W&A}eW7H?*I#5 at WQNu3725-~Tj{ag+Gl{%0lT<NZ&Ty-;}vF7f)L%b&70
z3{WPYQYDDWvPtXX>W`ic87sU2?SIA+U$RYLaPpAN1)y+Op44K^B*bL(P4c_QG$MT3
z8B6~3!UsGoFQ?Jrd&U&>dG~zFA=U?ow?*h=rslm3jsN!lK>d?QHulh<GM%C8$a-ob
zp{L+p|5V`+c>W*#GnfjMcXYMkvHyb_`7OgQ^&e|e3uhuv>DcDrGf9navi9j`bZeyK
z0&*CE{HGFb8&1 at jHoNlabG7IOte-_^DsIHkB&z$!L*uah;~M!b1^gt2^N|-Wcx8is
ze*e;kKe=hILwD6Dtnuz`lL(Wb1k3)t{{4hGUI>VnkMtivJWT)5zcm~Vz+bL9SZ%;)
zzlRL*Od2EmRB}*(`yxISEtqbqGU)#`b{1?^g<IFAySowTPLVF9L6Jrf=@2BOQ&K`g
zQc}7 at VAI`-NF&`LAR!?o_3k)w*vk2??+<vnS<f at qoO9e`EYSX^VO=vqUzh1eGUEVt
zsy0b|T3XcF&lDo&dU(rW;Q720TxfRGspu6S5FOY8598l?HrrXQ0Lp&?``;JJ+>}<b
zHx5Nv_ge3=-lbEBD6qVr-{j&g0qp<Y{ptVo!`*v;&;P4S%Ztuy{wawT>t4*qf(hze
z9Q0<=@fmy%cP5k|>Okx71_)-mG;XlT5dQnvFwBi5+q+XK)@NY$6&06<%{}LYWhP#X
z3W*Qnr=$rD)+F0_t1bl1Ry!jPt8#;06s-DR$%6T}Xh-C-$y}1Z{9oYwvndVSJ=+U_
z4JIW!o8>)TaQ=x^wncC^bpDxwEU=#QZbRpvAfonFKM#vA at 6TGMT{4ur3|Tk6&+2sM
zFXTSXutasw22}qsa|o>Ix+cd_ at fekq%*HQ5$f>pZKa7=pM|m;a^B at 1$Z+Z;G$y at wi
z79kAPB1;0)qBPvO&EhrA5dL at caoBDA@BO>b{O_vq7IWRmpoRnMgA3L0opG57QhNfK
zCtiLQu!_QlFaMwZFJ&d0BT2CTYgQoXFaG6^|LbVUq~=xcZWJ2aa{1lWkOeURMH}sL
zaEt$|v3U7!{})MVrbT;<IGL1n%ty+}0a)a*$1=D}LzFJV_~fTd*Zwc^JNkiMQBi4T
z`W<@OVFlaH`U6}pqRNF4&+0u?WwF8ekKY6%626_1c%b7Eg{``xW`g{$ko?EwxOL-6
z at u07?t&GFZs}r2T{?~U%%EGthKT={q`(G)l*CJ#uEMqR;HnTM-jOLe1affQ2ST07k
zpcmo%Kv22Pf29B5=Y~C~wt1N`dDMtiU#w$syi(d+P&uir^<73JZ=UFJsj-s#hhzq=
z=Gm*H<mnMq%&@}~9F~GT%rC}{xJyL`9S>vFk7o0x5jxC4`Jde^uJQywdj8gbLHgeX
zhp>92B)i@!E*4v?;CT_4f1SGW2iH?5{U6vbF`_~9uTCj%bYc;jU?1ydSQUSsPEfB{
z<a%n-_Bx{kaJnN&xdqAp(Rx83-RF!Yw5BSuIx-tf`&^@$0;6y2wI3r`|MiSU8q^i{
zMFiD<X#F?o3Ge(^@|UlqdILI473txB^k2Yj`tK+gwEnB3t=Nbo*xdYn__vTJ6RPjd
z$=v|+=v)n7b(Lh>;dSAE^k1$&`Y(Y!b5ra%>3g_Bidhk-u_Kneufibx>qh<|DF5zr
z#fj at u9%*WT<TGDZ17oGr6FRxt4?Ic6p!;&I|AY8f;O|*a0N(!_{4<IY!ET?CK<Lyg
z^J-+v6gRH2+}igfIKxNLW9YT02GbD!F^DzaajsfmRFN^WSYJXrL3x!Ql>f#<F&pz9
zJ<G$`wEHej0nrE-Eq2&J$c_4U=PbssZtO5+38TAA>j$y#?vOwJfNuzcQIfE((uEvU
z{-tD22<LO){lBsQs99*4cP*^r$NIK%#b?HQ!CU_5jP}bsul_L^`kbi~5rltK8E%?*
z;YCREjFLWSw-mOlBW2d?9a{jV at d~x|Kxw+?=XodHon$(&{zXKnq}c|#|2OmB!1~vv
zrlDpIwj1sg=?NJ*@&Xn_|2kWtxkdkalwkm^e;o(+Xa`Dp6AksnT8|=E<F`4S5e#p}
zEK*L6U~Wv>od2VL!T;>$nH;SR{!QtaBJJqvVem3OJRVjjQIwNwlPL&|$E at f|tg;k;
zQM1FHRA7H-Xu#Kuw+hLj4(s at vjFnmU8Cl#Q?JQ^06<IrDg>vDa_rGMRLz)ZRv>@GI
z?|=3f(T^>*vFEsUIhMI&|9Ss+3aj4o{*RRZ>;3N!f6AvH at -{>M!~W(WTka%F`IzBO
z&f(F#N}@cb$D@*e-v39G4`g7L1B%*zFh-oxA!t;+TFfR3_5Li|t?@d{_meCjuv{h{
zu&0ye#grz_Y%cg>!(XEIjS$Kb{R)4etRcZd^-7^Hrp+FzxccGa(ymZ2|L`j`Yosb8
zr<448|Nlq-?jKfmYIYG}C5?s;$Wx{@fbb9XOVqdV4>pz1{6k}Rlf=Q#Meh5nlk>rb
zL1~x(#0L`=-xpBq_v7Q=wubz}Kgh0Dmv#MWFlf4;O(hxYq?T*UfZ<20u;+ at Y{Wfon
z_;<E1R%HSfMo;VoOPn?SSLV=|vARh{Pu!j%#12`cj+n`y0_;FX1GA}9d^k6`@74*0
zb19|Au(fDB6HC1bwb%TwXNt$8f?@m(hJ-Nb>ZMrbw6P%pZs7bU7D9t&U at QhaPuKf@
z|F%LJ(0wrh*3)bM_e3J4aB&-TQjQ%$xwu{N!*D9Rr+Bz5_Uf2nvo&VK_acxW{y#b~
zheId0O!7e04i~q(iW799x^n%2zU4+ at h&(oM8Lz%bxb^LOT?S3OOu2As)e-op-LESD
zGNGVpX_l3Nea9!<y7wyh>)NU8`*gRvYcB_9Fig<O5A*uoN-;@gs$ugyi;iL0*?u@`
z+^s`vT`=eC+Eavm#KUN`DYQT1A(5l1QxW~8*XoX)*bbUay;7X0^z>#^4O=BY`1gMy
znQH;n|3Cge at b72+vS2<3{rhLMoi=5j(IM6$r#R4bE6L8g%2gN<vY7e~r9ZL5*og<#
zzw~LLce<P$NE#f|tcAaDpAFBV<C*uPrw%&&f_u|_PM8WfawaovV+~by^4RDqj26U)
z-N%wl$v9chP(f`A5uO)*Td#7Lg at poMmD;d0G%Z~!qgC#ucrGQV{$0QS!Sio9`c}KO
zg4;0ur6G+vD)Q+pHQ4`eKK;94_b>l{aDB33Z&}fu+ROjuf8plMe8Ee#0hlWd*E}BR
zVk5u9Uph(I&cguE1bpNd<OH4n88?L;<ZadN-oh)~?*8zWE+ZdX)g|T3H_Th+5fjQ6
zdQ2tMVoI(1!1G0=FKz&^G|z(0e|;S*^f1xCswMZVr25k6J3kNBZ?|)>|LMoNIcWbE
zex3gd_CI-Kh_XWapJv~sO5?L at vh`kJr!ybEQ*f4U?;!4-C3rE)xmxiJy9u)Yq$dJ=
z3VzdFy$@RpH<bwc at swS+^WafHh0fm00BHaBV%4un+GorY_aIlaL+O|J7^h!&12db5
zX9<g-{MiBLao1vg-Ce?o_e4SuBYSvH!~|hL`#&bA{NF+WS8Ev$<-i;LZzMIoaM4hC
zhWsuJH8DG;R5%YsB%YSy3%;<h?_xHU%Mkusv75p_($R(o?#HWlJ({Nsov<kno#OU5
zR?DRXm*#iAWt1n?WBRKwpILJidJcAX);>F8EXI~^)z(nXl)`v-hJVL-V#Es7r%-P`
z{09HH!P<T#&ZM!4kG{1>@SDu;&=b7>R#W!ax at G^}yAFWfe>0|`zcIC`3sP*?nQd9P
zTgcB4F^CDD8h<XfT2@%cO7`FVw;@1^Z{1j4uzthCM@{{(#5X%+-UX(&*3e;n!<$`g
z5cK^2%m0N>GuwGvNF6byX?{2DZgI>KBCMZ-<bTi+>Hd~qeG8R;E))J)-Vj><?-1*s
z;DFb5I(J?@nr$VO1bB^ZZ`X$82k!}l21~QWL(V at 6Uf%kq<UKn2Ojv~Mw;9A&uU1K)
z)|>uX8-guObmAOYFNf^^b}dC;w-z}TS0P*lOcX=$FM)&{QHk>1F>_Y|Vc+gEjDr3D
zRogMOxB373lA!(nKZ|K~$fucE*qffDFat2!TDiYUIq?z+MXzsPR<8LqUHkvPyu_Er
zD2UHkL_Q}}==dBrRnXIZVf^ik6}IG+2kPQ0GU+NFKKQR at Gwv3yJnIW1#V5LHIfcz)
z7SqlGmY?3XXuqJGTf}>sH&7(G1Jb|#_<zCt2N^j3zYf(<XP486Gz!9hoG@(_LGvHU
z^}zcKQx5ExZt!1dcw4235$!&8i{p193Pl}82VL5uMgWfjONSd_p2k~2^lwMr^z_09
z^jU^p{7V&$xZFPrXe%eT5uXgOHwoNdclCO*FddNo!=j{SeZur-)fp>u7JwN`LzOaZ
zpd6QK1a3SVH2(-i)&x6eo&Ac4q7ULQg_~-2_)q>vQafZ`c-z;%Ws-}xC};rQf4?WI
zpt0o0zxcy{fcM{^{Ig)_{r4HK at m50{^|Lr^WNq4W{3SKw at fqT0r=P7uN?}Zpj2j^5
z-}Xmt=tn6N*O0-cvAG%%Eyt at oJPc7f!iUZY9^;%CBZ3h+JPr6e)&y6ILrf*1RvQ?>
zb>>LFU#x9P`5z#<2Q??Paf12p13%-wz&jb)WY_%fpZN!dl9)Nn=-z%)S|Kj0o4Pt=
z|7V7LEB}pK1ik;$o2H|A=B0C~Dx9Y1v4_whI+ln$tQ~&tW^v at ql?t={5C1LGcU&Fk
zoCnh^Zc2blY<ZBSXpS_TDTCuiNa{OoN}iMv^0;|D48}5Q)hf+1YC`U9GBL$Qo&li0
z=8*f5MVO+jRag_w7Hh!D&azg6w!lJgI$mg}e<=Bk#y8;n*VB1`0Lp*3ng0l`=UwQm
z_{xZ$sS=6FRuX#{OY)$3_CNc-)+hm%1aaW=iWLUd^K1Xp@`DDks`~yj+br7>KY>Hd
z6K%}*)VPv^E9;geWC-iw)nkzUkDYz9z%v<+X99Oyg2ZIpVpwwMr1446ysB<X2%g4$
zLy{L%!b+k?WCt=l;xAjpa84~FA8#K_!`dIFeed0LL^plov<KFIxL=<7W|JM#5*+Oz
zC?uA(-^@P*&kH$jk0Uko-rz<;^q;ve^|$FioQ2T(&(?xU(!`Q=o{I^br*Bfhz4rOt
zV|dM_OtB=EaPBnuvj3s~yeC7Cu^k|t8Hj0j@<xKM#Ee5BphE1|eM?Vt!YbCyBZxn=
zgOuIEQ at P+Xg4vjZ%95}J?9Y&Lb8Gu2Iwv0|uy~${%Z;gO(Mo~$|DgTP18<kU(KZt@
z(#7a*>n|?%AoI`3h9;{BiQD!513dp&oH6J?&p-TELtkqnpVD)0PczN15)tC1&dIl*
z&gLP6);GDR!-+%k4_a*eHgnN(%_h~NK;Qq7&UOdv!<w2>SME0^k7_B;hM>NTZq{XY
z4{$fPW3Q5Ta|_Paw&tkS)T_y$I%lXUxy;t$`ohxj4vh*HfReUXwAavMNa$yV{G0Fw
z{{rIwQTyV at oNA5BvsOHmPn5D%!2CZ9p=AH9{688r|Br>za|FjUyzvPJt6T%Udd!)!
zYbmPI<r)0N$sJVRZ<p8nzo56TegE78t9{>z9Z#6vufmS=%PhK#X@|W0q<dig;XMr-
zQY~ER`OLrkgRvg#+WBtS=cVVlwa)k(VE#dow$k=C{y~Zuntxbz_P?U5!*^<|Zg`Z%
zux&(_^mJDMefVnL4PgTHQB~44|Ipq>3~!VpVQu)cF;X$*0Y};#a(SBlo}+d?7F7j7
ziT4NHZ5!Zxf^viZ=!{!c`V^+{`c(|E?-t)@>=msaIZSRX_2a5fK>KVc{t4uNrUbsv
zZsfmhOXU6f;up75!_g5|H&@dcmcwuCI7IkB$QU3MSfA+z`TZsYS<d#0S%5ajeZb4A
z^seC-uMy1KB$ZgJD_edi)G0A%3Md(ReQ*fg at bjz%`(Lm5A7tjI)p#(n7V23-hb@=y
zB--Cva_vTIq6&iU6BPdh{Cfd__5bvG|6PBFWd^%Khh5Kk`_NM&Mbv?X!+QB+c=5XB
z&sFz8wt-{t{yT<6u6a5z?GSGm{ZI&3C%~4!pmV<t-tSomg%_^NeYN>6Z_xcO(Ti$+
zT??K64eo!UP!xdm?>Isk#%;bPV1o!}AFTiRpKk!lp!Gk|&%pXuqXO*zZsgy$eE#Vw
zkDrRKTM#vrBF}|T`kuQufq1{=b&~kDt5QKeB>(2A4SM+Sm(8M2H6v&Ibo4~=^Q$XU
zvd!cYR+h&?IsJxi$cFYvd4KWGApVOD{?4<L>_gglyH57-M~uZ_{_E8Bld3c{|3%gf
zeE(A^$DsFI`~M~dH|>J59>MZ|uUO924RePzmCsB8KF?mfn)uT*nhZ- at NdHq~MR7re
z;8u(gz594_gp{N~g at kBqgaP$8_m_i!HkS=fx$zhuZaPGv?q)JqLZi9xxs^?JeE9J)
z5x>DQ%tcLT{lB$golQm5p+zLRBg&p_Eq_zO$c`A?|4TV-&ozL)XZC0R3GV+t56zK7
z_y2Uw0lOIqy02iWL`o?!hp7xHvfnv-+mT8u`!KNe;)Fo>2a(q45oWB|sv{V81=y7c
zdm?LK!xZ+}zj9|4T>l*$3$oIL4q0v2>N2#U@^1~&gS at vBIA~sSNY3qT559wZ|3P2g
z^|t!YssLU8ziP>53fONVKS_NV4E%R1yIVeCNNK*G6VPRAdY#hu^Sb`Kk<ymHORK0h
z(z}!rYRKrLlWB3B)4xsp1m-`!rSf}_1@>3?IA!11|AF|ArenT<%;d$f<UIm-&ODR5
zkncYLHhpg4KZbJt`u at Wn!O5hi5hYPnbL04ohVV&QNXguZ!JBFV^CN2w^#=R at KmG%Y
zadm7tA-2D0navNS2IWJ+x6L-SgL4r7j<)s6*h{3%{W8yQoRt2?{7>G`R`(=Tt`cP{
zUS2hREw@|`-2dlCbW6P8U%!IN|Kk#HPdb9`|9Pw5gtz8dX2H-<J-=h3O1iDcdWh4(
zrAoq)spW)~O9at>Ik)1`itd`*$&ZC=PQ4d@%*PN3L-xJ`6TurfBoO~QEiRp$VSp_U
z+-L_JJdatb&%3=ENzn7RF|u!mF^+4B$%nfCApUC`7H8&Hz%TM-Z-py?={!=1|502@
z-~sSFL*<{&DvDlBK>Ht`=%(vz*_6S{Rb+BaEq8I{&z2R#iF32bd;M&Aow8K~*?;r7
zh+GnNxuir!3 at Q!95Tgh^JR$6lVRCa9{juNZ>oi&NuqL{8_pVc2`v-D~QJ;~Sr?G7i
z{#WNY#V*MIb<KbOm;Vh8P0}Ko9F;^NE1gv8u!i^_m^CzR<A2{6L-W4|W!}eUcWA>0
z^ps6j)3J8ZNw at Ihv=qA&m9M&jSNU14`QJg-*9iHfepKg`ZHfopk?9}(+ZBhG!sqLC
zI~ci_l^X+S>M>iVT!~F=7m&jTCY(bicrCUi`P2=~GjGiQ9s=u4sun?+?+JP|-bqw5
zIdk#&f%E^xNk=+Cy!y5O33UE}=jq{J`TwPkL_b_xD=_+evo{A?g7Wi?NE96D*}RD;
zUXN-cq8>v0A9R3Xm}0e at JXk4;VxBImUuONyui=hZM}G9Rg-#uJb4`ag$EN2N53~yq
z#`bJGt2~S)c>EkR{|{mlJH>(X-=XrqK=XgrX~!B$B=xsFB5_v)_q?x=`JZe>qyT#U
z|6N3`P%`w__kRetFZjYDWTg3sR%+fnHNltR`=KXi*-?<XB)~&-)ME(oe*;F{#BwDa
z=AM85n%%=wH)>~Jr=L7jKCvL5eWDJY|7+{aCybtM=6zJ-ZpxJSP45rpU-j6|c(^zc
z6aVF3_bBlRhMxsl?=<XWRLbu7fcaMqJ$206_}7ghX#SN$gWBcZw at 6<hO%I`w+F>{H
z-*dLbv~ckbrq9$UN>6I9`Bw+ajEpQP*XS~hU-eEZ`qY at FaZSOsZ1vAU`M1T>2A;HM
zICOvUkD&aEk*hv#ek0vfhVvLIT*)Y3aR0Z<1M>g<n|~st_gDVO%dQFJB~;U6Mpu!x
z7kiUc>Lx4Y)fMf at VmQNe9+GJPJO2a~$EdL>F%ir^3b?~^=3{q2=bu2ne}xz!UCV$r
za at fYNR*8pK3g#bmz4yy+;~#^4q4`HIoTS;R^m0ndYWeRD6wh&Ct!yg`a!abs2>5Eq
zuLSF^`NvM0zW7xaf+^WaS|8symHn2_3LZy8Kf(N0+B<F3#?;B9VNm}Moqr;|?S0PH
zHHBnrb8v)4Whw>se;OeI&+9GuCzUSH{?C2AQITYcb|!-}Gr)fChtoOxUN=&G4ZG!C
ztOdKkU)%pX{{-Ecc}2~K+aHwwWZ^VnphZeP6U(lKxF!dce<rF9%Vl#|d0I?Lvv28D
z4gmW<`Ir-s+o1D5I>HOM1pLOJ{h#ZvK17D(_vo^=x|J-D1ZeK2iR(L@!HWoyA}@_Q
zr8q<QXSFv}8j}{0$X~UdKSdGD5)T{TOv=#;)z2N$y+ra)(=|Iu>Cxi*OaBGwpB8oI
zI at ZR%ufsE^1xvSk(*Y4peo{FW1EJC;p!<5A|4Jv|e+KNQ2)+UTzc;>rCw^M4Ii{g^
z;eV#8)QZxRS^M3(+bPwm?o(<;nt7w_CdB`1Qr_rc&ztEjQ(32V--suLk<g0ZB3{6X
z4XpoelBDTkoon2Z|EY3UsP0w&2W~VX6kUboEnG<c=Y1RD+w@<y9%%g+rVXVEYyT6r
zH;Xat$3^OUDzId*`sY1M-nEQs*t*-=|KxvueJ+;}?`0;`-glp*QvUf2IREew>;C~z
zO9KQH00ICA01{pEIyA^N$><sa0I_oo00jU50A^`yWijl%3qVxW7B{|U7+^qDR8;a6
zK0{LiMFlklc{nI4Dk|2fyoQJJ7-4v*BVu8psi9KgGb$}DO)537T4H&-)U`767O5qg
z7QV?>_=0b(z0a9*&M+Kcu)gp9|M%!&pU2vJt+n at Wuf6u;>=_?8K5Xqf_Hhn`5I4e(
zwwI#Es at t$@8#s5{6H=rg1RsSu!U at DGxGoQY=j{lwh3mi;gpBf05IeZu24 at wV5RLf2
zxdP7CaQ27u2$4JNNXynr1*Qk=h&%97La3j~9*ohYWF)5OLQ)L6q=&$$_WtEVgi9BB
zg#)oI$gbq#zo`~Z1;=3r7Xpt`OA;vSk!+MHg{B>gm9_M6^Q)B{4__>b#`m2`7n*SK
zABC8u<R}Pm=XFB*it>st7gF_bF$U*<Z%c2xxDwL-HzykBvo{Ixwl$-#VDx!4Olu=>
z@~UC<tF}V9sLbe(G5Uy_gY<SA(C at 5e^v^({?lY$^W%OHWD(I~i=%*@LQu;pc5pr5>
zMqkY6U1~Hmo38-<2TDeNV<*Vp(u_Wr(HA_7p!9n9yGh09KP>@#v@)aDGy1A~$&}t1
z@}s3aqhJ0J<eQTjeIzeWo=KjrPK<uqUP9D10zH-)31jrJHFN2kjX>|viqZG at 2h<Dm
z^!*sUd+kC>Uk>Ni){Oqz0Ybve^*wfv(ihd1Qu+iq7dbQf{hva9I-2J{qj!6FjM7&C
z-35;Rg~Nm-nafkc=t-?BD at l<5pY0g^WB^;Fd4A?H`YSb)D7_2PyD<80|03j;jXB=#
zQu-4$@7d9M3G_d;XY`l81iCuuGy2L0TPadpAwAoUjDGJ?pfkstp3#@p?4k5NSYDkN
z{d3<El5d_rC3m^<o$tVx at 6^tWe!_9Uzd3yYqc{AylG3jLF8*B^eW(AxYjgU at yBz*Y
z9eDhI-J8+>_9G#M=Ja8V-mmsJrAGtQ_X$S-;Yp~^4(9mb>Cc(yFLLxbKZDIRuU~F=
zx%%GDk+1LD-5LE at sG|MN>75z9drc6fF9-VG{TO|RUjc{a@)JhCqh>076AttbpJeps
zE<p7*r?0B!?1|2iw<nVZF#7i^0iPmzY6L47eRl0@^i4i;^kDQ0E<=3t^p7!m?ZbEI
zn=L at M<S9lUd=2DpVP0Pty;JR{^vx|edk<vvZU2D$F~_IpU5@@66a8a at 82v9d0lwz+
zRjj^*)f7{8O5krxZ$|&_9Z0TDePQ&4S4${;5}5T*1~dB1yI at bu<u76O<lw_4ls*vX
z`f3>c=m$`K=J`|1(yzM2+7{>bgd~q;^sQ<MdC=0#z7^c#?Asj`Z{HTpX7nc&aMQ|+
zUeD;YHFmV+*#abwMKSufRSM!~o_-jkPpXNc^o2nGNi?HRvsaK}bNWa|Z>X6^=~p0r
zVj2BNM at Zj1|NR(!cFht>pAYmu>lnRbO9hFoQ@%X?Y7 at OKp3(o%T4C}Pg!;wkN8Emk
z(jS5RzM8=3-)yTOXm0(8wC$!o6r?+O|KRK4>aR>r#Jv~YX_#5!Ov4}#Ka;<O2j7<S
z at gvWUki<7Xl4d9(#qs&J-P-v3%;FoL8Ydh7nY`0k;`n^q&&R(KpC=pNcNUTA-?C}(
zho2uO;m`X9eEfT>UXsN3`EoqHZu`o|^nS#JQGw$4ysuDSeDmXJGx>SnfseoK)ILf4
z-A7mkCoJQP{wG~*#PLI&<l~zkgTHGji63T`f6ltkWaA&mS!<M(pJUVFdn(sR;wPEO
ze{J(=N&IJ`rJnZ2Vh2h7N1B!2gMa=i%YXc<n<eFc%PjwY>+(yLTzt2xos-4!-OTtG
zO#S4BT>R7x()@EXt3QFAK9h|f_2R3U;`sSy`5!j)&6~3LH^biwv-lqK4&Ic@|Ka@{
zCHY at q7C-;{Pi6U6^j$hm9KW!M@!k67N#gUqkhSpx&Fs&)!G~qz|Iu&rJaPQ~X7R@!
z`bsu_@$@`*ar`1P{kL at gx=Hbi&EnTQ|E+9%(nhL(l3Dx at H78`_e{p=BME`9~j9*9p
z7Si}b#&^9f7ysLz_Sj1D->m*EAF7eWZ}o(|1jpv_bIsz9p7YQme?ERm+CL_U<9pi3
z$LH-gAO3s4pQQeTn(4psXsxXN{%@5^>{q#2{=a+E?v6PAXO~+@<Tr1>9+=sG)ij4Y
zviLD;e at Lt5#rHGgzpqoPCdDsqW_&+0`IFAHm5uK|XogB0Kh`Y%7yj)Vh~Gzoza65n
zBunwl?QiKaBJsa=F)cVStI5UA4rJN~Gc;>vf~u<PHLS;EPZmwmcjUuSTwE3WGZ(Zs
zoGI<)#;{f!S;O0c>|4`<%=%2Jxg+AGAhsmGy}KhHig}rjne~8ktt_uxj+Zm34soWu
zhRm{#7wWY~me<KFmcfq1WnK$%|FBYHYzD8Bvb-)ZUTzL#^#TVn9Q69kN?tv&4<yU$
z0psPYAcJBQWCHL~&9;tLFD$bTa=flHUIi-h^%WI)2zjWPZ9O)EWqJALusl?g8S!c|
z8T87ZZG9dl$nyG>>6L3sB74}8!@%pS+0y#Oc-cYtX?MB$g}h#p<#mhkDzPW6YwgKc
z;N=u4=7l`MTkv5+<@LTSuT89e`HfO6=r~H@|Hqq}Ff(4R9T+bR8{&0bme*LO*Rgiw
z+zJ=6_UJNAVWhOYoI9}c!muH1+>zzgA&}MOHpFnY4f*l&*_soPjkAZAu;JQKj#n$L
zywv3388y*Bd3A`g-fj$+<y8^DI&CWQk3tpIOB-dKUdSs_me(g7<_W3ZOUM+^>&+<Z
z?Z#4BUIQ~3HWVajp_23hUcW_IZ#TBf@;V*OY!vwN%fNg9uRhV%@xt+*f6MY3k- at NG
zNA^8sPr`v$w20Rhg at W?n!-n*_EX&K6m6xY8$&PX+zkuz1Guk at 4F$K<+u5!HgMDT6p
zv?GqB73j4*M&LD>=3V1>Q5?$hV*U=PQjy+!RAk_ofn$$}c%d`prM?V485>CGXyR4(
zn1(o%=M}~DQjnjQD9JkDRTwMfwOG|SUNhi4CC at 9KX=g)zn`A={0<TD&l-EH;<9JQS
zaj?f^dByVe>+RQ-WE1dmkCXB$R5p$mPO-iu&x@;HO7i^`CHW`tdSJ%O&`4g-;GB;<
zFCCljQIL~o6=WCi`YK+^E2)vZ5YVGL$?}R}Z6(;=5h}7Bv5_F<)whwna0q6-EUzJ~
z{VFjK&z2eFKVawQBwA<Z(e_r$^4iaAZwVon421YVU4B2&dfVHjvm7snXIYzKLlVkt
z$W-8UEzx at 4W~3}H!UoJe?Z`HJdvc}k#*l$?#Jm)oZ^pt=qViHUdG=n-%IjE5^6|Eo
zq#VlY%{kVWSG25Nm4t7<@}b=bzVcS!Z*!!12))eqe2Bc%GPd^xSzg`@8>O~nXlFap
z8p^BxT<gjUdA%pg>vkHmhe{HYr6e<fSK8dh;n0Q<iJy(Uj>+=s#`PVP<lAZm84tYn
z&9%Poa9fs_%WU38t$kTRCIYW}bFKFeUAxHfI%Htwr6k|HrX;@%Tsqt at N#LcV=<e2@
zSu1&7opG*0mY0HIBg~HEl-rR~(Caw~FT|gl6CXB&`3PBFiJV?4a_+c_wC@?E`65Z0
zhxfTWyx#~LWt8Q0kE>r}h~3*`NNA8!W0!1Qc{O~vF#oVZN%jx4A#sq0p~;QMd<!#d
zY?jrlnw3|TJ(+jep45VWxJJawiF{{&P&u*<jx6EdQJjBk$sS^PeJ;yu3VZ3<k>m~T
zNL)a#AFSks_3L+8UbQosUP`j<RU6{p;&8BQiq!VDB+(uCP|hB9htsjE94{{p^MqXR
zAfyQNnwDaHpXf<hUi&66d)SF6wsj)!T~cY*oALU(eK#jQl;brP&WW<T_GIz)u+Otf
zq6WS6sn+YYPL@|3tINeo^3xXZv4Pj_RO at Z;C$hZ0WiLxcl0$7qk?LvvHFwN-{mSwB
zwGp<rLY7y%Y{tuh^ow#NkNvPrGeR%Mp_*K6 at x&K=D8~!e1=x0z<MpLN)H5Pqb-Ea0
zH&5!@urXqmvYc-N)slF~^5Vv#_1t^{@Jh3i7p_y=Aj_+plJ76$kri<*<g|zv@)$q{
znnF2V*y!3kF2`#Ii&Cs2VLMdRZUm-TXE&(NCd=y=CaQA~c}*QeUSHy+c{@$qcTka+
zr_JlghjP50K%Y&PS9eyI^)1Ni<t^yA=(#lO$2WG$^7>(f7#m-GQV`HBUF-wc(AJ+1
zJIa)o2F|Z#dA*;>+xhQYY)Bf~sC4W5Dec|lcnwwZeIh)xtM-JHNc2+B7Pv8(M<YH|
zme=>p2XJ;EyY0btfL>h;*7?||*HT$tRV+%biUd8SA`dUL9IG{m^U#jGY5S2KAIk9>
z1m`=lygtq3R~r2Bt&&87UdKhep6ANx`Nqzt$nx6EVcvm^eAj`bMYPtqW=MG*=Xf1&
zMEg}M%WE6gRw_t~X$mqM^wMTn-+uM%F30N#%fnnH(d(3?J at DF`VSV2rSe6%CSAz3;
zr$@G+<Gtq_$xC4&59iAAvSrhkC8J2{Cj-b~z at dAlbvPUb=gYFZ-k8ViJRuiB`nS;@
zW?Jvtd at 0N8^?7_>Z`NSu+w{q at 9vfF>d9igUI6j|njga-gD<R8zy_|c<@w&*31K5zo
zu_`hcc<sot9*5qtyv}Fx_3Ph56vP*J-DpN0&XDDGEtUE6wq)#fTjBw{ytA#>%P7n1
zH&gqyJlKYgIV{MwUavP~dHu?GRS<H2fr11AuY=jvW8;V{uW8&;1UnMZ&W=p{wdGhc
z- at 3ZI7e}{bd5vOyJ!ePq&M61-C-h;<=3B4V=ALrA=CeH1D at m8nlr#^W7Fdss&t!S6
z&E)$;>;F)a>A-990_$z>@3OphWb*3)qW+^Goq^Y at 3&g&t4g9^LwuSP#qL%k<&_8U^
zOSb)DZKa=*oLr(Lqb_yR95>VJB&XNOMqvI)Szg~Uy$Td$dYF<pf?h5QtuL<$vb=s_
z9<Qf at yknyv&cN%LX7Eav<<%pNA9IN5PUu>Z;)T{@zDSnW+w*waTRB)kMxqa}(E7f^
zL0MkcGx)y4#1r680xvhC_4e?zEU%B}@%GU6TSC{sL>sLyuUc7NpPPJu-P;s&K4n`o
z^y<}HcD#2UAN%Z16>TdoHG|g}Sze#c<IC$pO9k}-`Y*Dc*Bn`1d*<==EA_B~3<F*%
z&EU0Cme)E{9=<$WMM{pY)RdU<YQwEdY15(M`c)#!t15%{MLlW>xdrXltwq+``4h6d
z{><dZh&uiVJ{RPnPmcANua at O?)zntTexjs#n3H2&9%6ZQ?IXwQ3iCG#9Le-&9Le%-
zZevT$cy)TZt1TZQuYUFLT8B-OEU&d}4zWN*-Wq00(%TFTny^?r4q!_jbD7bB59Rdo
zfb%C=UUxEifBxwrLL#8N-d=1y=Ix)5<Mju(-bP7wPOu at dz^ihx^=(Q&Szf!+nGc{K
z>Cp<ho~?hbb(qICWr8fPtp?sk{o{K=ZbSV_$h98xDYCpKv#EXO9>ix-58^gEbnN at N
z;&B`1N%5f^FI>d1R+iVxOs|qQ<fX8-<lm5o&PxPd&(P7r at hU!S2piS1yx#F)eLX at Z
zDHJ5{CI6twOT>CPkvleTw_)oX-fknu3l~guc9-MzxUG2}RxYtV4|8OB6|i+Fr7g*#
z_*SIf8!I)#o)dW4lX80n=>qB6Q%_gU at 5M!UzsmC3ZOe~NjJ at Sce)xR0=H2J4Uw_!A
zuWTRImS1n<c27yiv9E}DIntTJnF>d4#W?bEl$mP_k>&M-9dGC9_<VRuh{yBd`laAT
zdmA1X9fNCgWO)tec=aJsZhgp})ea%+CA?I0o`eq{m&rpMgZ)UB7yG7*6xfmxbM453
z-`0nW$dl at 2LlMYAIlXXgkD{M!|BLAr=}gKWYeTMqjru0f`ZX1^WqBQ9yo#MjtM8mh
z?u-8kaak&!Pq8J1R3jG3>9q>ZJXv0!GT-KyJt-ZfCWrg?(qt|b*DqVLCYYE)8yQ~M
zrnG%hj#qDcZVdwco4w|%ko`-g<)tFT6gF>dPk+YC&6c$P#Fp${V>hPH3*z#^rFAoh
z@?rCMdE4`S^R=fGq{W^vO__w30|})nv#=o?4w22n(QNIvUQO;!bs%$pSf+`4(fawy
zLRnrzP30BusvxaFFVB4I^ujfPpUCp^<#@4;Y0Bn(tN9{d?6WD!*EC%g%JIU%rjGsP
zc+F(I3ObPJ0Ue2bP=RLhGU?ptK2a#g3m3*2WO=zg!S~Itfh}_yeq+oR%fy&3x3{C5
zSV)?M!=cP)^K4Jv*wdaI!g0~%QX8eD%RE^qr&m{;g_qSUCXR(lQqfmQPIfx%yTFWB
z1YJ$bhYjoHjNgG<<hfAI`|~psY>C}*b;$nZ((;-r3gvv!hL2&aewEmh9G#jRxRy22
z`z3L^jL at -l;=_h~><0s6*XeQJN!gN%f7p^8-KLGqHshrtS6c94L%iHP<aim9nVnaW
zS?}8t!!Xy7gD*+T%Z8+wLOE=p&lV`lE37XoP+Ky1o-Mh${m;NwD+FG#v|M}@d?@B+
zp6UQNx6AUP%M<8&?Cf1Oq}PcvV-Bv6_8p$*`VP-GqW|@SEU&8>{P;#ydj;tZ^{Zxu
z^>d?lWqHjS&-*sFPTG=G;1#&i`o3Pbr{s8 at vE%y=UvyEB7ryEdlD|@n4I9&Hk%rdX
z;+mz=vb<)o^){uxq|dxzMAhMC&H0tmHbp at kviVSs7aG<Tvb-iUUY?Gmdz>Tr=bcrW
zEvp*C%W_-!ku0xs+5B9<;tD1C8F(eUY`tEmWqA$Z*3JRDF8B?~%Nq9r>v%PMxUnzw
z^-qw6ZPjGzi~B-u6-aIGGjs7{R~E|g+Jp%5l+!CPnP0!r8Tz_8V58Qrw$4V)#iEeq
z^&7*yn++LJYC|5IHM-x8)l$s=$$fE*p`49s__)N?FX*NIrX&H-haJ7fx<2e2oV)Ro
zlc3i#OfMz59;GC{IqO2cStGU^4&1tH7RvEL1C$}l>-Pc7&fAcx#WtjC<@%5=Yt8+6
z8&lYj-S|wFR|LbMpPJN0smUhr=Qppl&YvHRqag$3czLM#IjNSn6y&|tc4PV%5~~gz
zbC at 8@%ZuYh$ZEj+df;`?N?y=CBdcY3#c;ljg2eP!lEk#W!INK+_8k&!Sl<D|hHTW2
zvb>@k__4~C at 7a*=L9Y(4TCZ1)EU#Dx9`i>oD2Wkx?XZ&9M6^PK<aot1Ud~D~X|Iyp
z0A7BtS%<?=96yxhwQCOFrnKv7L%Km-KKGh+bs68Ck>z!q^&Ki&lMWxXrr%e37MXt+
z(9 at ZPD$>w;wr<{XycRm}^LkH0xlSImbhy6A{9Blxx|2rmYWP^I<@>NMofV`v<l){T
zX&w?T4;vc$@<;O{s~6j&1=rj3KV?HaKMEadw@%uo5Xy&za(X=t=Mq_7o7fyjm6Ck4
z$cEVO4jr3mB`-f51(M};KAQJMm%eIC5>K|*Tv;deMgPP3qW@`xFIpq7muY>}hk%VO
zh{N^P&js`tEL&b|lQw93Kl!x_af9;8TyI?-qMaWj%gcsgBT_})eN9C=KzZG;l2;I%
z%Vl|aF}?h3$O|vpkjf83$0lsBju&G7TUlPebN(UpDKFcS3E<mQY_QI^!NFYTA+lrU
z+^$hJ<kdfwWC-vI-)J4LNI0WqdGR~+D2djnB*TH%4_5L*1N50Judn9u?Xu$&O7i<*
zr6zon^<&H3hRS-Vo%z0AzaCJZ><<U8-(>yz`2bm7cSrMf{>?H%_dWP!ll9+M#>?x)
zzU9>0liFYHDX$)zt>0teC0SmD9hhGB<c;s_$&+n21SV`2uf_Voz9XIeVqx>f^o-oM
zOVBSr1GvNQd^bzyvJX0b(~1upYL`o7^{NTxeVdn#vTr%BZ8raA<em*5Hn^{dEU!P<
z{8v~T(!HuRF|;WO9QeAx%MSk8LRs-)LpZ!6%WI2)Z&PrchZpEo^1Ai)tCLUtyt)wF
zhe1cuNG3 at nF>vKZ!blWc&4sH$+z5XF83tA%3 at qM6G6w$oLto1c{M-=m34<WM7Op0c
zaJZffVGvxo!QTjo5ehLT)8|@9Uq`Zuo+Ob};HM)V^j=5U>T1SgI!!4MVoj&%rjz+_
z8h|Ppq!|cLQs6EY(nx~%EMy)*W8=@I+NQwYB>Kd<RH7hOCj8ZdR?<{PG$EBVh#v!g
z4a8fN!pJ71kPg=|Bm>frO3{=YjfYsx(ISINk=Be9lHop+%L!}qApzoKaV27X8af)!
z`n*hq7`kTVWg5guhICS_L?)9U3Q{sO1K)|XL=7~RL`hw1N{(jIRMH^@sXoJ+BuO%N
zEyN$vg!oB-h`CnsMr7-W7x5IuKUZ)3=^$$gTxHX{Y~llQ&IU`FNRgciX{C}lif~35
z3-?*@)C1B>rCMSx4WM^u<<e+brb8M-$YA0NXEa=SgFN2wF9!a_!F4SBMG6lp<v_Ud
zq*sICpBLQE21y10pDef<1kYk=TpdU^2&9amoMV7nbF5+gseCGGJy4%`_!|YZ*m@*V
zq^85W(Qs`54m!|9M{@>oQ{Qtp;D9>%%20&Bbqc*kKG at ozl}Uv6QNR&p902I_qWLr%
z?grL*FX-^ae~}K at x@Lfch_BgzmndqRJ-Ctrzy7~gmlRracs;)Puhj$N;B`8!;qyg0
zmHpT1gnpcXN-Jn{<i8kcItkW}{nu&|M<tDiSUOsN(nVU0Y@#<1$7!vzvMtraeRI6C
z42rP?`a~?loJN&SFvL#*KVUxeMX;SU&{i4S*@oT*n)NlBB6AikheQ*itZ7?QXm2SQ
zbV`Dh7Bs7c#+dQVXy=(e=o6(<-vm>^o at 3K|T;`!NS(@YH>S=jf?`!j(GI~<hl`r3K
z(NnL>x_U7lo(DjWIoQg)$fh+*57%iF>(-?rND%_pL68ayo0cCjz&9HHM#0m0R+b7w
zs<|#cO|(`SR@<3m+FwboQ%{cl1%Ce++Vc*hHoI|tzL!Nm-v^$H{d}awa`1)_|7y)R
zS(h_tz4crlS#M?OBF+$5*5f^$+R_Y=z`Qj%@(4<38l>Pu^EH4>1}QPeF%NwpKL^3-
z3tYWG0xx)?qfchTl?PW6o at 6M<I25i2!S!JHD=w92nsOYZ;6v+(c-+HBVn5;<)uxSy
zyqONy(R2ha3TR at WbhOm#N6!PX5=}M77H$yHka0j6PNss#;Q_f5N at sLq{}Ns}<~N3N
z6gWjca!%uE`Hm+3z)#?#Z4{pn>Jjl{fd)EaDIT3n<17hlWwNQKZq4`uvnSTYO$WZ>
z+8Wv@%^2Fp!~0B55A!G1wN$M2$8n0k5~-|AC(?1{a0ya}H7VDVAng>1hoNtjtYfHe
z6Ho7 at cWxjL^Lu!?#c!qWn&V$#Pb!1HvCdA%(0--9&iG$bM`W>=kwVMHx)H==+V{}W
zky*XfUOyXK#{NsDD2?5Zye!!moSu69thXdrzJVZV3gw7x2)5j#A%!7e$Aba6o*;b?
zv;(8z$q={-u)6<%EfdbgSYMKu#y~puH?SE}47AYh`!#8%Bg)kOYtDQLrjkr+wza(}
zwDrxE!*U8Eo1}>_wl22tpZ!0E>tyOlvyp_^fa?G{svHb{P!NQHoEI8M$H+%pnHRCZ
zJHDCtN~bMK6gOgGZGWAOkt9(2Yi*kyMMuG#GY{rPbJ|*~tLN;kxp&;O*-d<g{SL&O
zp&4_NDHcY3n&v&}C9Ua*CgCcL^WHM8wiX7?k1)46Bbsb;5K*4ZPQj~LDWuV|ur7sk
zY87w{D!LgxYoSH6)>cH(9#axGAJCk(D7KDg(lm5g!ghW$?YGn#PvFKP<GA@)Em&U<
ziUBX$!}O(BgXw4iE2Aul$2++R`h?Mb54LR4R1zGI=GTPyn`t?s$v$lwJ+1XWl4!Z>
zn=uQVPV>>)vC}v at h8|yMjf1w4GXpxB;%wUcVXHN8#D6|K38xl2o%$5f9HnP7T90g6
zM+b>gC}`yPcp_~<6S*0CH*Op*nU0LJKAibzi5tj~Kyiwrxmu7cn2sL?P~U(b?U_g-
zAPj{wSk#vbZFIjej9TFNK+W=u<rI74)#Q1A8SpHD*0Js)-zbWX(x=k?X9(5TK*!sY
zXdE2h#W(XM7N at BtlK@YWo8=iK(ODm_zhRsxoGY=Zq7vKKC|*+_uXGd-Y*x#SOrtYa
zI*8#0Y2nCc3LRsKGR=^gd#vVZ2q{>KFXYCGzfHn1H05acr=xzcc-C#Il~yL2%A7^L
zCaL$?I4k21f3a0%^%iB+akGb5Z`s at W#weO%jptBbJB`{c!{0CxGzD6*0FZx5ld-6Q
zw_1pkNK1y*Xq;7L;}VH<bO`Z~OnD;`m}G7=RW=gCQzcL<odthqQ=c-C8$C?ndL1!l
zSS)%(R at a}-7DQ7&!Jo6g(X@}j?omP<(~A(j4*~nD;d)b;?i9))`Tr9m<$AM`@`C?|
z@>!7Tg+^MUxpbUPSI5FMc6?e$0c8mjSs_7|lt&<ow4I*<DJ5{@31J+KRR4q~j8n&P
zI;K+U0H9&(-{Lr{%xWRlUG_cz?6wB*YMqs3IEscdxfye|)9A=vuw>T3&?ucJQ>&LG
zy5jvCR-)Kr6}JRwG}mKjna4`nndZ(|50!WlBduDkD@~(uKHXT_gNvdq3F<b4T7PEo
z(`m{=irfA+-&Hy@>jt{8`fmP)e;!JuNwj)QAdU7NS^HsauY at 1vH(y=S^c5=Tn;IlN
z;c1P^`5<_MI9@<&FW&jnb at 9?S=Jj>|BWitoY5m21ML?rkA78HZ8N{_dtoJN#cf4s^
z6is{9-gJFzGELQ2Vktg-r1Ceu^=w%FA&|yUklYup265}f__`|9;n9|XKWGs8h;)dB
zH at Nb_hsGF4+gnUsD*qRM0fz8fl}Cjn#1M{a52gAHqBba);}=Z7pb=V*;=g6gKaP%i
z8EC7*``xoa4j(F$H}D!w^J*Z3fpith5Xo05lbdbb=g?J3<~Dw8BW-*Vl|KQlBB)=F
z9*^*}slHcp#sOwPeox_g21(TS;wf1_K#)b#C|Lrb6vDW%O+9VJEcb7X|Cjo=O&#6*
ztNLB$?a1=KU7D%fj2#<^3N;%GFZkQ#nG7jnO%4^6rnyv~KGMEk<1M|VzMc>Kl>mZ3
zeZThfaCO at t8qb@4ox)ptYkGN)GG`~y`og?CKCXGruKL at hnnHV|>>IU2dd0UTyi9-p
z$VdQ{MGv(TZOB|mb+m={$6A}nLbUZklpkA5ZC$S|nOhAx(CWS;A3urCVKuc4tE<y^
znnPFusS-Oo=Mh+Xe_FS6lsb*#CY9RubUMG2F7fvDe<44iHy=;2VO>8Zf$Qb4xfp9#
zSFus}7~0B;_0RkZ^|$=|@5_7a2ZvF8#q}obFXoy=pT^YDHsx>e&PGGcYO3GVT%HrC
z=j%`X+eEX~d)a at 31Oe2lSQ;N{+R6_svurxXEnV|EvWaW|;+y&Hu%6ocx+_rptekg4
z6kC at HqnHY1jQbr7wsJ*k0&OQ#tX}!RW_I~@zp2=={_8a9>MZ6ZT9=P{+V|ks<iv?m
z86~qv;bLWNt(#vhJs!ST6y2G0Q564CsOm{-Yqy22+=?_UBf|gH^=ufNa07os$FJO)
z`5nsUdg9$><Q=3L at yp$O@^l2ep?i>h#U)>4<Hud)K0IXF6Q0{$70<{SYi#jUzx$5u
zt at Epm#k1Gg=D)DU*6l{2ir=2bPN^WO8z>XX>jo)yQ7~DdcmD at _p8Gffi3t&8X1qj_
zv%@66u-lcO1v{87+&+Wm8ky@=M?2{e0%fKp3u$lK7ye=IpM6^xKv(*WhAS_+)(@ZI
zXu&{uI)KB6C-v;{Esh}gz`sSDonoaN1O8qV#T9EMB8W<X`9(<JG?ovQQ&(;^!Zns}
z-ZVaMrsUEM@{E at c%)OR-$fR?1p{fLE*0jhybRM3cfa_zo3srf~tlWyU<f~Kp_^f}2
z at LV?s8}dBA-(EE<tIgc at C=VbGmL+L<YX9!r>>cTQDL*0Ly=8uo2IYmjqfBS=D878*
z5WX+x<iw+N{ghlp?dcgSw<2Dir}EBfG?th4b$GTjxu|42`PSA(l1RGCQ*G^tp at S)P
zZLM+7q^(~><Q~!=_V8MA2-Cgo>63Z+K+?WRTM<iyqst}u53l%NM-bkMu}t at wpYIn~
zF}I^>haW;*Y+Wnc63h?8YcNPu`FmR;VELkw$tvtR%wt)QnZu<?a&9jmll<I1l_o9N
zeO+CMB)*^*zbBqlyDL|&n9j?WFH?JpUyALqVI$a~kaj7^;QsNXt+~IX(mGa4FmkP=
zkakR6f9Tl$Nn5>v9>a<YZ3(G*xOf}fhwYuTRoC^I+<g#!4dE6DD<Qq3aMHSo at vl`X
zy+JYqg!`^mD)IhkO{J1tTy69tYm8XlPeZu*%*iZ5+Or+K5_*vHRh3E)TS7xuUKWTe
zuDWGVV~`fld{U__0@`lpPG(hJV{yrK_RIy&u%A{N!{Pq)x2uge=bp^+wq-jwdBVG6
z0k^U+-;8k0 at 9d<%U#V2TvdQ=}yu(n%@8JYA7`GuTV at cq_p0qcWp3}+I#((w7H71eV
z+il6k at ruYK($+QCIN>+H1Aa4!_iE!gNO;GMZZ`pEbYCUEnX8S$FD<aYc{ke9tAjTz
zV!7bqV!8=g%?{#8cdvp}9_%2!YIjJmoDc6Amc=rP3?qkSL1yl`Npg0G<mWa+=e1zB
zf-aohmS`mY9SKs8cGAPXzQYdwHSMs2gO6M9ks7NDOHE8M=+cOBSZKgFYJkI_A~~~P
zL_+Z~Pu>`tXDpbu)+A@^g at l{{UA`T3dR5*ns5gN5sznU*7a at EicMasjYU4r3pNEi{
z-bf?L4<GKH<xQ@!3eMu2EN{vobS7<xTR|?(%R-=CzX;RIrD<YXcn*VeRL&Y>_6J2q
z<XJh{CX!5A%j^WyW6uG-nuz7LCM*k>5YWJI0Cn4h<&qmcWU-vjm3FBtmh);3(sxNS
zfD at e6a4*KP7VZTsx3!4n#^V^}Uu{IW1ufc=?;#%rT~- at +YZx7`i`z|cd95~9z$s|g
zmgsC)c~d)blP at pErwe!DwYa<x7p3s56O=QSfid?`7RrPt?ofth%y0ttK<CDtG`H7-
z4Su{AvGqnilMP9Mx)>3bDUSW@*4B&T@=<F|IL5OabU+;E%V4>b!?KSVmPc5?@)i!u
zr_HcjWQJuQPREfJu#9qAk7c1%b?de($Iot8j=KLtS7l at e(`IqmSE0Q7DiL9D6=>YG
zkT&b2ZHp@^lRblYD~@Bib^#hpy~{N at EFY_>Adzurvq<T~#d#5jNnmY-1k2mty?|w6
z5zE7-222rT4vfThO)R-{U%yB}e!ociyHF-ANF;`WE|U*XpFt(?7zxh=y=bn9v};SU
z6}xiwssc{c!2QOnZB0CppB~Q68*_~)i at L+EoQf;VhpKG9D`y+LD}j^eg*yS3aP%}j
zq+12=%7GU3Q7Rc`D)ZU9^FZqiX_kQbt$u7*4k5d8 at HwWnkCO{Se2*vk7Fx)g=ig*l
z9RcrpL;Btj7P}(G4wG^Zbi!DufY8tGFx?$60cg&?wZ at 3_@Q&`%tA}SOSFn=xKoXAo
z(>$zz=L_MQ&*vj>|9<~9#`ADa8nDI~0VnF3;MR-keA9=-<N*!(WVf!d`V={U$%wQQ
z_T(CyhUHy$JeE5+t})^!rC}W~_o=6JrtC~x66F9g*kSHf*(xHd?7iU`Qe-ReSrSnw
zvK5$rNSm$TJu}a)7O at QJ`<&~<ajdO%fBZ3q&0398jAhpvjZ(lelg1p&w|;3$1esZx
z3X-!j73ANQgHj1vC}{o*y6noqbOeod<+wxn33@@D5&4~<T{QCB2K3Hc{EcT2&n{4o
zYmB%}t&iG;-qYV+fp-Vt+;^6h*$CiO2G?rmHO4qN4=C2q`r_*O7|FiSi3Gv>O0)Ow
zzqX~nmS)_0A&al4-az99{86rBkbc-_B-*_Ko=sE4&-{-v9_yJ8++W;E;@NJ|4;Sm<
zzF(hQV}A%qA69=xV0w_2i<wV_w7gC&(8hvJ*%g+tTv;K-^3e**SXOrzu)G3jkpF{<
zM}cJ*lU>FQI?tcO{Nr<0O<ae&kn<H-mI><4qy)6>PV0HL!o`#(UL~DpZDv`;FvSQ(
z!P6Zfh9xW?c^E-+z%zpozKn*SAD49np7U77d?<u_0n08H?K0{v$SlPK=9TC4u~~xr
zE~E(L7PJ6tv~`i_lI_r$i1WnH&PAjbYcB=uTu7OVAH_#ldp{FSjw2p{=Mg(4$vrFJ
z0Nt2udjZ=K at U8%K+xROhLtF{7<5#I34^p&Qx8S6^JfCAa_}O(P&W at c)f++v-IsOV1
z>gFW6S8%!<1&q5vyj#Gt{inZWm6wjq;)h{!@4Ju)NE<^Z2+y7PEeqq1I48)C&4)%L
zd+0gKSUz}8isj;S_1NX!0+u6zCbR3<tYhb_z;ZjlFgK22_sS8_aE9%+s$^wP$yh{O
zT%4pgk4ooqeR}R0#IG4uFB_L at +uQre`50a9CsXXMwOeBB1ua7XchB49TlbO~mfPVl
z+6-GJEBGE&?0GTQ_cI at 7upl`<AR!u;$d$gA*F{#lbh;`hosRm4(j8LRn4Bm5H;}H+
z8A!aiQ8)Z2z6z-GO#IKA3~6vo4zbn^<ZyRlSj%nq82B=6>2sgo89vlXh7WwUP$ATJ
z+zQ<Nxz0rVyuhn7 at wQ>l-*|Uapr4^L*#=?dl}==t=4zHvJyW^jf at Lf}xFE$cj>TBQ
z at -}Y)%f&#mvKHEg-yVfs778>ED<HHvqkCh|Aos3DNkn}DzBiC?ui~DD^GMHgR|<l@
ze<<83BwoL~k5R at rkVQ!svT|$l%zTVIWkdcl?L(Sm&NX6RP$W6=ysuH#*QZGUS+P$e
z=)&xnppnq0VR`{C2*uj at LHgo84WvcW`wdQUpXNcxW7&Rv%M>)niytn|4e3Q??%#*W
zTmbh4C at ZAX3qq8EmxJ~dP5r$<9U)&S at CA1EcsUb70wbNd(R1X($1Q=h{8lI;d7mEh
zW+S}Q*ak+HSjd~=9Hxu$K8uesQN1Bdc|X^P;YK(M;k1Nh)dP)EjO9w8Yskmg1~e#}
z>jNfFld;U%<)`~d$CsVETscsBYpx9m>yM+rlz#Wkx%4-q+!m~inv$EnVB{9j{6g9m
zxL?>J_mDF`jGkLNs?L=~yIfE+*9Nhx;J!6c)v|jY%L(wF!!jLTX0p~DUlwHM#;#40
z6EpeQy;KXaF5JHA<{H(}MtVO2WZeQv+)*nfxxS6#>%{#gMe^%V>X3FIoIZ<2Zt3=1
z(V^mw>kiR5tF)I74eYt}5bg_)gRYeeM{fD?1>*dj>+l at ZPwm%EnES~cxg~ZHlOOfQ
zahF$rNmlaXGriy%$7k?aed9BQNN+Yi^Wf)Xid%1ZCmx at vf_r{^2GcC~C7DD*XbH>5
z;JFyfyW!pvmi?v(ST+C+j?bJ&nVM~vlgwrZntHgBPNe!4UY&_RosV5fR^q87_05%R
z1V!{u1>2xs=}I~%2Y=Vnrl5AA1k3&5Ua-qa_1fh}d8n?kGG-cew?R85=%qAi#%qUX
z(#2#YKZbzxe%Ih0(!sF&*)_)gaDDU|!^zXyHO3t;{j7KSu*j(9e^>91WaW`-jPFq{
zJP2Vpm8Gt)9WnE9f at wmZm*}sv^0(weIC%!!U>?&^Qinq9fzY%QAnrDZw}Xq at 4*a`=
za4q)JGx^_3pnZv5ITcivLM5h;<#Yb3Wh{qZlVaKDTEkebhO~UZZ%nxMD6qUn#bbHj
zeXu1oJxr->+#0Z&*J7D(m8%+Ycdm_s_7>D#+ at SqIyTf~4tiR*@0H2MrQ^Q}ia?4#y
zSjPSq--jrxo@;Z>_Z4y=XRUE}ZK(vy8{uBS@*1NhESKok7zLSyJYbSDNd)=Xh^wFl
ziznzJ^hHf>G3X=c#r+zXNju@$EgFBW&1w3~a$j#Zyc;$>KvT{0<?vVBTHsr}yU4`*
zeax!|Qn>=VK4BBVty|RG6L?`3RoXFLrFS1EZtxEI$3Bqq5 at TJ=i{=mXRh`T4WvSuZ
za*y%FbdPoSi?4L`i!Xt*y$XDDm8dMBjjig=-qH5fnb~qzTLq1)fsEduS!48rINKnf
zX9TY?R!_}0&JS8+M1E at GNRHFea3Or%#{8~Qu{<k*I8DPcUnYWGc6lH!J-*z85);Y_
z-&fPOLfIXId(17D2Xa0}=)+ at _gJ--O!Jj at Vg?llUd%?YcWkDJ-mj5c;Rm;2+w5uPJ
zks_S at x8jcGg9Y4ay1LbiyDr3sz6-}Ob&x8Idlv?AaOS at SH?D%u5usr%A#dRt$B1&d
zF{1L at P_SVS7iTN{;++Vwdai_*vA6 at aEOVZ?nCa7z4C_IPJMPNKt9F7!@rql617(`6
z5JqmR;Qr&lTUnuwcy$D>oa^;5+yT7h!@CgZNRiz2&~GZaw>Y8JRmEfZH6{AbuByiL
z{REkJ<-F&}#)FyUoTMiC=i1;{w4lYV98Zph>9Q*aL-APj35X-;MMz4Ewt-^pRHpSL
zgcv#7{w=)2XE<h!aqt at B>FJlOiS*lU<fSJ})-Xt~>?Hj;FM`+4o~E0Ik~JXP2wJCD
z*y|XHZiko`)id!}Sy7knw9UzbGxvV|^@7j8(++^idfq!j+2DH|gU0p*`>7>I0wPbt
znSYPj0ZTqcD7+K<7 at lx%$;XHoD)<<fpA{3klgN8 at +t=odFXP{J=W~ro=Y`Q!qGxpk
zhs~ij!&!bC$4<+EqDoN-i~>(4E6Yxnu7BQ$<E5AiSJUj|?6Pa^Bo$J+K<x3aZq8Z(
z_hP$TRWnJ|;P^84oXK2w9GKQ|L4Km|3!zDi$H~5tY#f;B0vPvmA%aH9O7Bz2N<pvM
zTI3;UCseZ189l*QR?u}ty|{RIny>4*)S1O+lMoLVhXW1b#TjWKbie5z84l-pxHq4(
z;4OpeX`n4&I+*-?pnugj;8gZ0%RYAHw4Njk-k~0aKiBVL^Sbcinb$UFE#~Cd=fRJa
zY|c7y%Cf&4cv|W&yPvMdUk($nT#0!Mydq9N3V)e2v+vjNVQ!bz(6)H?&NWuHP{eAv
zU06oczGuf{c`f8adChxvjj_xBw+|y=LqmqDK1wMxs#6P%)w4ZRr)^X0c+9pWds%zE
zb|^LB+tv+LIgtZkp`{1L<F7G}_&v9_g5=NfP?_^DS;x{v83;FKV(H-1caQQ=RVR3;
z4xVQH%)&DaL(U*OVghwQT&qC`rbpeQ>}ShZ_AwjB=u*!(hI6`r<<mbiIYJ-FI7Xof
z%M~l0<jTbOWf5mVP%n+v)voAHODKUwB$jkOd*~Z-7xSj at Oe@IsMRd<@%<o=57pn8;
z7|s-`aV%ip&z7((u{Dry$hQ>xMzvejV!M3h!B(|^<-&T`$q6!Z*fL4Z4nck%C%hKy
zUeJZz3mOSHVtNs7F4|l>>EX at W&tHIU<&zSO-?C?I$-&cw>K>#Fa8#()gu2>cKIBh!
zwd+p4qrZhx3_3797zR%O|4Q{^1moa)wZjmKOWfh14e73^oa>=-CSw(a0OWF@#XK&6
z^w=Qeld2++1z88rYH!E;+tt^HsFYm#*ls0o7>|JX?rOhy&kB&=0>){d!=BGe79Z2;
z0zA;)9&v`n%ZGbB%VRuLSJDfOk=pilQa^x@*2JIA$vbnnK>nwJKc*Q9>0n!C?KlQq
zn*#aF=CJWME(?A^I=o9=9|l|^6MEW((o%G4rM4GR_52xiU5Rz^XTAsIN#uNtTQz&s
zRqcv1iT*CVPpI7^!SYdfFB->C)rVz4W&yiQa?_L^CqKKFYQYYvF1$uu8)DLnn^&x(
zo%t_=YG^<B%Be!N>jpQwL1_Y(i`TkQd+qvD54*BGJ?%8*J?!$|?`hYEbfUg<!6}B>
z-cW<=Im|M9>OwKQo-XAat3Y~t?pH{wYX_?;z+NL=_-R)D!E<`rxd9KvEXwc{nN9t6
z#4KiK_He)Wvd8`63*f|f*hlo?u-qSHz)<x|{aAJbK9=lq0X!GmWdqz>vdiw11-tCc
z$-Lz><JUa9+{<K_AKcAT;`0`yrk1BTdM{7uZtwy7f?6MWm`B%ag^?<FUcQ_!r7d(C
z<7YA%>M8wI=IFiZ(+$r1889qiSkA4T?;xG`o9`fCxmUe*S&*6gZQNR^|0KvSw6#nN
zey)$#MZm705jzCExZj+XXeT}RIYEq*51>94jP`N05!bm_03T1l9nJ}s-OHoCZPNWb
zWd)>%_Pcy}Pdnbu;k)w>@{}v!y;>plVR-xI32C?xqe2b(R38|sLfn=AYpALn*+TLl
zpEttuEuAZ~dIff&dL!o1KgKwD3YJFh=^l1@*p2|^Nh)BNj$8 at 8bOoeGeGZVJ0MbK~
zkqt6gTw4UsC2Nb|zQMIcK!f(-0ff!Ra<Y=gGU{9T?__1R38N=2xUSl(b|Qxq8bwR8
zU*QLLE$H|S-f0xA$R33oo!xTd^4E=eb$Dhkw}fR5YKtq*^spoMRyyGMpn9dl?mt&L
zh{rLq;a<RUveMkQ=dmovEXCr93tU at olAmuEc`djxGm|d7kHKps_ElXZKC4ta>9G&+
zXd{y2iU*7D0y5J3ualL$&*~1(I^c at OZ!G()Coc4|!&B)0J*61I)kpLz)X^**J*4A&
z4En1`3+bQ?n2tS>j$4X-=Sa7Y)x2L(0`Yyo7s#(i4!RZ=^r$@9hW-+H$x+MxvfI~E
ze_8dlWq(;bj&TIiDxbJl?fvzm?fX5rxY7ap)%z}1`T9k68Ri$c;*y1w3QXViT#UT5
z(gAz=>OR7nh;n|l;3fI>%cTxZdtVrrpm^DV_JM0l9i;1*OC1{O`%$}Wl9 at dhB(M8T
zh-EE!U05j6h#e-qIGbEYJL!Sqj&%C^L;n7^1G#ie8Rc-k9Yn_hz^5(+JSaSY7wVdH
zb)|!N-9!mI7x~|%ct7IKYNJ1#c+bCE0nZP at iSZE!_zroM!ZVjb#+PCj?uWgRYl>UF
z;qGEr&bPn9 at xnPvedS6Aob%+<+joiKY7c}n?yog!;lz8N%PSo$VR;)o7h`z^+*`u3
z=Q;t)p+NKOl<4q-ml at B$V-DNt^hWMVd$aoHN{8&1dV()VYq<Mi2d<A*uvhJ8C(OQC
zocC+PjWI)r*e$6&PV-U^p%}}7aNp1zc2h=PoH(aI(1I&xlP)5gMKu!j9jRV||1H(7
zzQYad=q9q7v+Zu2O)tB>(m_05?DNWA^;2MMQ3iZ&BetagIHj|A90F`PXG?u<vUHs9
zFbtU6QrGyy4!j<ih50Y^w7YT(;vjw at bfr2Aev68OOa$~L^tTY-haH5uox}8=wqx)v
z at 0MjO-?}Bma`~->v0MZ+?ty;s>f8U_SjKPNCzFZ9t#95qeeF3jET8)ymj8$4CSp0!
zgk{|QGnej=l0x at EKv%DPoe%A6R4Q6yD^jb847=3=eSj3~J6Cc!yW?h_DNn^-R$VM(
zzEyp<+UT>hy<KM4;(2Yz0p%b4HqYB#+s={4vK{?)wVk7Y<-~fiEXd3bL2}L~Fv-u4
z1Myn0dqEd=FKEQADK+UO_~Vv*P}7V*hYip7*}Mp1Y#ixI3{X~@9qsL~59bNGj|Dl8
za`Qkc`gQImnm3xFz3NgZUyOtA-{<;b=)dDUd3mA-?Th92I%|V*@IB at wxu{V1EbD2P
z0C7>(BH&l8T&3jaYJ4{BrDI))VKt{?0np;_oF at EfxjxYGocCE@c7=!r)3$_V^&Kge
zuiUnbWw)sUmUjRR)|oDM9tD<fDR?Y9_uk}=Hz#_z-M!(^3RhQGKQqhSam%PY_xM at P
zQ`{ZH^ES9UP6^9j?_N}V)4{p-d9_XazUmte<uCDNXj~i)aTVknh1)bsSibX;Z%$}!
zkmHkC!*VEQ?%Z%Fo}T9(RukkXStkeg0+w$nEY6j<=eY|qZ*oTyCP;q6VI{~d$nWl$
z0H>gZyCbeO6?EC;{_sr_FKE=$PCRyCTzty`aVKb}h}S^>3H{rB9v`bQ|8Aflo_81L
zLwxk%sV(KcLBcrro}bSX_a!T#jq-i$h6C+OK>Sjg9^e*axB_XRt!6$vo7?1lcuXI^
z-Q{g{^`AE!T2D|!9=mtLA~y3t2c`$BL$>5s(%%N>*(=GDHk5|~Wz!tnt3C*NV*2|a
z#4)q{ANQ&g;B=aC%fS<#S;BHLJQrg*5AH46<&6TC1A&Inx$+whk9yuu|Na_xw&MbR
z^8etG%mrHN`<2&Bb>!b8mP2c&O0Zl4?;F$i6J+LBpgu~;|94nA0_(x at ZZj+wH3G{K
zK!fqi9toCjnC$ZCHXnY7pZ+}f(=-A=8|!?<Dv+!iYJ1Z0)y9kt(us at W%|0qMDe91G
zEc%mhb$-R4C|P}W*-)!<-1n+)4&Aq?Mn^H73!!vR0i6iTHx%{FVGA<faM(uW<RuS^
z<kv9dbI+;YY0 at IssA(&#4WjdCD78r=b_ja85YOA}J=1Qru~fnG9c^B14f83~;3e;Y
zYiyWfhd#!A?IEmz;@3mPLK<3-3*|wZyRU}XT#Wle$IbJ4xo)0k<l>hvUPZ^y`FrGj
z8sg6le0|>I+<QE!k2K=-d9IJM>wq at J^D3NI8$ChKZ4(bWpf7?t;~Kdud3ob7j9i*G
z&Nbx4ac*23^?jxz=Ar)a!wz=bHNK1^EE^N5En~U7T8ia^)i)aSmyOjos859LPxG<-
zxXCW_K4sYa<%UA)B{@~At8X|6t3Nl=(!4^;+(YF=%HfLjWIVaq$zjurz-y?cEwm*p
zkC?x49={|9v1_b-&2j01_24hRCh?c?xq#)z>$S^*%q$cn=VTViFV%t_f-anYZPJLF
z|1;^uVY`lY(gSyaM;}Au_putwC35t~>H*NheHq^IK1(R1f%AJPt0!D%+p#(6TX5~V
zLh9StP~BbV{9bFo5<W|KoBMtk!d8F^C#n at 828d4<usJ}?Hb0GDJjTKI{2EYfz;JAx
z&J}`RQUto-Jabs2hbkA+qdqmrPzY(EP`kN$OE82JX;Dr~SjPG(#<J#5%UI5j5wNW0
z>__&WkKV`l%hwihK1Tk-cO*W>1GpF4<w&@1tdH@(gKJmLtTsOR;Tq#c(X%6W1v~qw
zj!@3WAVi8~ew-*D-Uoxt&;FoD(U6Z3$;o%@k at y(iru7)dmV2v)E$t9kyrSw~$x6K2
z at vkE*y3*08&6&Hot7FUGEkPQ*I}BIl`~I!FRaQ3MhYstg>6%Y$$ab%&Z=GChJ3*c-
zCC;^ZsSLHBwh*tAbB22X%ii^_#}H)Z=1NSGb7g6gpWO>uuzNulb_g1AYr;f&@qH$#
zc4qbV*tjgyxA(ZdJ)}dR-_PBNXIZlH+Mo`Bs at j8U#@}1 at AGlu`%-&Pkj{iel2y_u}
zuF3k;)(4)uf0?YT{;UTPkDryTId4nXw72L%$4zn_dl2o>WMw<jiD)1V8#03epe^Y`
zCXe(`Rn0v}$1rfi5`2%e?O*@I7U}VQI9*>iLs6B)=EuWVePW9n6{7u)03Osg`;3KX
zfLy+`JnxtHrF7me;Y-W&eg$&{ETev?L(!Mk&HK68Ff1P!a(8rRGE0%Y?>ig(cD2^@
zg^B#tV(u{6Md8cN>vn#m>N-7YM%9Pq-8_~*V7t4og3wU=jTx4|;jrumd}k?`tk4!w
zSp_WDntc`1)cZQRm}?~H#Z?xmc0qKf at hI*WU8CyUr_<jNVY_o1xLw-umqhqq0mI*-
z5LW3MxIKuUqI>se(%l0*NWAD*NcdkKOyu?`?gL(I?)<}mRZq62GsaWZn|LV3a^s%~
zTRYk*INzk#@nq$#>HF0fXDqi)5y$87SM;91x#?8!FaDFP%vG^><%>O3o{%2>w#EK2
zQZjmg3hVKR?=53_$M;e!7ku9^mcxJs(=Yx0QLkU#H-WkL+sfOLVmJ-gsf<73{!!&{
z|Mu2lIkUE!+Archr;A-xIqJ7<rwccS>-tk$VheQPZRLCnV@<Jw-~Xy4?H?1W;9l%w
zgu{J9J_Z{D<z)sNGT%Q^kUY^4%sprFvu}a~Erv<<LOR0r(FBbMIj2yH^kVM>?MCI`
zJ^%ikf-&=f_mgf5X}7+VXb6XAN4WS}xW;?M?qNATTb`wTPd<%}@cfxpa}0}sn~F<w
zHr%uCSNIJaZ&P}tN&1QH1^NKO6?c*h2|$bGig7C7S%N+D$&cW5+*77CNiO7T<ye47
zJJQM~1nqA)`#!RIBBP;et4_8hxn-_Ib&~B36^waa=1SxDI%#=-jKY)B{V}pnTHYTc
z*I&T056~3Ax$UHN`(xC%XDzjvw>`H6Yzw^ONxxbTzf<{3i6Yyf_}4x=O{>3C#$a3J
zTzeLGXJzw6rMK(Yvj+AQD7{*u=)w7M>dF#@_q7rUmW$whWA>~SWah?;Op<eRA9dvC
zwP2y33p?s)WZ6!e?(5s at C4k#ac`*Hjs6k+5z2VJJI0w*Q^zx<qzxdK$9`uDPf1nJ2
zb2QzjIRIk%gN<)^uNNnBm7Jg9OxM?0@|Ved(f$GT%!d at d-pNGXznZOO(%$K1cX8&$
zEK3;5zsKydxxegmdbM#G#~=4|If8V|Z?1Q*myP$Bd`|Zt?RVH1YgKPgn`^P+7%2+<
zloWA-7wNpp`4WZSBL2~;-o<B2Of+kZxpUSSW0Z1Ou6(#e(PfHa7EhzCSt7x5DZFpY
z`en;9%gS%k!Zb%D(S_HD>z9i3vaDU*1HZSXKKg`2gZVo at yA%a~im{cgNKuGS9)Dry
zN)-H<hc{e1lOZa>Z&#9eEpa{mw?q%2jY7}XwAT(c*;kieOB6WfvEm%+v66m2g{@Ad
z!%AGJPYO=0B(d<WEYvT48{|WM-%o|TRy#AFUq=h{mhAEf;3c-pZg6jL9HXaz<qAlP
z>iH|<ZLMAYzp*bq^)E0pmyt;EzW5QB3nkzC-MaL at eewUdFaE41euu3z*(cl&s!ZV*
zd8ASp;dD>^Le1{<&yJyA0ISsxDhpNYIqg*k<BlSBq{0U8A}&U#%ha~yg3VD!IlEj?
zbH`+BZ#}%DQq|s3N%t+fBl>pL+z1Nmmj#*G8$ohz4U<WJZjR8T1y>FxU4%6}Oe1y(
zdU05<qn-4?v at j07_W{}hZoWDqm92Zmw2G31HA0a<gU>J?K10T?AQS3P1@)P?-AIGa
z_;@2K8D?-lqE9cvHMeh3C|u*dMfj|~eTxoWWO2p&7WIN>c&~*}yl;^!$iVMgglX=(
zSV;0Av}Bj7;kno at pN9K}_IlX}G`Me(6Q^tQd<-9z`S|jSeaf$i(Ru~$ic0wrq5Poi
zoqOr}15NQl^0vawp$zU8kju&_6{0TU;=j~3<VHi|%Qbek0+#J;AHcn2d>QTqEc>YH
z!?GYVH`j5kE;gC`(zQSNLF``8h20Apu|v>{!*U(%%zVi?_-)2Dy0Q<qJ^B_foeMmQ
zN_!AI5z{uDTqQtz?DRqUO%idCVw!%hbd6zJ^@o6Iv9FsS6ioNv`s%uX<%sJH%lNE5
zESFuci)GL249f}ErC9D&C14rTJaWB|6kfNCWmT0F%azv~#`3o749l)nj{?he=SqxM
zJs}s(*VuRA at Z@(5ulx=MMEcR)!dt0N9P%a`Gf!r*{NZPg`PJ)|v0PLWCBkx)ty683
z1j~AOU;j8pT`U`~a`SY8<QCV`3t9;Gf-c;*B~&AB?BApp|80l4cG3ga8s&lvQ=zOe
zT`gRP!-?tedz|mM%CK~$iiO4So?mM(es1LA`TWVsSp)B}+>lO_#pFVa=7_ND#9=u{
z2FpeZSU!J^VY!PLmdmdTSjIH70n3_tu)OcO6w4bMfn_a+<)hahEtWOk^rHP?Kb4Z4
zvZ=wHwEyVBwcGh~=*VD)T{+bWop7Ata1ZD|Q7b`L+`8oi)BRH1kD^7Xg3>DJAcy7R
znt38D&$D%@ohQL^HoR{PmIax4kBOI@!>UPsVJ!sHg53+c2<wxXM%*f7lU|&iucMvW
z3^})#c>$I?evb;F++ODPTpXnJ;Px^P!?p!%G5bb(SI!77E!=~VttT#2q62(vWuX!=
zdPjuiJPyluWUze80+zL$T`n}ka+t_2W13Zf<<fev>}h6~U8)+!@(B*hfse#47n*zw
zjlEup`8|4;=d7KMYDoPD-!N)J^h%}D72e{N=f|<|EQ!`5x>6QmRIbFmxwp~y9aimh
z)L)pdiX3VQ%cXteRU2!UuwOfwp3m0E-d|!{T(d-iWh2~+_7tdh97B+qv&$yQxpf*Q
z`MGs;CM~#rj7b;an<}OeyBG9gM_uithlWc(B6EQ%pX1Hjoci`xQFH4)Xfq=E20(nz
zbiikNstJ>!JE>f`)6tKU90$`9fG6^(=6H(tnwh+5jq&SESg-WT<q#%a<MW1JbI)Wi
zn)t3`Ao at 4xGgZ}<z37@{EUV4zGWvEF=Sq at A>z9G1?6gfxm+Oxj%f2eq`Q+NNwc~8X
zSoT#RmVN1!Pp`UI4m-fg9OLI4(AXBw4YI8d%igvdYggOy>%B0K{0H>`EUz}h^6Exn
znU|THb2dpX#xly!W0}`N9?M||#8^fi?5L}qIhI-a>fiv|e2({{!LqN4VcD1YB~*s)
zBn;$fI+lG^0+w0249iURiYJ3@|4J-t=KS?oK2O at w`KA-(*6)QXoDDktyWk at hJGUdf
zcb at m|UwPy*-$vmxHECbU+CF0?)gQfx;(LonR9eC^FPYjigpSFvjVWU7!fwAM!LlFR
zHwMds%$&a>kzDHIO10qT`!0*yTO!g(80F#gVn-eAqzA^QeL#rw_0%=SNC=DI?1KIE
zE$!`kaiMrETsFm&3*B?bhTNt5+iG_AvQv_gHqJ*`nAL)i(96v4__S9q!q(8;Rc5we
zaqxX7Zm%#5jc&uTaLt^HgAH-UJsKdLst=2d7~(UO;pww}fmnx}={^zRe#f}<gB{qM
zH(lQ!!@}4~hP4rwE%!rdKN|GF`jK;3nD<-(`i@&WEC+d3ockBe#<UOpvv9n{2&emJ
z!*Y<HtEdbx{OKj%oP6g|Ig_UZPU-i;xL2NdJTB-^SVD^*f4Jk1Ws<1N)+eQ=={)qY
z(FBPGl1UxEikvZeMeC3HM1+y6NR(oTO-eFR<hGjT{m<JO{vWFIR#nIR^An_)t4mAK
zB at G&ABD%HV{;V(h_wsu$HrFFKy)YJuqGB_n^ob&(4K*i at PSEew?0e%Wud{96O+}(K
zeN39c+eBi>{=RZmi{P;zY~1zrfaEiakR)9flaVG$W_x67L%-K^{9pb2ML&na2;7E+
z#K(#meeA#dyTub$1iib%b<DZ)L)0K=r0c|qlzV==u=AIlCoa7=Vd}Ezur`=^$?2IO
zjEThW*T<HQ at y;KU_ifGMPOJA<P+1a^vOp;l&F?d>+mpg2n!;1JFF!qM&l`+Jmn6=c
znd5IPsNGW${9#B)?XQ<3*CS18l1 at aiXZ|0hs!4bJKi+k7?1=e3v=B1Vl9E$XOeDnN
z%^Qgu9!%KTDe2-*Yc3z=5{b$%h|>8axy9*s9`6;j$GG+VJ8!wSXC<Cy$S@=d<@tT*
zr!VPhv}5u@%F0XZd%TK7nYy&}L=m at Bd$#^Lu-z2 at JqvbuJ7ry(L=#F*7O^^`*Nv;~
z|8CIUR{n`=eP->z{7cf$HN7w0;NE)sm%jc7yLer_dT6qjf);_^%hN>h+Vrq6zb>i%
zAH9CHtM8}BrX$7p#F(_y^wc=R^u(0d)U5P?)MUtn0RgEghP2eA^Z`RWJUs>u@$~c<
zJlJdCfSA<e7=t*cU(TH3SsS~1?8iZ`oWF2xAKlu&4w2tm?<P6^=sBTi at T$zOV~TQ+
zuWpz&Ju at XOHPxU^PK=F8*Ba6?Qs%O2s0-TY#1w5-V#=U_+B6+xdb*Ci5~Vt6d+ at MN
z_xAJq<dZqK51h<<N+wl(Qbv4YO1gza*_+wXaBWK1ChB(37XQH$bIZ=GS@*_(cFjpR
zMF4k;`Q%HxkOSij-hAr)3%h at Ny*bII>EaX94QcaDiNCr&aLGTqe=u&%*>C(mC;xuA
zIf?7C4QWxPl>cLY>C1_!E`b}LEq(9Uq0oOdD>rmPc4RvD8T#|ip&>hd8u`QLFCKfo
zIqAlwMa3uUQVi*))Nfba>%BF7$iz1vpS9|M+Ghl-mq3>+l=IYQUi^olY^^5m(#!j7
z2ln@(zv7xMwl$s|HeYmjIeyFsRg3q0e&HN-i88Vc2|7_KUWZRi_^x1Z$kKA(&t8bx
zUWqgyWTIHtfva at K20VFs{MN<)_;Q{$X(#HMlA4wrm6W)^MD%Cs9OXlO)Pxsy9=MoX
zyL}^9m12|PMW7$Pcip4{U)!-;JAQMaeeS%;9Jh3RYN}vw481=e;Z+zi at ww66Jr8F-
zH%-AT7o=n&`D4;>&Gu!Z$G^MlLD=mU3zu>v`m|Jz*@V$v)NB2=V$pEk^2Njm#<A70
z;ZFw68uQ+fyPr(@GCW7g8FT#*!Q7miq3Nd_xzBIskhg+P|8ezcMiXO*Gg0K{_lUeT
zY)as3YZH5pbm$hV;3*PC89e5n7neWh89V0Po15Q$edUYvm$zb)qGO^A^Gq~vP3cuU
z`tm6MLwBe2SvK;uMfg!}z{K&Bbpj%y95449cm3?dLc{TSPj>&}4ki;4G&RIT&}Zq{
z<2}pAP296>=2?$<zbs+mCMJusf6m+UXT02cc);^%@1~p!+|Z8F at D?<SSx{&g0hZ|l
zyadbX<28VLYD!6eZ(IC3XAMD1rn{W<%;|oBHs5+ZG-P at cjrP{!RjWSRGIr<1=kLF9
z#V41SNR)%G2VFg}ed+I-?GxHQtvhpc5No{+8G12{-{?C0=lqzJA&1hx`gs4g%%@B(
zuaBok;vk<Pk^=v#(?wijMS_NDM`t7^#inaBGXWQgV4Jhj2lgM-f3RnN at 4?z>QE7=$
z257<3wZR!F({<5dX{oUpF^2TfQEA%Ata^HYnMz1aottjRh}OmpN}v}KW}iKJX21xq
z=1TZzI$a8}c{F at 52Hcu5*XP1g_q={Tge<r9n3$xvcuzrb1rf6a>-=KSO-I)`uW8=D
zP%?3*^Rk6pLC#Ln#Ye>mWSNeh?S?<IVZ!^9KTo$E(f%n~nArkm_Ai+B^Ayh%|AO{$
z?%z%7nv7kNgkjo%1YOMBi5UhhG~we@!LiT=LIcW)J2fQ{f5H_X2`2s32L*XM-}L)H
zGj-XsKY9GX8Ij~<NuFs}?Ww<PQg!;Ic(4B6{XP5pXeS0u!4ei_P^vE75N+c3;lbQb
z0|TE8TKVuf$G}5D&rtP~qEZBN^k?wL)zfA^6})fW&8rLE??@N-jY&<7Ptt{hVT+DR
zo1Kx8o*18^i#0|0{Hb-TKTas}U$!ITwb3@=w>c%C#Yh(nZ<uEKvJSUZns+MuJxm<y
zK^@ANwE23m3wQ0(gHwAQ{~U9mFnaLde|q&{g%g#Y;$<RP_gL39pXKieDIPRCctK1X
z=GP}j#p at D8wRJ+)wb#?b=Z|@H*$?~gp4{!syTH1XOcTwax8ClycEzIcZ}m^#^HRaV
z^g4P5&QFN~gHl)Bmuq~UbjjN>e&3dd_NB8z9#D1DQ)A|eG<jim<U4P@(l_9vm8bH$
z7puNvGy`XgNFu%siTr0)zX^NVzIS-{hrh4mNF-**?*7j;2fq0=plGM>+lBYXQ at foO
zl`idBJUKtSb5G|Y&GXR%GE&3#9^{CUqXd_B`1Q^AzihKV<dys1XZLZmFQFYBok5z8
z+w>9NjhosnaP@`ih`YPG&Y?d)B_;WER(1BpnbAQ-yZ^l+qSwOjC at bn=3svLPuHNpq
zTP_RO7q at rnxlJ8<V#dY})9N#l0FY_Am_)rUT|3CzbI>49U$22$^!K#UX;CRL3Gm#&
zVa$Iv=U2>Tue9;BXkwBQ!MA`oY1(M42+RkWovJrzQ={i-6TN&=_$0LHQ3mLWBpP&D
zi^ZCpkqFL;N$O!=ys`N927Tbcx4I49J~8AqDs^<cq%^`7z4=GqvP%=6dq1fxrS;qb
zY7}A;qEetcXd;S at O<3Jx^X<{wUeT^tvVQzI)~8HQNXrmff$&fFFIYH68}Q1ouvdMa
zu=^94MHz%N)|9+(XzLqM<905Xb^QKQXOp=m-D|ecqNi6mY#2qhguc8k_oLF)fiKf~
zpodBzZf!Q$Jb(J*lRt!PTlRX1$L$w>rF_!o$HXNj2^G`-wS<<5HA_Nwo~v*ea6!L@
zwOc7t?`!m)?L(5 at 9J~L<teV$HJju+4UdX+bTXVz8Tf1mJ%$r$pVf6GB_&zobTo|Fg
zZNLA;il at G~Ij;DEUxo6S6U8iF!1Rc5x;*Fo$HsR&7Q8(u&HvEi+;tpIGZF>Gy-T8J
zl@)FpTi`V7)Lr{;;!Grhjd+WU>T~70dBHDghoznDba4Ymk`|>GbzS$3bKcN?;wyKP
z|Jb=>bs1GUDmf`pFqQ9pR<pMEt!E}~xm+{o!(aCQzzTs at bQ8_C=RB9 at y?=K6dp6Iz
zy|{7gzo_0(nK4PC&c+9cZy$A!I5y at Z&mZ4A6*y-MUx#DG7Rztd4+C3lh?w~5a_12r
z|9i!Dnvk>%F8A*_ZU3yFG%F^?EWH22t3P332G*@tgS>o(!hf at R1w~=d#TZi4W)Gh2
zWwA~fqGAk*F;PhZDObh#%9WlKZ?c86#bYEkS$2!&ZU5G9Z$Y=uyWVhoK$rfdrWvB5
zlXQW)%)}U-zetU^EoWa(+|b%@$8((m;@{o)Pp+{@OA*j?=b&mw-`Z~`?s#eCTI2p<
z9VtmtY?NMPi7s9oxYAhgS?Kn6k1hY@@u#UPnr;x-+zxR&KY!6T{%gBl9 at KN<!7C_K
zOk8|&ym%Z$;h!HqeAF-gdtJJ|^u?+C%OjYnf*yBlMxsGGIVDgVz;Y)fNDHbA7(d?)
z+Sj-^?f59 at 0C9AjVKFtjhG<=EnqUvzI_&QFd!j1v#nPIuKNvP`Aj461a?&6Z$=!az
zRWpD7Y2w>wC;WNQdx|Z!yu-BFv8gfX+H9X8+Vq4(z1CBkoSq8tl9|t0=OOK at M;oxb
z_-7OUURBd4*FHOR?v&uQ3H$dsF8bve%=GkO+WCfPlU1H?7?2#5m;_;>&eV6DFVvPp
z>%LvF<;Up(?~N*STM`vLkL6Z^Az8p%zxH;en{r9ObIa_%IJf@@S22^)2YE at HrXQb-
ztH;p<{}<9r&hYB*)qh}rPm?ymgEZmeL&r}waXNh|py%i79fEQLj}DIh_tv?CxTY*E
zbq>@JQ)|VC-h4{4v3qQYj!8|^4Vo$u>cMa8L%52|Y8RL3qrpq#Gj~i{RCKh?l*v=a
zC#D4I^tzN-T}sS+{_Skm-xg%;Gox4RvQbrIw)Y);uq>xK409zq4LU(OQNyEpdC17s
zCvF73(tl+Cj*~aU(^@f1J0(M}OXHMaVnMe$EuQk at TV%dH_VO46|2$b7PGo at 07+s1k
zEiuMFeXco1>bx;Yb8J=L9-2iTX<q5^X88Kb(C#Smob;HqM7 at BAd57-IIQsSEF)uE^
zbZOZ;Ti-#6<A-UZprbb%M<-_EU<8Vsrc2LAGO&>e9#?46GIiNnf1nNt(m-3TOPi9A
zm~2Y at qqjG`t?1q%DBts?mhl6U7V_OOy|_C at dz;U`IUzS@%!H5f6sJc$Jaw59!(S{0
zMcHJL7<>-+TM)yP@^?v-o;Y9fO7Lr&Qak<LsYe#)E=|rzPfv_WnV?J6PMJGjuY+nC
z#*N&h&W4(AVC+mhC=pL%O8g7o7sveLt1$t4d%gF2;SV1UQPz`q*o4Wm10bOkyb4H7
z)~BWbD%}QpdJfi3)=mjafcvnhv~*5x9?e5WJ~oDqTuzxbdfIqyyn*hx$qmb+Ny>~K
zqD%1rU+Vv-UvJYc!|k(AbQ+}`zoq}2596L$F~T%PGgR<eI?i{Bc}!b6dfk@?Cmeh1
z3kRMiO++*0>!=?u-d_=V(EoPa7dB&3F`EOxzD*4Y4V<0hrJWNycgSonFKrAPGv;i}
z^pFXG6Q{##L$Y2Q3*E)k`P^`wHa$I)HSXzxr*`JwRRfm>zdU}uQ}$aI!)x%DW(YSV
z9SS%OO%)^TLC-<UDmqkZ3Wq6vU$$lA1|&{PkJ6<im`I*7YCpJqX=>nGF_FWJQI*N2
zo}YMJ?#x!@JB1JZ#=ZGQ_<L)^3%*e>w;;h_5S%3ck=l!`FJBw8dzC7}{pLjKse<*2
z)n#gRU}_hn0$zQzL8+7Ba<pcmscx8_2)^C=cW2~uyEk_GzmMHs`BAIuxcDbIF2>ia
z)^A>0+REvzq|p6sqHHxj8NZlDYs?8}6+6u+vfCE0&CtRav1RZS8|KiPlf?|&KK#WE
z%SM0l+=Am}_f%aiyKr9K1HFd~_8w&B!o}*63{i2ZX)!w4zENCMx*=T`l?KnH{+sZ^
zvKu#}*WJ<27L6XaXQ}?%qwi#W*lcXg(GTR|#V$>(dcW82l^HQFhko?Juy^NvIkHPb
zegZ%0Jl~L>m;$Q8wE;929Ecg=Q|OBj?uEok`R1&Xw7Ii=wSoVKy)S{QtGNCjmXMbS
z5jAaT-JTj1HHpL|N?a<-gFF(FAY>sLn at fNM5|X^IB*Yb~{z|J>+|kyG)wa0QqIJQY
zx?-yq>xQkh_^a&?+Sot+wZAsjHu-<QGk2M{0S~kA at ZEe~xO4BFnKLtI&N*}DoHN-)
z1$l*=%PPXMS?vqI!Vd2b&A>;*v>nd((Dy~=ogaCw`FQ)Sts7Ur8s}hg`R1B3d82cX
zDqr0;-)bF$zaIaak2e0Y&-?5V$A9~ww)LIEm9PwJ^y>QUh1vpV!Krh$zK}Y_bM>Le
z|1<Hub1xXKh~m21a at 8YxDK{=0JmcG^-IssIQ3L-wq4c)vOw<o#pc9V1Y|`;@Z3}LR
zb3OU-&2 at hmt}^f at 5E_j7I=!;vZ@%!=cTSkT__{;Z-+bc9C%qf06hOJE#9sT`{Ly-n
zUz}|hSJ<0(#JZOsE@*rGgGqx&ywo at xP#9}p&gRV<JUKRx^h1s#!eCn7CN#u>MSEt0
zQe9QlxVYh8`Og|FyM;IPcZ?0VC_i_O{}#ZpVJcX(c~do4Y<@ME5B&<r_-WySQ0Tin
zd-d$qvsUG3jV;M3EGhEKJn`WXXU2MAZS^`&j-!EkEBl4HZ+&~g9Y-I1Q_ at q<$lwp&
z#g+BBYaP|2Q9Sd5PtV?%)l%Hud&QkUu2mYbs`_$Ywa*U__sCn3U0#m6+Ooio_~OuQ
z;ofTz$g$QS^}w%?{)ZyykeV8~s&@9h2i|)6_|jV!{&4LriSti=_OX!@!8IE-!k4qi
zF7f{VcivZyS~h#}jsIwG{-OK3AB?=jO=VllAQINqYXvVZ+nOz(+2!B8vu$Qd$+0;<
z{p%l=o_+S2c_S{ryv$??cImm<0g~!b4?gvAL!0p4^b7Atod*nN$xWE@`bJ-^ro4ad
z(YNw{bX#`THHSTO(igp#N=;|M#&yf|9sYkd{xJ2Pg(v2=y!OJMS3kO1?wA!Vo}aI)
zycV2)ZKsiOc}{EG>02(He*LeUMW&|ab-Qj|obc}#^RK!3=MNPA#8 at c39BQgJIoh9}
zx*j_5+wK#xZcb{r;^14JlRLeo8*2(dWt@$Ko6o&x<xO8)cvGu;;LHc_+Yw5y_@}EL
zdSb;>OFYls at cn|XeW~s|x%;_!8}(;ussAv|zaGqz#$SKOBJ}dyIMMZImF}K^NrF{F
z>Q0qzO%&qni{nH_f-)BKPQ+69GE{qzN`HjgBfl9Zd|%GCzfZU-PP9yO-hYQpnc?KW
z^tw3FbGk}59x24jtw<ZD!8_ic4fd0|*~$OUXX8ZEHYfd?pT&v6OP%zy&&LU)*-78^
zBFbxV(%*PFPGsHcq&K`0CpzwQ(o233C*1d{w9h5P?APKPQ=n9o_ja5}dt56Y?56o=
zTKWGICw9J~l}`i9_q6h{zH{}fG$Z at Z{y0wbeR{ZE{@?yzoGALM^Znm;V>~`_`t#km
zc+q%3j{SafQoQItB*%VV;))lpBc1nuPR94gJMVuvC0?|il4IAu?vQxVcZT!+czRLH
z&#}kn*{{Tlo~2HC6OWD;S?4?7|M{4B(bC|QcX at ie=)FXxQ_+99C&dfjH7ecoO~5xh
z-gX2W#Gf}Y(^}1AYo?&Q=br_<hv%xGeJMh`@jS|#m21~`&l~Y#=b5=SJlXHWi>f^5
z{jt6AqPfU<|MdI#zSK$I`2oH!Q)$=1LR{I0_uHNK*ZeQuf89xM`8(?WmXlugk9gs|
z!AZ~C8814&<D?J&SG-8S+eyd$8|}N_N&n$L7 at tRS?f!jbH_Cs`d4JHv1mXRKO1lpb
z;{RL;V(@*HZch^83sVz>`%hZ?zLFqX{#R??VUUtOb<$TJksy2t9y?v_P7r+uIO#=4
zCy1h{PI}g~1krVvlm5bS2_oZImG%OjPmV|Vr>XSA=<n>=38MQ9mA-m1;5{utH0P@{
z|GO+FLG;d7>F=Vv50S1~pwjOneX%D&loqP=oI`|InV%rqR;%>gDDRq;c)wnyTacbr
zks#8qbldagXPeNz3(fprLHd#e(Rq_fFHHtKt>~}so8<w`3Vr~1?pA4fy?y*6^zV;U
z+C5c>zut at XcR1xA^epOoO1+<o{y*rK=&$EY_|t)JZzqVXKdbZ(^hew-qz6rSQUAyB
ziK74CDxG;8+IwK4$UG)brVCO3BXbi)*6}LM<#61*MBzO_rL&F(Jf|m$wuLI)$@ZV0
zD16IR+INf)1M3ojzbc(R3;lN$%D+#g4fN+_PbCWXiz+=G at O}8pL{asMO4Cv`<*h`~
z`I<_nf!?R|0^VP#w2SlUx2XSJmG&M6()}SG{#~VcM7?!f)8G3(E}$SHq99!YA`Q|F
z(j_5C$CS|{q-%gkcXuf%Iq4oCFq%nDy1RQYVBh(EeSVMMU)$rcbFOorc;5Fp*Y(_e
zD7?D^h!uuP*bfdBeMwlt54X-zn088>88_<j^REmcyH1_bD=87*<JcE4n$XTjL_W$i
z1@<R0??U~hVaJCZ*~lV#^_LD-R654?GA$c8DgN}|U*5vy$Ig9I-tdTf^vSQ>DHqMX
z?O2jCx}A7m;5X-~`7#GBG|~6uWCNf3gS$x}75zDSjip82*e6g at DnN38SyfYS2X!L8
zXOZ?(IOsB->**^80Z&yq?WI at aluZY-rOyfvy1i%w2c&*RBkTB{<@_lrB9fiG<2gVL
zqzm&klzwTxzQfArl`EpWtKI*JBVVpr#Gmzte(RIA6`NA&u=%)B;oLBeGuA~|-|ML9
z*S#GRBKK)5QIj|y#jYO at Z#lh=x=gCwzm{4F8(`#`P$9ZyH59NG-9a3xkcqcz+;pK5
z6{bYlO#?6I&(|!*^oz$2IMKF~SA<(A at g+=3aD><nhqN+TP@~AsF4W?4o#>7NI)~F|
zHs`z|F0oe$U4YF%n~HmL-iOhMt57LPj7vwVWJRsHi8~&J0d3-j^X=uDj|ds=V%1*g
zc&ZR6%0%pRAzzN2=4o%3d_y~FzJC#9)tUTpG%Vuw{s{`zounh*%k6F;yfahC#>VJ(
z6~Z?X6zu=yQ>4wp0`tT<b*qS=LKAv|X+q#V5 at +1p(<nbgnujit(PLjssknqsQc$6-
zeosmiI>9CeW_WbIhDY2nt~D6UQxtw^8rQ at Lmb~Q%c0#=-fLewXhu;L0;e4%v>Cc3f
ze7`eIs<`a%u#fELBdY(QdyU`6kMVRq4|X^_X!&M#;lATzP*ZQdg{bptmf~>K$fqT>
zgnPIO+qM%aYsQ`5X!OgmCKOqQ)q0SoRdKkk)w0I;(vXJ6i-Fd>gss>U&JdvH=NotN
zyNwyPd>j3&mrWGkUR!EJHk|-TKNjJ3-=ELFJedsOPO>E$6z_^Uxk=*7)V#yCICw-u
zPn!I7&Gp1?(n-u?g6(j~k}V(R7Tcb1>q>Yt<o32L^H~4Ez3JeGa>|`0JwCsjoGOzv
z#?jl3R*RcQb-QcqljsS~Ad%T;UK&?qWZ_}8(WSM-F+3?)ij-}?S?2S#1y=RBsfNG0
zJOx%?L5ezmt4=yT8vB{Nl02XPJ2>jc9(z1 at lG3N(Z)03IlP3hiE{<tGcG-Is3#apg
zsn)CN;>N;FfhUX_#KLK705uxqT!A4j0!#+=cx4*wmPrq->TNorrlF;Uiaj@?Xpwyx
z-fPoEJfG5Y>}s;SrymGWh_j|FtR{m}DJQ}FMF&sn<tuueO8ZHo%>RmM9A7+IF85*|
zdKFWDEJ$iQ{udI>1h)JHp%_(^hMEz954>=1(av~)*7!Fuk^+M#Q%p}zc=RpSwjNEx
zjs<T{1WAx~w at +`;Y<K`a3_cy%#rc$>DOXzh?AKOR%7+Q*#!<;624Es{*ISi)vz=;C
z+{&I>Ct{Mk6P at RLJQX8gyT9@w7Sj8 at v^gH1B2|>Al)^8 at A6$tA^=N;1kLJe%`2K5|
zaqz^w_?EnT{3IAsf&=h_d_{LGFM~+N3#*kdc6h|_f)B8vEr3VpfPpT=(?S*CLMOr`
zf^@Er2C98p5$`l9^^W<IF^5$@ll{v!UfO-H9)x-)A{Wtx1~?zr6Ja`D0K<a9+<vVQ
z0Ja_gvKAk3`Au~p$S_E8bk at k0KDS>deSOnt6h0si2Wr*!=pNk?1Tp;AW&UT!g2h3!
z0Ho0)@PRMhEt(JyfS2$lCP#>Sd(VHo3s%+s4N`&)FkZw#2Ml!~g#KaD;vuOfx?*|2
ze)P!93n?U8{27#tL7mFi<l`FXeU>2IiM!;n`!UWj`bq$WShB>-U|-*V9Ub|8w->gI
zJ_21rFwN&a26OT9b~ykK|8^o=3OS0_clOC20uO8u=)Rt5H1H)r8dF|r8BH&OoJFN^
z1_^kC(nEdLO^bTs at 8TeHg-SB*ZIC|d#=`Gp;AFEshg)VLND3Sj1b%8~8F8-olk|dj
zl41gxi4CrN0QJBIr~nC}9K)tI-daQ3e$InVKLs3LUVP_F%?Qrqj#eYP`x)jMwAGny
zmfh;M)x#N7G9Dl*Q#5k+Iha7SVcGYlo<xXFs!uM>wU at Y>g2E)aL&89U=t?5mBlUVw
ztng4hS?jBZWZIkD=lHGM3x3D0ww3hOlofd=x*9xer!AhcR!(p}y6XdXa>J687ie!2
z2g3Eo7s4%7y<a=zNB?f52TTTkj0{0K#1SL$G|s2){aL}ko7$<YSNbW<1-}%Muc=BT
zh}87!{JDPDFqY1JM>Hg_pDp&0aOq>_5f_apHgm<hd&fUkt1u;@*c@)X2u2lJ#0r{E
zW$IMjFg<K`OW8<yx1Fp*y||F_u-Q1<oGzW_o?y33Xux+`?n%p&dc8G2O1qCrd`^#2
z;V)f#?Fu!zeDi3Q+_lSp8C4_z^j4!{PJL at T{^Z6Dqc&_#OlBLfj%KXMoMx|8Qf0i^
z?_V+06wy<<TM=sOuP8(iD(k96nh`oy^LQsspe~3*RbzyA##1&3(zsH81T%ksHuRRn
zYS8cC_PHL_g%wu?kYC&JwqrW^5BSYeS%Y9`H3)rNEF4%3PYR`fQ#ISZUq+jD#M;iz
zGvfP6`Z&dPI)BX&e at 2mL6TRFsWG@Dl87)%RHd?U{7qZJO|J<nHjmbGi at eG{kd9A#I
zbop~4+*A_k{Mw;rTYEOxKFG!Ow at ft0FT<*P$;4;&f~A|#0*#ezZPu(`Poyb^UZ)T#
zblD9Hu?>iMD3F-8B)hSVrE-xdsBKY^AE(p}<g1n9SyCtSrnL(~*N3!RdF{5xuNn}F
zvT0<_4g$P$ul_Y7Jf58K<}3Hcz@<|nUk@}jMXI&!W2p>)#nwR7r84E0@%7;Q5m3w|
z(d6Jf$dYSabq;9p`Tb7rvmzdj?Ps<LA&{alE9&*4h)#rpHq?4J+@@RK{0ENjQ{z57
z`t~HSz*OQ<NeU-`*H;+$B5~6QT!(Kvh&=P36yV<Q4GWWx3zk0qO{B!R)PXN`L(wNX
zL$|eI_UH9D8z_3NSmsj6=e`q30}MM<9Ha2mm9GnJP4p0_P#Oh9U7f>+g;;siv5(jk
zQ3#a-3$C|NqeF at 4DZ%Ul-X|UY<tYcHLY`7~BktM8yDPH2W at Tp}@BP`Owvu20+gO9V
z4;$rsbJHE`d3pP}BO;B3>X%f{Y)|t7x%}ohTYBo at dbda2%8KHqr+G0mV=`&uOVY*C
z*o&^oqN9gpFrVl%VEcEKLY--ftDIbic(jS$l{dxO_Odii<DE|r at cp7I6|Bjd%p#KV
z*^#Y6CWsy(BYW6Xk<iM#_ulA$_o{yADk4{UKDTu|_owdrqEZ4AkZU4)OxnkX^<N8y
zOfOvwJ$m~CBc!>l#B1^pI~_%FbpMTZj<pqaa at sSRZls-x3~9s5I>SNrECEh;i`FmY
z=kH9ak~Ss>>&1=r91dk%8Xa>oqR9N*d0)?J){NtxYNa*%xBg{LMZnw3XpyR!ptBD+
zAdx>y1xM{JG?go5uW_B?%hO_98k_iRJjgPHH0?;Gi;*_J7t-WwLg!+gxh2K_TQsEO
z>qU6|eocI~l<#ua8khtPI7)8Y9eHSCxu<Nt5Yp2k3>O|%-A$+aQ^gh;?^6wd-58Ij
zQgBQpC%O;<g#&6O4_C_TQ<pqF(pHXBTo!P%;>w(avOMeM<lU=?BKEosL9nXoZxHEC
z|9rf?#M=5hd5lljjK9?1$Sldfk&ah<)TdRI>eX&&AEly<iFvDgA)Sb_YXiA0j1vwQ
zu(h{)?#ET#PJJ22qPTz4wg#d(7IeTucJy^2+%QNbxGSJ4gNKH%JbJ6{LLkzZU`YNA
z4fi~*C&vUTo`)+Ol6_l!VsAYTguxCEphDbOXaFV}@?)YQ%cGS&^JXfxgcA1Ns=xI|
zCxTeWOtYu=fbC__8_e%`89pA?BiS(*EykQ*_gk!-DhgMLVh>t-su)f#=$1i8+Q(?-
zOhUqcMd at F^kC>wU+W3gqRC9lp2iX#XI^^g?N7egzVvHohuU(v_N8wg;ghF}{-OWdi
zU(q~MmkS6B>cZ-Yu!W_;1R?TW)2G%z#A2`hVe3+#-<4anzfX$DMrhPcoUb|JFw$e0
z!?udH?~`kT40Xc+zY~S9zZJ%j!{CvX{Z4q5%08aS10r!3#e at R}Ex2@&E^4n)hjFe;
z?R@{{`D!8I4bL6p_Bh{!Pr5TU*hT;Czwzo*+QO80($oU$(ns9Q;CkEEghJSBLNb4V
ziYm>cfv_sSC<sX)gq~lK<v2w^NDey0%_%G9r<Y#{X>+kCq_~J(df(F_&1?1q$>F>(
z$WqnMJ6`rO_iXT4|J9q*JF_!TtDWJlZd5UMN13g0gA4^Hbm5zT!=}cp#|<;tlH=Pg
zb%EKzlT4oL6UHR9G!<0SKI^xDPlK%xu!t;Fed${VZuHr5(G2cMFBNbs*+EOncc;aB
z%_q8mU1*?J^G+g>*FOU&p&R2oa7s$5=-SZLY#&oiWIMW1(F%i0aATjRn9EI$t_LQg
z7&H5v at S>eH)&7;46Ji=^#^h+&iaFzrWkgSw<VM at jEtQPzUYNJ{w+PNHn>4_h9%EoS
zyrH~~`-rHGn`YTrpu=wpr&KWxYf{l^>+{ZH6>_Cj>-#1tnDd at OUygxJqX=+5L}2Tb
z{7gz3DDkgIO+O526r%@#0(Wu_eY<>}++iX(7}#13nj;{M!mWs_kvtIGx<rw-*n9 at H
z4|1KMT08HnB^=!- at 4KT=dLey3$4jo1f7XTtoWFlCt#l<ORtU|rpq}(C20FCMS74>-
z(Zw}4<dy4xT(iwMADC at TJ9IWInOT6xzX%173!7ZCI8MLPO<3Zx+3DWv1YPfsCk?Z7
z#F&o#kaNKTZt?mHV!}&*q~LywRG$sn07hlT68*3ge>TEtFeIR2rTfEg&O=G;j)*fq
z#!MigP60KIb(7}kUU%=u*-t at IwGjKfihKK@o0TSlhr2vW5NCIst at _L%!Ew16QI_`#
zJ&;r>L&s*8;R~~%Xs*rFr80=Qz5pC_SnUt!Jx#7r?9H+D^3|O-OiwEzxInX)u5Dz5
z4_WkFo8JOnGyU1ZN%Iax7|M<S<K};SEP*@JRI6Rnl>OYlcmrP^9!(vOm|Ns1O}cow
zlBZ<EXcgBo|3oxTIHNkkZiIFcS4Fr+&RpDqcCZlgBYrE<vcRMv at rxH$-}~de727Fn
z3E*V1?y^@QN6BieU}YD;M__vGNR)N##<95Rfs>zA&ZBJ=*d-v^h&-dcOigyzB0t6|
z`aysQ4eKZsR`zwxg)U#BOyxke?f~It_NFLKlopK7+YwZatAqc#M#B5>L3_4F_gOR2
zGHA9;=kd#EW~+4^0xC3rgZ{NbXeJk%z33tPAEv=God+;Rt=ZoGYAU8*^0}{CXC)H&
z^*QASz%1+HvYS}Rk2<XgsB?rzSr1j-6BDbEMP0L|t!);jtsH^z!!E%1;}VTBBe@%=
z0kXAre-}-n$H^FaY05XEjU7hYO(d9Nxf9M#I0qt9`^5tS`lpCXg6k+=ana-Zi}<Ey
zS>!c+&@adq%wje}m<wg|{!SpgGi{n at mhq~_t_>?q*h=T|PT74#`|XDj_?gQ`HA;83
zd&guxEbB6}8}^x~CuyhhZ1;)WKQml#50RXjiyQrr(Re4 at lfKpsFC+7%(j&5TO)}--
zW!kx9rzLO8n81Q|sv`2C46Rqz*4+1iH-5m;->jD3c7sQCA1J>JVT(^T{`_OGYw=5d
zaLY!L!Zz22&H*m>XbOL@<PWv`+CSYBC!Wx3O~O;}q8Mqx&#xHZ%bcw8cPrnyQkP!7
zGJUl*YMA~4bW$F_6qkC5pLB0ku)qIeBxG#DO<P^?N?$E{nS!Ussi-hNYvWo*FL_#b
zbGH$8PC4_&dKMQy at S<4R2kIoev83}sCltRm at e62!B6-fmwNeEOS!|#UOf_T}s<xPs
zopEIN%u$UJlfWC_3L-(z<~QBUnV;E5{GoZ5z7<GrE0Ig_>;1GZ{&D0aBIu<nX}ac<
z4dI#7b?OU?(&khPZ{HdLwegewnH;V&LO80zL<3DYB2#g66)hn6QJv$pk`en3tl!(^
z6|*Tbh^ueO!37dr|D~vLWL?BWJ%sw`FKMf}{(hwC*cU-G=iK+I(OD-Og-n#HS{#M+
zN$FPBV)L|04B_%^vWd5kqrkq{)8UaO#ze`YXGL3vd3sacr<UXwSBGHcx$n8-R6qp0
zmhh0{?r6&*y5RHGm*vqUCaN{`xSRK$r at njmRSn^&rFbs?c=izb<{Bx=5#55nTY4w?
zI)96*Y3~%G#0L{Lj|NO}>j(VjdQT7-Cw5&Q2b+`7ql&<7CcDT4{n-A?M2B>D at 7Yq=
z2ATx(ZkRM&Ce2EZ2sP=`1O&#5|0YH8ZZ7m+VeZqA-|}(QH|VM`zt<&tapB}JJn^>d
zGAVZwxN-QCwfW7_T|VY*|JZHKUx&Vqwk at n{4J0JjjT?^v;IgCOo>Zn$m{acc{tdo=
zMqX~J#Rf<;Ut+*#-fg+~HAcWFEM|f5F2Qqu-g66}h2Fn(b~P2I8(X#$drRUj&^&p@
zVe(_P*Yn9DQ4$|K$M*M`Z*8vh>x)J7qqBP+6?Htb2)_0tqiMRNNuxW(-&%J?r(g+{
zySwu1D?}17{pEjiQq6%0tN-5wRdZxQsx)f|ciFgTEs4e_6*@#NPMr%1J_=E$9%wbx
z!GETt%I at w@wD4Ay(EQ~+s!?`JUixS~Ta~9XwS;i{fS#+&v!b5VF#^tm-^I$9o}>LN
zZ?}Kg at +i<3$%<ChyXf1t&Ig7kx;_GA`YF7YQuTbh$O}t2LySvaff at R~OUubt#{1f)
zZV>@{NR^kqyQAJ4qh{RT8^s|7#<O7dCLkT*n8!}b7BJ<|`);zVn9$RHr{i3y)f0Y*
zq0s-GDaJJl2LfheZK;&nN)#3Ok5!Cb`XM^2SrqEv2V+;wy@#RP|84LmVuyMA15Qg~
z`gmhULCaYziaoxgmeGRIOk0p%-)NFAan0FYSe2dSg}r6 at 7lNnzKmD3f(o~BD=EWk`
zxw<O&`M(=*JhSxb%0AAnY6@#^oT(i3h|QfsH4YOT6V0OP$KRwwbsq8F*DrZ#(%X&;
zoCGWXb>BG*az>1ME3ciz=RlYL6j@=cWe at ONXo}EnF at XL3nKF%+;$yPR8gU`5)zK_O
zym&?wd-nNKgkJAqro5PC%*irkd|U$bRDTT=EjjKp`ok&3|HTs+k|N+Be^%KGPC&6X
zt at BEU=IA)rqp<lhqE$<p9Km()@gq2hYT`;(VW=uTH{LSQ{K&Sftz$3F6c}}70_pW@
zvF{`B^4%(v`ol2(29-Th>+*C^^8^d27Ex-V%Jam@?lsIlK2fcO@^g!7RdNnL91)JW
zR;ZdakZH`IS(AeJvdD$hjD`8tM!|Y^rI|HCr%I-IT7p6H`Rw`gKOet)pgn#j$?h;4
zvfh<7Fqi^&T~b#ez4dxMf9yJzopQ;JY_22AieB~J<#g(gf12~~mYR0^-ghNLyW(vA
zeA;|ISqUuQGHuh>A2^Rdf3bN8zL1En?G#BAn%P2mImbE2b}08#%upA0>`mW|=iZqH
z>_;v~0)FXFQ;3<~Xw_P_+baREk!6kKNYz=3K1I_^pw=cDLO*XggmO=GosustR_W&_
zAia&IuQs&fpN>56*w5#s*Kr<_RD6AUFYO&W at tY>7Za}IJb9{VH0t)dU4s#W{HYz<U
zt!A<`NYo0URDn6%eAXZQiJhm84X{(yhkjLllsf$J$H4p142D5~1TiZR at i#5a>;B=I
z+~wE9c(R!-3CJjKzZwbm%La1g5D$$-Xj>cKO*gLhrePDmeQ4t8-hR>~$F0Uq7QSJg
zWlpp>DR2J?QADM4Ulllj_}V7)r;9pS{-Ea^#yRG>sZU?WZ;^|E>mFkcxJ&Jpx5zi4
zeg2X#;+?a<>pyW);uO}iL^S8pTER-6Rj6!;cajBRcWLi1N8FW!wZ20o=_moJi^n*o
zEC8~I3b$9VrXq&E<=c8MP3rOFv{jyIcQtqa)9{XU`2&lfgS8SyHeFTqqKgHaottfU
zwbW;zrEZ$mOS+>mc!NlZ#r1x`aF(w-&-QcMq>v6%by3`n5`1#}>i)?L<M9S2h<$v4
zG1Jb}V(YD?pQ+K4p3eky%sdV$UkpzSDf{edqrJ7>h^l|`z74Q?`XT>80J_la`LsV%
zxRW&)53{HLyIQV}Sf at zNOZ9sTy`)J~&DL`skyZK7y%!!k=Y;x$V+swwr13P*jv1;h
zZteM at mZ85+v0h2Sqt%c)xC=a*_^ySxuafqNp>1({`!==O3O5i^s4#MB>LCN}yy71c
zc9LkWXe+CM)_A}&cW)vG>r=AWzXS}<d%LP_4Of&c8Mu1f8TO{^mF*o5IFnkBNV!it
zZxBwAT5pi$ifv`5gltvy=LHz~I}d!jCKw%oOHQ@!C*OkM<1 at 7c>RvSj23PX$Cb7N7
zc>y9}6}3-%r7kEWw&KtFUOzUJYHJ*2H;K)j>fge-voNmk*7tFUmC1OugU!HXSQRv1
za&Eh!%|6dwY1*Kc at uwQQJb6szDn(+MUz2o!ldW(ZOFOUe!>CqYJ|~40N2JBC%U`mp
zqk9&w5iQ at -869nditX6a1m5kC?-ezaC}wj?(w1$Ea)2UDedXvx)CX!)CEk*rc7~ZP
zb2u+G at QX_zmW{-Z?oODASm~)bzUf!?xPwxJrZo%ck?s!ir=1U@&qnuLo{qnX;<j9f
z2Wq|fV%piHpS7M{l~UQ5-*ebHl&@y_nQ at mRuf!({`Z1$?Q%lR3jH>G#ggdBJy<Wbt
z+hUTd_JOQ`8yLxb0!|lROH|mr5XH4kaF>d9wx}Azuy}zMA=?p2TisqK>h;Ic^qb1b
zU+7P*A7J+P;_?D{MBNg5`y#`0a at nM{at3F&%45;qi=HH#7Z;-v^zxZ}{p9V8uY7(O
zd#P8ZvUeCMep)0ylbByDD2V$rS9w$Oej=h-o!Se1hCh#W5M>JV&UHO<7QN`GjIVb3
zbKaqxB<wd(ZjUF@!0aLsfyXXu8j@`(VOwOB+t30tQ8=`XrW1wgsaAd~f={jG?PZ!M
znVE4E%|Ag+zT8mxDZzKkBODW~6JirR#D|Rf{O7(K5r6}zg(d;xVMa(J3=?FZiHOLv
zaZZsaMJ#!`dDJ0y|4eC#zgTg0<uua_=a532DfA(nK0sW2V`Zp7E9FQt%qPkc5`SrM
zO~q`)2-kLN8 at Uu(jHLl^+_JXM5!rb at pSOGToR#)ruEfh$7!{NZ3otj^iSAfi2H{~&
z{Q%w*-5e$z9^PWbT!s1p2}7GBotd$<a_LD&!o$CU!=!oQ#kXiT at WLZ7R|~-{+G7Ml
zfgvU2+8N(TVNy~Z4Cx}QyYzqC<;at@!tngsze$luKSVpZ{--W<e><Myg5QkS6FKf^
z%06lEEDRc3+tZ4NRoV0+%$Gq*;z+b<rr$sMA<Q>K!dnY*^D-mB^O7`%Runp&Q37}t
zKvzr}_hY)QZYGU4-W*}wt#9k;Opinp(Sk4j@#pff9eyQZq&f%XhaBzpug`VE+zJRw
zgR=PF8*r#MPY-tJrMB}vRF5?U5&~>J6K)<L16qS1ju=8?ZTLd3T4KO^>4;Q56jHB^
zXfZV6ZgEK0ZR_!w%Ws%&;}~PzXFO}0`73yN;x2YvUygH&mikYih-thqoGOm>TLSLe
zoJ`G*aVL1Ztsl>q5V&-_z5VQTJM)1A&GH<8R`C6m_YE!mf6 at j18z^^LdiBWkb2h>@
z!75+!D5Z|Yn(rQXowNldWA6c3Um=G|U1)I{@W{JN0im(!4wp*pMk0N~yd0<teY1>t
z2`N33qG=xvbhPlug$0S$qy=MAVhVVCi-7E!+%QwD)T3yCN>Pv}R*i)2Pxbrop!c-M
z+4I*(bip%d!z*>Fte1rWrtFnHLZ2)U2ao1bB{_%;ezg?A=icamNauhtj^I17W5G4b
zW3<MI<G*>1XlReJj1f#l7_aP`GB)-_ngYoI6SnACj382Ig^m=kt>6fU-pqw@;*jb7
z<#o7x#vPXn#htC${u6t~aUcED2(9!D5{;fal|Z8TGw(PsGoAG9xL&@Nol8iPk+c2Q
zpc_FfO<)jU1Jtiu-Sf0X-w-1M(*6g%Z{ga$kpOI$iM at ng@=}OG#aJ4XGn|RASE_{8
zCVKbr^2q_3g?AufB>F7#ZjS at wC-$*2+Z)DhOCNIsX#th(*r48eMY{*{M%3p2&|e(@
z0<iAUiT^{luTcTycxB!=eu&KrwL#AjJ>11yKLjDIMZ^k$@8}Ky06g^3^gaM1?Wk98
z1R7EDes{_9dI|QpG5XwHKJ<V$@7u{&$b=301{aCu5kTqxWAf557lPtXXO(=4HU)E~
zZAm)tRnmqvvP(#HN>4k$O3zA$q19e4pKoo~?C$9Cq4zuofTf4%0Mpt4g-n6V&gYl2
zfs+HLVoO#Km&>#OdxhYCk4g_hZ?*%9bB_-F&+y&Hm;qGWvU#idV2)c~Fh$4#wg0zu
z>)72!8L02JyysjO;74?eRv)?lr|<>IE|;GQKRy}~_Sgnxczi3mApD{4@@|-#SM20M
zcedjmqxjMOUs1Up&w*#oMnMJAf6vAbY&P`!?(5$x{`mlXVJ9i%Ms1ETfFb5EJ;w4v
z`~EkXVZojHyUU3FZKb_SRf#mo7znA%u~><Qed>#W- at O7D7y1IQP#19b{1z?zUkx3(
z<?_TQpx1}24#obz$L<Ru2|e&9cxVGdH2mJA63x_wKwwsZ?=hO_zd`MIjtx+I&268O
zZXjB`+WIsOqF47<i-WgBy&A;1wikmzXF{UG{zF#^?a_Dl4~<mPwaQg{OLp1#djRrd
z8ABFDLX;-%-5=bdul_5D`5&S_8(HJh-0U>`8^m&410mYW<CeYf$JeCmARj_rS{X3O
zwKshHx4z at JKI;+^fQv>K{I at JW$RJyU1+nr-0m3&jRKsV$Jv3$|2v6K!@GPTo{?87)
zl|8;4cLNURA3k|KQ}a4Vs>j~@ks4shBn;LgG`jXbEM5$jJdE>=(#VUM&Z6pI$jXJG
zL}Q!Gu1V!KGFA^%JHxm^-p&89GWDQ$Vs}+Dwi2xr0g*1b+gs{Hqw{Av?j`$PVYJ7G
z(8F@&5ELDtGPPGjpC$@9=$bZrk6G;c|4l70tOvpDB`kHKThAE^!AwerDhi>AfheBo
zV8r;*`RB;8{IXajaJ>;(H=;Tm!t>|;VrdzT{`21xK=d17U&_q>7QtEGB}{PQ<P^J|
zyU6o+;oDzQE~Jm-0l+g59e^?C9~SnpJM&v1s)Kr*9lMyq at 6^M{jL3$n9uzxew?VJR
z2No`;8ZN?f*L?Gj9`+cT`T(%zLO5<P_rKLjBDe3v^}xZXh3LTSQoxT851ng@&U<N$
zK4J#@MO;E6nsIF_9R4|;eHDfS{K_)`7X;c)UG3$RM^0WPSq-vZ1rZ(qlKy|h9ftjS
zNz{A(=WI~D;E*~E^Y5CfSk*b-wqXd2BNM~Fl^*Ltyum!Y)(<NiUA`8n!M3m8GBv^n
z6D%G0J=;El?1m?(OK}WwY)x~V>HdXKkFk3}%3JCGQ=YAHSN05~;NfKKgL37IJ at 93d
zlw!YWkBsu!I>e>)wX*cdtA;@;5V8ehy-p{ZMHD$3h6(iZ3SFmrRC9+4IgiagD}7)~
z;Bb?&eG5-qXhf<~@AFN_MvVv741Ulqk1e at p8Jg}L6^~^H=g6TDL7nI%TCjr*CPI8x
z2J231c>8}G;i#9RzI<g$m4u`U0NdYn<Q-p#&UR=#Lg%e6gUB#WH-f2C-*i^Tn%)`x
z^G{C>Ms+v!B?FXyg~Wsfq3H|9^gXL&sImmG!CY_G?l^gQWmiCflq&|;3c6Xm-+)M}
zRw)7~6dx=}ioD5IlVBkBFl|A7ny+`;j7KaS5i>f5^F3XObc%>0k01#~0!;!;K;~^o
zs$3!FUII-Me-rxqXQtnLhUm|VT335tbmm!+pY=w0Tnl^jatB@<@0h1Z2#2_ADJBt5
z+g4AcEVeDyVV8CzX1t(dbsl;pXg0W?9lqXxK}bE{;YS?pvRlRvPs_yV(bj5QHc~$w
z8P*qw+c=&_$%vjEJM!KG>}KIFSMG=<*3S5cwe|X)B)y=ro0Fw$_RfRhP=dP=O7r5o
zV%D!dTXPNE<%-WE_M+jB9Wb0BR`YdlCWFyS_CB!pxA0l!F$RjV-mO<k_49rJyIn1$
zeJNn4++O0weyvRv_I4~!l;tCRdm2c at ND=>aE=mhNfYfJcP-!K$duBDes71ZOnZd>!
z5rZrnp5$b$NDt)wOlOIu#bzDv;~$yMvALqpzWGWRG#f4 at MI8V?6<0|D(1)2=e-73l
zt^ESvR{E;xf^|{a9}sI0(dx>Zc)cAlaU8%q+wtIv;8=iuDJODjjc+m|E`aX5$NrXM
zauc;k%@Sg&N<0*wtk4+3Dn?xXx#F$aBam2oVgH;o!T7wOD69rx>N)l>iP0hPPAS5s
z`1+rcerc!txz}Y!AMv#{1Q~PZs*ShU^7HaaPDO;GQD1$f`w>+lMH;8k+p6T at t>ZgJ
zO&J)dIdt!a24_GppV>@n(WYA%G;-xSTod~aKa3%Oq|gharh_{e5#kc2g9&HDByZur
zB|U-M7RyU*4A55&ORtZ(;`((Hhjf)`8Fx0GDsR?)P5CFCD}Qk3$eG%t^bYnYR&foP
z!D!}}+)7dCtnx$PFFR3fV|S*J6wi5QSw&EpaH;A+x>U%BwcPIC<U|k7u3G@>j?(AH
zSz~`mP0J6hd~)ar#11@;-Jjc5wXGG90fufl>#trq3Vkug=4gX8aRzlzygBd%n`%HN
z-1;f|FhX4@=Bbo at xmG?`=R~KOeBRl_A(i%TyN%hR`!e7q!DjXT)VdOm|Lyq+Ll9T!
zsG4U7WZMdMC{$WyR!+Sq;mRST#gG*yAk!@|4ulQNXL+!(579DudNLR%8%^i+2^EfT
zAF8eb)@|ijZ&DSiHwfR}ngq28IA%VdLE7Q2-`a_$qNIourA@~RR&d9Q2;W3I+SV6)
z=nq<CI(*4$u-A*O7F)L7kCbZZv4O*xqb_vH=b=mXd(uZqrmZ}X!68BAEY6n6Z~=FX
zj)mJS2Qt%Dsd+t0{!*i=nSvNGLxBNl?ZwFLA8N3pag>sB+TueD?-Az;TtUs<tku3t
zQZA|Bb>tcp><`fBojZ|)&5ZHG at R*~$q6d860Hd>bW3xMij at aOWtmJ)~BuwFmqlBYN
zz1NEgXSqK3Q*U<ED>ZzV9!r=w`CvH`*eIE5iJP~vQF&>`sU&HakCT0UljHf?3qCq-
zf+0>)BlI_^)}=eRD5Tv6(1n59QBz`C(hQ7?XL7M;Zq at g{${Ybp4fj*JmIhldZBHMK
zuS*{}98xO*_mM)VxL;I$RfmX}&)&f0y$<m=7y<1s&DxIc0!8nAfK}kp7w)+;Bz8Y}
z`p`_4loL?GV<RTemY$9z0xUxd`^3B+#is;)4ss=|av~{?_<B~^I8%bBmmxIcn83~T
zfPL8Yq412yFLtwC{Jd&O1uU0d#R%h6qUrZ@=D%j6uZ$Srf_2cUq)ZV~9B^&2s9Tn7
zK!#<p!^#?uj^XrHos$ZB_#ncxAdTlI6Sw(#1$#fq#xu;zTk07iFOWv|xqU`XeODjI
z3`iNOUEzR0q><w^z-jQeCBqLFwea%&aB?5YzO3utpFQ3`qZ>lDL?zS;ty2|Nd#rO}
zLKMq;9T%X;tnCU6_ZBk!C9tV_>qO9Np}2eF+4l>%u1)!ovShESY402G&tF^<<%N=l
z`?F}I&m$&lhe1JQ;6eYtH<;eUJO^9}#2%`E2{o<R29U!@)j at 6Ng2@;sem_>-ec+(1
zVCPIa&0C at 4`t*ca at G_dZP7?U9aSZ}knw at AFyI4w%$wkIijlLS8PA^@k`@nN#aksXm
zBAEd&x9rCe14$W08vSY{oNgjFNep_pZno-ij8 at MioGJJhyg`}cC1N$7GwM>7URQtD
z8~;0!FS8mEq()kt7HFL7d}4^0ozWhxn9%q`LHICsv~f^k?$_h&ZmtI9y(L at +Nit3%
z#89)A(`X2l;g(noG^}K~TC`^Cq8Y6~t5w!ycU4pFQ9<5HU3}=MTzMn5j+IxuCzp8x
z#p&?BVNRv{*)@q!DtH!-_>%dx8d@&$sqJzw?8Wwt<7A(xzo*<$BWB~kHYbf`yNh}z
zhKz=fP{duB_6C;KGE%Kw&;T19AnTWl at t`l<#z2!uj83ZV6wPB?Wa2PVdWNuR!o7Dn
z33o^lfyL0Qm0nV49^7hF{gZQ at g)!=b at SP(#=H!WMNxGThRI#;)Wr9Mn)Gv>xC~Cs}
zd73c_9=*lMM7<+N<;5I-&;P2u!Bo4-z6V at VIQ{Yy1m!21aTry?%|Ly+*Hkfg-Vzsy
z$}q2#)xK#74TpAV#Q!8;T8uU;9j((kp5OjcZWaW*oxBX+bas9q?ID@?KfAL-F?P>8
z562ZaWaBlM5sy){;vk*rr*E={8cgm?FfD^Od@*b?yjuT8BI~<E*?LuAbmfbgF#Z;m
zp)~_~$^2_W26ah``RYNZA`PE0oo62sUhi50_NhT933J;iYI{Xg#=eIHU*{u2oooE~
zA`4<lQ!ig+73D>Zm+o#A(2(j>M8BY2N1fMVFEDV`9M_*;m<0LsBjKXZ-IIW3tMJbU
z_Xru)_TJAzM3V38+;X??6slx0L3`Zs#ck&vaAZnKK9gN2ObP9#vfdJ9;hUYb0NJ4W
z_xg+VEgRx{+j+l;>6!c-a*#LIM at F7ko2-wS0B3FR8q}-&qGJR@=(`fW<_O`@fGMA>
zWIb7-XWICZ98W}Z@=gDR at Qu7cpYjLiTI{ugbCrzKFV37-_`ZL5Afghp7m64Xn{S6E
z&}gVoL#cP6EbZ6Sj0Z(3JdD)T8IDp5I}53LT-N-1QEd{KBF-W!QhlMD%r<20lVm>>
z{kEAs$cVP}vgG}>@G=OMm5zXjBWEK7HU@)9qklqH&2-glYi8@<^C&Md8fd6kbq{@U
zC&{bv4evM9cV9e{uGb$*8 at d!MSmk9jj at mbmyY-kC>`Q~&Q#_82wlEHY3~J^7RZzml
z{`Sdk7CDx6<T_P>qIrL at Uzz2zbt`tWqc^TaYoE&VD+u{=Kj$=Wt)!O5jQi(LH`IMG
zvhW^{k%AuGH>diInip<^zOSX&b6$bDml7IQGu!U-pZ2R4HmA~TWTsobU8G6eVC48P
z_`wiq<@c4w{q;I4&-yR7W$~@f*q^Bd)2hk{+ZV<-mSwcR$ERr7G`=4e at F3#-tVdD)
zg#+c<Rv)UKa5^lRMPb`((4wZ6J=n`-+>5h-!UnW2F+qp#*M4=fwL|6g!eag37}LBE
z&ATKP($5P+&2}q$lZFwv-c!L7A*CfXjKs!gDDVmU=GA>C;z?;aD?wCN)+M8dN3Z$l
zfv1#v>+De?csJX%YEX^4dG|IIJtC;=$|b2mJwAz`b#a?$s at D9nuX*b!P|$TRzw6v$
zW%44T>JXO{HCQJjYTt+yK)lMSfr*gX?(UgswAjx_I}6Mu4DjBYcWop at V=}ZEgpcal
z!kv8Yr}P0A%wA7NEkV&)@tY?1BY?c>yAEOOtwvQI$j#5m{wkPs-fci-b|dK+*&OFJ
z$U6avbmH&x8r7eqxT0O=6-le)rIXKez3z1ug(bgj7<5+>uziln>n;TIrdgABJ at Bel
zd#Qdwkv%j`L9Oh{4fnCXJzl%kZmk+U`N%@+Gm^8M`7 at kc@c3*x+~&f2mIBbQ_6u3n
zErGjLBM6hk)IgUkM><=Pv^?edISy-(Jq%Bt+xlqVQ1Eg3DC}>vTx>N*DO)11lnga6
ze5xuMDEYsNhM0;@EdjT~YhX4 at -ALK!WvWuF(wHjAWAUR%8 at jy87~Z=|u{Tzf|LpR7
ze}%Dcs1+*Z2y0T-wy`TZD};U0NzTcTJie_ at Q>ekqB~IgP>+_9%A6;40dLW;9W6Y5I
zmt8D)av^nfCIPEu&La73ps&L%U5B>x!oe37uFAw}*N<**0ysZY77;@&PAoeSaW(h_
zkCr~Q^eM|3g{y2u6hFjY(kP63@|EWiGfnVqrHUc$XA at EeFrf>eQB|t+Db^bM=L=vY
z^6`Zmyobu71;?6yoOUOegjhRjx6e!h<?<l=gf;L4Cau~q7)9Qym5X}V-)iKIJ4lth
z(JYbAqL7*v=roQ!=(@5b9iQjT&zF50T%>cErA$hx!q-8)luZ^Nz<1g)`d7#c5h`KU
z+D>rrn3`^e+}%T(EPac3r at cqQYz8`Tn(XS9)b?f-UsLqp;XX~)Q-9;^)?c(&x*?rK
zB$EC&e9)ozgG^R`Ipc at xpx-<bba2ajgIup3SB=!6iFnlqW5k7AB7BzZ+$V3~-ZIw}
zb7hUFhq?e at x(~}LK>Vim$&uleTkUWsNqR*~F+q6_NpH at +(mF6l&(E+4!ro=@Y;4q8
z3qao?K8Cs4-59%>7cSxOioTxA{N+dEDU_%O2AFmCKrx`f_QGQs>Ks_cPvA9n^Y~b;
zT$oN2vLTYulTC4|-uc0YcsV`W@;(2a;lqsjcYAZT9_=ct)OFIZs~r~63#(P=iHWY0
z^bq?cg^E#oQv6x#JVBTEbc$u%9<lO>!cPab-Jyh%&!o%#%tnClk~7PpsYb(^dzDqP
zRlM1S)ya-F!mEXdbPnbxp&}(6X=hnM3ALeX4^57`A>KW{TGuX(t~jhpxs*Glv-7mH
zhm|bBITU*q3)T<v)&3kQd<_xkTy5L|C at j6JYFSm|hCeh$kUL%~^c88q4Y=I0Bia3Z
zl{PzwV!kfX1vy{jJOyX({MmR~NT`C?vL`hqd2Q+_CMu98g5#AbrBFoFnbgb*d13iN
z|4CTkL{!nHes4l48F_GLyKGhf&8y-s at J)e=5lxR}d-+TW^>B1KX{eYqCn-Gk8J0Ei
zvH&rS$fIk at LB<NX?o!4d&l}tsUMtg%MzCHJthZW!CC@(mvjL`*$^F>;E;mD;_+1)i
zus)49GgE~1e%BR}1Vm?xo(@ZvSGgrsU7WQspF1~pLsG9+b4$7|b6;duwMAsp at A__#
zv-Ht=^{&7_{(%1_PZ(rk=jJV_bVzO3<hOj;P|2{7AabrIzPmzUw3e2NpXtT-S#p(l
zMQ;tEVj$b^4#1t~25TBHrR)i1fdH|ezDs->aHrQfl)pZp0-Gw6^aZE4%+|DXjy#3&
z47vxryMNZk6kV?PC~tOvpyyYo|9pfG?gzZj^&7vu<D2>Lw`wo))h-Is$y at 00C|wDU
z9`9}6Bz*Wj*nPQ1AhAWXL1cH_{Fc1sHQ3o$AtCW>b~7Y3Zb|80;F$C`g{`zvi+-Mn
zuEkR(`i=-65vA5zS`i&yr at v{k9}DPHV#2S^|LjGhSm6&mJx8P3=*d^SxmjiIpYKIm
zH;*2_t2!4s_LiZKln92nR=<VjPg5%6&Hj4-4nGbHs at -43+3nEXCpOh?Jk2j75$sd*
z$8nsqm45UgUEZkAeTe&Su%YG{<&Tql<H8}NS at w%-FTp|5G@`3|tI5+pUU at c8b~E-E
zn2dZ8!Pgc_#k<UR*asjEB6SpNw;8+vdz!PdGDo>Y)km~m=Df67$IWWHp^AkNXbg{T
zs~k-yU(U7uQP%O}i>r8F?w8!sk(1g7EPI$NZIN9OcKh(Bl3@*6dfitC1z(fM{6H2J
z`99T_>7wf^CQ6cbRN1u621CjsYOC_Fv`G_b4gs!wdQWO7OGVL(Zj~w;Dks$q8s*dz
zE#tR%B19FU?*`hHvv91Jhmuru;FlDI#;NukHSd_J7bQx36S?Lb`88`BDkcil8we%R
zW=|`_Q%M+c7tyc|MfSPV;De8Y=HHLjS*DvV8AsfQ8lS+9nl^7{x?@Mi?ux7+V#jNR
znoN|4M&7FR*6iBprWTNl>sxE<jo3Wri%gan<Fn+GEZyX$7GCix|1&|sjS1!H{H20e
z{M)Y*y{jzAp8crczkX1PkGI~>muOym%bS0HAA2;Qld9OSSylv4aDUEYXm{3XF at R=^
zd!a}G_2^ew_m&-=RfWkSjU;|tpHl7mpGab^I<_B5PhXk-P6m)77EC~2<<m{q1N(g{
zT>nyAmVL00btyh9Ffw}kHlO2QP1N(2DRAWFnKK{;7oj|NGu2<BQ3YUv=jMeh(KKrq
zM4_JCb{NgF>99*HsBTe?+j(=_WrujinBxvEgo^vCT?3!ppQ3fK1Rur1pS1?Wy&Q^=
zKH8)dCy!MmTVNg1^{|s0lI;8T#r>P3duELd#<!X9Wt(M+6G)Y|L%No<d~6%jIW=%{
z1!2~dw}xkhc39I`W=cmbj}HvqxDP2bam0HvXR0?spCJR11BKq<mI+vXXTA>6Z90;K
z1CJMt at NOfTV#JKd#hThlcFIC}4gj!-SP1+4WoT*)I!i>DzUd&Q?P%|{pJP1TF7&yp
z))A^hyCWE?VZ73rVfcV at Tup??_9bo7>+BI^F=LNZ4 at YqA<GmYZjr%g!U$IHofC!S%
z%<em+mEvQ`armFSqt=f%k0oro|NdG?b!?`;x at -IaArGA{(oAS^OH=OkjRmF5zzBHB
zU3fV(uuS0!9odnTD_y2i{`_y1tQa=BOyAs(^a{5Pb?VdIT48}i$~RZic(@x-m8!du
z#o^^203iJBRc!UESkz|G6PQ%n8jsYwD}UzG5f$gluTYtrM@?C0f;Z9rYb_tc>o4-v
z$F?p*er(){YtfwqommQiHnDe#lIZoWzTj*H(7{fdu&tfAg~zrPjlxZ at 8K>6iy}Qmc
zfUQ`^cjCROeNi&UwBsLq?KSo9rt~QM0h^4wkB)P_E5WPfyS_*H$0B22!5Logi^w1n
z8qZiHO|*AtPcZnL*!>&- at xH+PMn?K_7n=Y0k at F{^`;D~&PH-B_j`Ld$PI*76NhJd=
z5#JFHcdjQLM9IDB<6fEu{0?{4LW)jOHpEx&PT!?OVz at e&fY&^qI?7*OqY~2GjW2{U
zE-X2pEkU;aOw%8USAbdh<&sr3^3f!h;wesVE?)H`AXAMK6%bEn<jHr<7w**+6O=@k
z4#gFHOj|oo>y89&M^e{TWU{ta9O=egH;iwP*>Ajoq3a&5>oz{J(S0Vn0sL=y$i%<s
z*&Y{}$DWYW|KTZl?j(ZdqcK%xKO`v;J9tt=Ao{>H<ji2(?fF at a=_-<Gj?>Q`<bUkX
z?KeX5^9pa_pbvaFC&veKIX5g$e(Dk^qgFKhj_nl*ahLt=W}x&iw)%4R&ty%#HOFE$
zH49~SFRDZ9p~c(-7X69 at W{3iQhIVVUYVG9k(?4WJ&`s{T^SDCq-sPw*k-OJ=SS+In
zK6_qcKh84_kX9b=q+cv~!$PR*QY<b0qOgY6xpgA!t#jvDrcZ=OMbQI(8k1d8RYZT$
zYx|jT=-OW9ZGv%F%JzoD at Fnrt0F^C4o$8<o$O7$p<s_u{lHg=SdonLb*bXw3;JoV~
zmBDUi)%ro&yJ*Uh{%`;kg7l`LsJFWk-INNOKE(O(`>1K at +tCazW+RZ-E(mCl4a>De
ztwRq2SN$)kZ!-P-i?22M`lnpNvR#EWcb8bj4K1^68v_!NA56-&J4H&!#LostP=&{5
zgDuZw@!{HyA(yp8nTl-zt&hP at j}8&aD9KAKU{u&)oPvx0#&@n>23U>C>XOXrT(aN;
z;m_5xV}YoiAO?N1Fhq(!&cRXyraGt3WC$uhrZe!2x2o}L-`(GUB at -L306f?aJm5Rg
zzF9n`3g+!I6U_gWWKf?9t)uJrznRE-_kL at ny&91_7vH&1TnEWZP4E2K0}n8`$~e2o
zP;Sof=~{h#FQ_Dy$H0c-T>qRYk<5`XAAeh$4Ss&{La#hv{L50q`->fo`7?552zBXP
zuj_9rl at 5CbTA3MI4Zoq*)MraP(P6XSz!eiaX`<Rb{lar%bBE-b;r<!q2^A_ij>5Z4
z6?z>O%TU+m-L#Ll8$7=Nsm}CRaD33~yWb)S8U2X%_j3dWLg0>Ud2!y~brP5_HFzjX
zx+~BJ^3U}*y{+>rM>_`aWAeW|B`(rW|5wrF)duIORS9$>XejKEd=w?Wd;S3cV-Gt_
zOT`}54ZaAfRj|t)-&xD*mg`4`In$FakynPB;1#&hbb*{q@#JzGcU0>NCIcblw)h2J
zTkoTIbSnj}#srbXTC&pHv#6xI3$1vo^?R-%`?2X1Y+K-?AxXQeW7_ZQKgRzY+!I|r
zKjxZ)Vs2V+0)Dk(YFaS4y38T)ajmj~;~5P%5I7sPS(1x-IUctNs#N)!=07<yP;4>1
zC$_CG@(Kq6-aZmF+muk8vDcXjzfMcM*f#t%b?#3DCT6wP9k^6a5HoFv0fP4EMT%Wa
z=>OX7+>ehEw$r14tKv}R;e;x#lw2>S`;f)BoN%hb1sarNk(E*?>QWlpTKn|rk~iJ;
z#FkTH^R)1Bo9dpY(e{RH=m5^g7E>h&mt&JL*@;6wQcXHbPVC9<h674btpP%{LfXM`
zhK<gMuV1ZA>ahJA7E<X)iyZvC#D04up&OHd_pgows2vAQ&3x5GMy7R`BeME6IXcNX
zXe4#{5BU+6*E^*~THLleyNJ5>56i5UIt+TSC?WoaAm&CJuf#~=G8^>QBRnkqweS<M
zFJTG_siy-XBK2>I_2-0WVmg1llW<BtwJlpm7sY>IEigJQ9bX=E(KZ}uW_Aa#S3V`r
z(hF$;X9g$kHr?mb=&deKHDi*KYtB}YKKe^Q`kd(GPD4G{l_AGJZB>T0$+JL{1ZNs`
z{k1V>Dd%XLzSMU(C0j|xj1z(OHn)A;3Wtov5_=mqhDb}z`@VV7btAh%bd7j2Sn0Lo
z0j+f$gtdeS3^DBuCZTo$_wIJ0O at pcrrgry)_Xxruc(0bK=jQ-KH|?KAe1BojbWFN>
z at q!{lf8nXg4gelW*y0`^fJQ~Q__hLT65U{IA6Pf%>!`el42)K5qNBBy6w{-5_>{x6
zQiI)<MbcC_F|yN;+-{aBt25t5RMabdv+dy$vcfEGi*_7ig|r%L%??(Bqb$~B#=4`q
z_|}nXHwT#xRCY~fJed@<)iugSM}pl!?bm%w)2YIs#mMr(k{hgw^r~EIWZ9|hvvY{p
zA>%nOs(0Ec^SF*`#a*>7!3pLY3wN6<&d4k;`kpXTb0j;Xg~q#ZXCT_E+vWeV6d=CK
zPGCxJyV?<+g^YDKYI+MeUA|^;xV0%yi9Kzp^YQVDld|O`fD|OP(H$A;TZQ|~Gsd5x
z_O^enIm-D at JDiEtLhoyi@2;`j_q^aOC3t_|a}3t~Eq>t>03B+E;;xlUAwEy9RS_-a
zne3IUO73M_O%xMLL(9(6eQnp!A~);IVSV8&ym4kOm$He+%-((+%M55$#BBA$vx;}M
zOLeda&>bBZP!H>xQ=Gs0wpkcjt;Be{eu0g#rbUv6;5DGQetYn%58bK}-qMxL#rev;
z-{gdg+_sPMT-CSXtOop}A==E91ipSgV?1p}O~!)kmyswD0Xdt7s=5U0EH?VTpo_DQ
zt#gRrk^>BETRX5;ZqAiClvD6W1{=z|N^vgbE>+Ef0pQsjfw*qYHLDGnBYE<4kl?md
ztad$a$-rym&Ulc#!nXzHJD{mrM3YQQEZsbPq}XcU8CoXX@%V}eB*CmZU9xDnHk4lJ
z7kt&Wa?&3{W84gb$aj1cIoK=va-4_qxb59JlL67Mg}LNGoPrO|dYUazn at LKaEBjk2
zFD-x3bX?+hT=H(Q?|MC+FbZ4r)W^B355CT*G;vN?ywb&;i>3ccoXQx$0(B~-iQTID
z#T;Yl;_=jh!ynrZ_&`pl9!H;gciBhf3&U8UMUNub)#rgp*!SQ9*49;&TU&=u58o=-
z_EEb=@tsa#<Dl$pV&6sM{So%{`BVd^bGXR=W9z%a*?Ql&yO*L%)$T&os=Y#5imFxB
z+NAbs>=lxzs%p)uma0{&sz$z6Y^lA)j4cR)AP5qfuiy3l_g?RR=Q__h*LBWwKKFB<
z=e|Gp=Z>l%sxB<*M9-HiRjkn24`IH(@TIWw!JOhEf`MwY6n$Qo-&t|hvXG!-)Z+2^
zC)s9pWg$ULkhDDiv4Ah_9$CY0*<7xF&4uTsDB at 6yqWxg5JM|f>_(keD*L&M?LXl8w
zt}N{4ud<WGi^Y*drrnDi3R&m{==xr{QL#pinKAda^<PF{dIowHxBX8IqcUKpg?I{v
z+<_&AWH|$y!G0T-^Dhf9M(g8?N2eyJ?jcx{0z_tsI%^>mu6J|{4bOv3d4fAnuHdwX
zf5Lxd?muD6xsSGT68Z6G2o)PLf1~Z#9tx=p33nIgb0H0tM>3K%q2B2`Me4M_2RX3w
z?!`^li54GAliz2|OU_`L4Qs!Ho7vFKH*|CgpwsYk6Zqr~qvd;ZJXY|*@BFnF)CGG*
zuwS!<3g^!|hgBauSg~ytZ6C0X%GuX(2=tk$#nW#e%w0@@3Q5CzZw+=g_*+nF?+q$U
zI at Hy3=11Gr&1XoI#ic*IFk at 6oRP{wOxtF3!bM at 9=KS$j($P=&w>g`dz{%LC at UDY%b
zyMjLfB+)UBQppny9*?pWl>w#f<oTcl!+6##M at MDR1iCf2MD1RF+zl(UH#T&UWyd+Q
zCU+~?oJ6HaW65LdQlm!Kxuot(+%G$I1u@{=k(;x`TbgD+-a$3CLGQ{cjr0|Tq3d?K
zika`i^(TesUU`nA2A@(q6bG*F&YkMD_!aBUC%~K9JiK3R!wuj1(ienNL$)9hEg7lx
z%DXO+&tCgihdH{b^E-n7GeQ=~J21TC<6f70T|j+GuFK}MR5VRK*_3j*R_sbP-TD5=
zwQWMpl3H(D8q%&Maw?yGQ{Mn~PI%b)r02a=*URtimL=zw$3RiERn8_I>gpl^7|)0#
zS}Cm`Uf0jpDDb&3HPdU{1Q**QdmNB)@GG()^KPm@<L`cjB*10t)sLF#tN1j}Du+5j
z8!^Yka~t^*VF_Qq$eQ!6pYDwKZ;GL*EaPn|{xJ*xmivG@##c4&*?i_#TIN?H!)I3n
zT*aHR&{fi-JKHacCc1udVL5XLvzqQ!uKX0uJ+7d8ym31ED-N*dv?j}gsJ5BbUG0W-
z8;oV2FLFax@%OYOn-++Oe?jd(YpB=i at Z3kwzK2_?^RgOMdBEOnj}-H&iV1h^ehF at P
zznvS1`troAl0}?!I6?)2FM?;r^?AxLj#n at vCjTIps1I&rOMX|x_V|?&?*Xj&(}{6?
z5uho-yzK=wq_QG5r!VG6h<GoZIA8gYC99cEym)JhpzIC$xXG$$L*I(GKC>f7Z3}zC
z_j1Bbmc|=h7O-GDp2~JPwG;h^_9vhD^JqgLw2;tBSFjfx(xA?M<y$^C^<xd*ocaYF
ziMb-8e^aW1A;0m^JerJ}`+bC!H5%S4=KZRDT)y-Fl#2Y{x{*$X_Kf((;M?rpaY3zV
z!_P$URl{DFzl7Eyjg`{<<32ZI@$ovqkmt`5ox&M!E-}HYc8l7A_dIWec3VO0zVB at b
zNHuejZR=lff=4z(0=UEC?iQIIxfNGWO!%9)sV|?c%K1nBP#y5f$Lm|zl|`t*3Qy?+
zlzt?F&waZ8;%@3d?z4_Qk}d!AYQ*8U%n;pM(XolCqU6Ka6XYRZ{GV`OVp#rz<o~9a
z(A1F2hnZKxtF{VlQ$K9iT-z335U`J}!fr(0vM$CZ6asmAu|+KtQ=2mN!cY|UA=Mzf
zLSGYiG!-`ytn#M8NuFXZZTze>MV(I&&8cg+U$}YRrb=t`x}&#{eO}zl9HSs>N!WXQ
zjO7UN_ at CxYhDT`OU at J@I&h)hCHxTa0Y at c^)2&kAC$<-rwg<DVmku#2W?VjsaBF9kH
zts|QBINigS*l-Ruabw;^i)wo8QM0 at ztm8rh2|Ek0 at wuvUEkTU?I9`q*Rxi;g*@vwI
z#gI$<L6a5q3|j3Ugl=S|F(J{b5ob)kzR*k{<+FttS!7b`qplTy#vZK-=6C at SGlQ}m
zzQYsh=LpFC;elFX!$7L=H%U9rgUNp<eM?>LeF($C-W3Q3p!`r&!ReceFrC=En(TWp
zUk0vk&d~bdzi~*~YK@=3$bbZGlcc at jv|_w}FhpXCQKL=@A|*#4pa_*JuQPP;DUaN_
zs1P1U($`VJ?N8 at AFVPg&H at W^5>Sw?nOnmP?&1`zhpiD(u*;}QK=|9ZR^?y35aGPl%
zGXi_i`R#9>Bre>ZUplz+Sh-_cX8xxJyz_M?<12eNPw{uSq-P7*EYAIh>qdF2ooch}
zSKmx6K9=`!eY>U_+wv|T(m!bF{jOXY)AhD4R^dMp_jX*bg?;uH>BsYH)}==g5xOr{
zxf~$xV{UR*wJ5FJot*ffnBui?w(q~?E7b&jglZq#eG867l`{q1x;(=vVLrsLOMs2(
zo#spXh5fBz82737H2+6kHvv2<aQzwIs(AUHuU)$J-iCw-=UVG{#kKO20T4Pnl?%=W
zrKk?*@Vf80-0_<9=-BI_o4GYZIgeE555ndAnoEq<R(K+gwS8a*2e*&HIXCW<+{~~v
zx7YCBY-d<&|Fz;ggo#&yw%e-2Tge|3UZQL|AD8lUO4p<Xi9JB+Mj|-f4-2kHzrAkx
zS17&gQq#6au1#$42N}PxI#mdhv~guuzr?pWNki8BG!QW|DE{Op>_I!9wRY?VkUXA)
z3mtz1^m+eCM|E&qcHVN}(^Ba7%B=L;SnQvpK%53nr}d~!5>t<j_x>HT5YkoEkiUsp
z5=DKVgb$<u>c9IPvi~S9{RuxAxZlI1{1cUZr9P*0h8(R=waCAu)J$yBAxXD07Vc>7
z&|_ZsA&1tCG`2W*)oEi$#}*jo10au;vUALtTeprPcPb=hqn at z5siyTwsbFKWHBn3-
z^LCNwDIdANG2`YM>loZ%(EEX8h_>$|{KK;Lo|c7wK_7r6rOs_PfCl7LQ36>Sf?8N$
zqiZGy%;{}Ll-tDf20=EBPSXeVf&_umESE|;hM+Z({NUSFFL9qg?t%Z6I$djCpoU-Z
z<SMiLNE(h+f=R?w`8$bJGJcT?uwzTgi_L4;wMfslL}{FuuVhx>*4ki_%C}IqoeCYW
zz{Fcj>eO*tr&n3PNEw%OU7Yx{hQ5IP at n2?$g`Yb$5FJPT5cL!2J8o at ZtJSc}zF0rE
z2$K)Kn_Ugt{(E$KQd%PZ%2m<2!?CRjE*+^9Uzlb`+k)j{dk^yFK%xNI*s$d|B)o{}
z0*Gh$C&&ln<2SElgPZ`7YLAsrc#4_Rk6q^yV&PPPuwE(a$@!mNLrX#@ydR8SD2EmA
zh-r+#Y~551h1m9%Ite=0!^>v@!Y?wDZzdRt=KMbYOn3T`M(}0nE}twv1~%@fyRI~G
z;w4W{Pp(-D?m!;)HYw46_OQGIrXRh|9Ru&Benz3FPRn8Mp=XE|$DI|DA=iS7)XM3B
zx5E1N{-lXXu!Z(1jl6fPh|65lhS+lO_l1?2hqO`K76-nMrQQ>=PxB((8=n_`X(oPo
zY8#OZe{<Qg5NzI!G`e;d_jBl=;5If`S$e0LxY6B(GSCoDbsd~I^Yl5#@@TrU&_CAf
zgd3HAOfOCIQ=Vt(t=eWjt-g5A^~lfOJzBcgMFU2!xK>&E7-<@^`<iNtt^u4c%^(Em
zm6okXEZ!1jnK`Aiea@{?u3sPI+nltx=$~?HTBz{Z^BE>ARrnR4{AmBR79&$>-PeY#
zpCX{Y_2+W|FJct-L)F9-CwB|$U0i#j;6b#H_Cq<paYXK`x9nnaM)Jo%@#^G9S&~HC
zV6vEnxFfDh=k-Xxhn1Fs5|e@|wfLS7WnIewTn?B|d(W?%?6NrX+ghjQ<BR#bIb=_>
zDgTGs{kiC~gu1CD=ZyJ7pmWz(=RdfN);iW*pEYgW-!|@{UF*mmfd3cp!Ve3^>%im<
z#D02Pmqn~-{J*fJD3}Nb6=B}nm<TREd}`&z@%t#wd7rC0ckB0okDSkY;InJJ+1K{K
z#rN{0-l94eJI>ATa{q~(Z}IK&?@dd%tjS_%e|4$T{?)!F%?52(5MRAWKsv52Haory
z5eTT at G0qXf2Eu@TP_tbN4`IU#HRqPBfDE&KnBl6oc0HaZi&?p;zlv^D*yoMkz43E5
z;Zcf?L1k|~=(@2R`+2N4#OP$NXxt$$S+T^|`XaW}`q{~4%lMj)zl-8BzeNx);@p;E
z)Zllu5FL=!Uz`U4o<4`O7Xb~gsjrnRcGZ7+v9Y`Ik%Nwd|M51dAd$R4Om~`)pwVD(
z7HpI$(9K_?M!`ZFKC`gwsB?D^-fz!u*KkVHlHt3Xe3%x+_#orPR+~G~d7x$Invt#>
zTkA~&pLz20cO8m|Jt+hY<8Fn8v>=p0>r0^u)oFBdIc-JF3K|i1+Z>BC=3dh>F=W{S
zL@!4@@kEbCaW&*vU_eefryuS|iu#~KPd&HOvfP`nAUCHLW|{=lGfK5VHOX-7Syf2b
zo5oKaE;nvhi#)ve3maEB1e2z$G;uI6Fm1`qe|Ps>zRf`ke_uZVc1t4c;=$O$kr}Pg
z^I3PW3Gl!<4J)d)x`ms7(KQbXz2=y5G&O-Wt$f~76X~k`u3yqo)PBw+pi)FF9okK?
zqf{>hWbu6<FE9Fk2)E%-K=!H)TXme-e)5&2bPq^C2J*SUVD=j;mg%l0UAiGC{6fvd
zn5UI*$m~gz0<A?d|DI>};D8mQ)TPNi_yZ{R_lt=LvYnx*X=o<38S)7lmpS%{Y=hUn
z2K?m7;8?al&M9lVsH;W)k&fTHHm@{)HEr-`7{jZ?QniX&-ybSF-8w<$-l*T5FD-46
zHJE!IW*q{c3T at Q>K!5}4FV{^ZHkQm_a()~XV0i=+nS-?#mvzB;iKRM#ue&#17$us8
zXJh8gFutxnC4=0bSRqEYbRN3O3I#Iq1+;@be7Sspuun~4ha`kM?d;FTS#O6+nGF%<
zHCHj=Ue$xL52!|Kax&o^m6xkR$miVb2)4Z5x~hhI1Fm46b~0l~eka-nL7F22+1N9<
z%ygFOv-bGxs}AmclPkDP?!W1&J~7RES;%=M`nI at h0R?fa{!fA~-mOa8pIQC<Gj3=w
zIQS at 0!FTJ at l5$qEwDXid(Aoj1o3IOYFD;k7-0YlI+bMT-()B}&VAwpTW6d4hea8}8
zfuC7i<fetd(r^-Q6K5`a@};=tcXf416(aKovnxXs2eBtUQV+B2?&Ce|hg83XE<c~v
zn?297V;9XWnF=SJh1Y^R<a6zSjOevOAvfh1`Q2Ba1TN-kPlY=zS;8;y7uaEcEG<0f
zTW{7KRsWSCsCQih8R)bQybzxkmpSx_7)BHvs8^|4ebQyZqjoZ|knwEBv`u|Ryd8+N
zLT1d_FF0;~xCzBlB8NL4m3~LP*y%_oP(v%FQJ+NPlE>I4Cq;vaC#{vj`>H!uFOGUT
zI~iCt51e(XT=qs*6)w%$Ks2JP#K3I68ict+DlT?Oek6FGbGJt at eE)T2dja1|?buwC
zb;|1ftNh7X<<}=`-d0MtG7oy5WmkQ)bj%X5{(Nu&y!WteBM*9Q`?RxxQ^e6o(LltQ
z(CKZVE88e9F7?%^4)Vu at t8&NRUN}SL-@(O|T{*^~@1=q2cf#xqk(l*RC=F<;a|U#a
zo^&1Y<kxJ%#7T47&Mq$;&A0^Zk}aWo%@)E>{R}|w906DA*1Dx9tna=8IMiI=Vng?`
zlm at xRMyIyNu%#_?vBC7H7-Fji<LutVeKi>M?!>M0$~5I!gex{*4QdY&*^U+AG)#rS
zCD*Ud{O)>e<I;C0=U~p;wDY`RrJ>pE55?IAj(`oeI6f_y5~P+pAUnWuE#!&#vQ=EI
z>?=TC!xZA5*4`%raOo3+z2_7y(gppXuo%_bhoeorz+>k@#W1pWWB@|;YC}wocur0a
zs4^EI8ud6WR^}=Us69i(?61^%t1Hu$4Zp}-jbKTi(zWx!eAIWU5 at l73;)Ildmuk01
z7w$@M=7eu^O2^7FeT7yjZ=&Ul at qOxf{6(~y+{%|O=v4oS&u9CHGcuSlAl85xP2~+=
z>gG{d<=FI)yF`~IIqiNA$sJUZyf^|h*J9?B{6kK9=IIVp^EjQHkU|Vg({Z8~z}SX3
zPl10g4u0Jf`T%>ZqD6mT8Xz{0iSu6lIH`nBL%MT@#Qi?M&ma_xJlEEq?fG7~bn`hl
z_Fi!9N&okN(VNS#7~pIB*+Z+|e`~IX)dEWA$jc3y^n4?yqUx~WM6Kh3vNzBR8&%<e
zpS4>DZJos|-oQpT|CDne;=O-DMY^mfO~N%uz!ix+e+|jP#wc%V;;6&hB at J-vP{60g
zW+7)JmN=AbG)wGU8A?_LhUNxPEMkElse*hOotXt~t^%8F-DqArwgi+(FOSwyl!0s@
zh3B8-(hIXsuqOVxUWZIUy`od(eF;c9?I81C*kOEAO$+Ug!(>Og%+>1y2W>4OU;iD&
z`~K0KL0r-5az>|SOo<07nB at n#j+bRUP<?URwMBx~E{Al#y4rphvSIlq<52u9K+OWm
zuk`xGZ(|f_Li<C4u!8NGvdFQc1H)PCCUc;x<}MCUG|bkW{dZ>*HI?0sAIID&$d}{(
zqaOH#y7T7IoCr%4{C2|!(;MX{Ung$!X5&WWmj12lY5qB*Mc$C$t|45Z!(CCfk+N0Y
z49MiC=8f-)Y7>~)gveJ0L+7>nR^vYRmm7uq1O!=aKzpX_$+O+89ywcHA^isH-2r4+
z8&NKq<@)|O-~D&p&4<Y3S!K#C2C9)GvXFZWt+wp*i$gP?Uq)ji0G*>&z}zyO9=61c
z+b<K%m>!&Gvr#fpv>!IaQyN&Uqzv&E|D>2 at I5z0bIrQ4B6e9ui!`meaVE&$Y3&8pW
zzTeM-9DG{<xit3t+i&H<1lNnJN4l=(p01|7SE`yIoTl5HCg3}F_ES|x_;fSd at ky?n
znIh`?E_#S09!lo>!rrd?#vAYV3Zkwv3|60U+}bqOWM&^eqU!TuMP^-t>@N#)0GszG
z#9PCTQ(AAwF7>K)cd2gGMp&uOeOOsvnEb=-zZDx?;(x!~#5v<BbcX)lO#;JSxTY?P
z<G2xP9;?Ij2aA(ai0``$3c at sbxYI~p&mo`K`vW>9>7%~UEgEXm`~vA$5B1mBiK=R$
zeG-XYVlwVv*y^Djq(qBg>%yDCS62d`spKdR|1 at _`{HQVU{xGzpftK`au)13Y{nbtq
z%_q*yPI*2c_1w7%TOx-~qsrb}uDhxCZb4#OGUD6|Gl8BXS=XJg?pw?2g8&ECOQkQO
zbvdfTvgVxwrlhr35D`-(z&uG*CNm~Yp$nk!y-<2LeB;J@{P6wW;Xeq|<nRVx;HRTu
zrUeD^?P<6|qi9J|f8ISk^d0m6jAlTF#f6+?flMap(@`xZcoC8$l6|X|_^)v%=wmjw
z(CI;gMk3^`lT2hCle`#)aVDi3y*BQ;a<Fe=*BORU`1+#-!1|)RKDyy9OW^4hd3P9E
zfOt2-ga*)4Jm;sh){^U(-u6cbx7~*z88TFma||TklU;@i$@07K#&dYD#_}lpmMZJa
zC<q-ztiVvRwO>?q0_O>8W6AuMZ at vkF7Ra`^LOawk6OCyi(u+Gf*On>#xM>rX5&j_h
z(d4eLLT&L*0;=}W7An?HsM%G>;%LT~Sl#>B?y3lIWk9s9Fy5Ol+h_HAWsTBkTqiF8
zp*lI3Iy5Mn5ooBiJ(C=$u4g(_znb1I`masnIcGWihroZ)RQ5wo%4J&jUr|!ezk}p(
z^?fDhjOFGD6SSwQZQqw4D#o4k{bwFQf4`kseO9mYcQuLm8{oh53eroofn2ImWhv=y
z;7PmRfwt-IcoDjwAO;`wo>bojyjpVTt8h(;Ud{i1$V{PG3MZCmLd|EvqXVU?@^*Ky
z=GOYKn+F2M?#$X+Z|H>QK7dPuW2~Tx)*gmgzgh479wl%VxA*-pB+jgq9yD9X%&xfT
z-leu1nw8Bsxwxd##bX>6_XM2%7?68-5qcbw3Ry4wM4lDD^*QS+{Af1W!PZRO(wGyh
zn at iubeILeVh)x)^)1j_Zs#`T})gpk8Kc(oMy))yQ>Awj(2V;Ih63L(Bj52KnBT at fI
z-H8Q=Q(6ATPRcYx0$?c)e*$aR!rZ&Qdls#=@x(HXQ^hAlNEW<3ENYp|7B}|o{V!i<
z8$s at Qe@?%A+BmXQ<2cYiqnOTk2U<5m48IRvH;vq~b1z2AIAkVGH~D2OsQ at 2ImCW!K
z=DLn6A4IokZJb_D%}!vtWUEpC0eH$2X>h?Jo at I^md6bpOT|7nNI>@JM2*{k3kUO*y
zVV))Wch^GsX|B~Uj at jTq#{><f0GsB!$N0ZDhySF6+mlou+9(X!y?D_22ThAZa(<)@
zYPF*8Ev*38Y6jE^*(#(!;m$5`@|X8`LUEkX&ik%4!pLUDWEbk-7DM`jmuusG-+871
za=|<ZE|lgTS3%*~vOJ+hB3VJv=8sUqMl~f at ZN>bA%C2KG?$XJN$0Pybu+#^i1%|eR
zTf>*{xdyNF(x>vOYQOBel%@=4jMb3>M>fVPmc+Zbp_S?%vJbUI_&>k<V2)wEgQqK=
z7`SDvMGyz2A`APD7|@-p?a|rM4z;C at XNLjV%UM#*&bEhH+x{M#a#@_l#cH==FA~+V
z`KIQ%$ou-cj9+GnA$H at Vs!!Fi3xd+~m1RjgA7<Q15x!2gNDz^vg_FgPfM at eMgZBl3
z+|rloi&u(v^|eNjeBFe14YpP=^;+pOGNh&}&9<*INFiv|(Z~&J-hjcK>DpKJjUQC)
zhC=4p{$?RlKPKAyU)<{4RmXcSs9>l3usV=~Gsr|&A?JC#%(UIm;F03YiVi5SF%JL3
zGotam2E~hd-&662-E7VMhfIr@#`tbE;oCxty~)&m&uTf`&2c01AI$tM7Y=ZU$?xKs
z@;Mv#tnSwjwoXbU-o<A;?vwtCZNRNZtLsVRZC#{Ru4`}6&1XR$sB(4}y+=*^kKU2z
zc$vxv$)?hmTZMWZM3a!EEsY_q;l?I!_kmcta_9Cbn|2;gL5Z7YRrw1L9}#!zIE5)(
zDA1hx3V7IjqglYeF1Tkh+uRdrWnK&|l8#1q-2$YAphiElSI!33^-fUyC=j0$;6 at 75
zxzP6EN7pCaLBqchD2|YW3e!Zg^K0}A6751Sl#&1e^J&f&zL&}mjE*Mie}n8aZ#gsQ
zF3!#skIq1a<jPKfzbR0tAT!D+%^@TWXS^@{RK5KUjB`(3E=#gt6f%<FP!{*WQyb;X
zKg$n!ne$c4DB0{LBt)O~yKdy#J+%-0chD+2Fw420z<b-rV#J$3PHF!kX%rvvn23So
zifier|L`%fNV*8l<1yP!kP|v at ka-WpXZS^tAvOF7+Rx_|uf=z_b786n!uWeLl5Z;y
zmT`sC_}_J|NE$u|d>MNm)YdR)uH#C25hco})lMvbD+qsDACJ7Q!=@qqW-Fy?P5S!N
z*gdUv;^mKt%^>v1xs0&GL;`dgC{mt)s#@np{R0f|IJnkCa$1I at Qa%2g-Mxb2SrG7b
zyzi$gcO>8JYOAQR(0rGR&<pyIotQd|jE2BvWa}cEL)9tB=f#D?CDB_K%sCx*u8LZP
z9}nO{N37%Y63vXWEzvJLhuQgsFr#@LN&omuzWVP_?)L%9j>g~cF(OS)!47N?C($5w
zq`Tm>qW}NcIefCAaG9TD57p*Xz&@B~M0qPsbc)Q6Z-%6bJ8yp`pBTP7X#THFk-f&u
z86}x-$O*Qx8-4rJC;S%7_~l;fNS{RSCZ%jka=-jP=wHA4A`cQ5 at 46SRw^W`wa;mG6
zL$`5z`I||l+z_9M3wku_RWM$5DGXZpES*`Vr2dhp(1pxjS8%po3e{gUfxbf+zpq+1
z=88X0MYOD+PBKb|#nsWkTbDnR?}R_k0G!6bGh&iHd&g+ at dn$qJ--$}JwHODA_}qrS
zgwr3cy!y8uHdoGY54CNXi@<OBp55c#e!FGrK1$W^_BK`x$YCdEhDXQk_U+J at 9+#Qy
zW*sUd?ZiHvuDUBkr~+G6ht?m_x8A4*C{F-Gx>R*FqiZoj?KK0aF$}Plod0;9aM4&O
z<glENs1~jwtNIj0f3i<HUQgC!2oN=B<DK=?MB*QWzXMY``KCh(z09GH+E-N%(r`b0
z5ONrLf$Sa82m!I#djI5!%&z?!0m6S;e}2)d{`<(NtnPHaALg|_s&Bv#BgR7V(j}9P
z^*m3Ztu9EkiQRd{eB3-GHk0`qN}WG}g_ at G%yHf%_Aw3FK4LDauMd4=w;aa5iFs%W9
zB0>}G?>w3<A-kIuxFJKjW$Y|6ZNclpc$Tgq)W`U43fe%tg4x<{RD!9;SDc&Cz(2nj
z>ik$OaPAhEN=uq39G`K*Sns>6h4PrMKB0OosuO~idMTq;;e1QuKV7>G0M<@j_zCnX
z<K{{=`F60|F+Xt89WDn&fsB|5(0<PqPq^_)A3bmlIwn^ARj^Y{^-&#DSAAJ*kcYb$
z)pZYI7u2mRV8gm at -pyA+4V!;;KyJQT&lFpwW;e#lL%nDC>tEbMYos(1B%_(Gi}PW%
zOXZOvsppu<{O_5g<P=}XcGlb7>=5_SV`;)|o;2vwboj`%k;m!G;|^Nb7kfa*o$3X(
ziHm0sYxDIJ3_-_K0NZfQPrjDgN5>?|ynS%|_SJcN2YDX`_Ve-M_Qlp_%f&JO{0KM{
zNF3g8ZbMjwus9c1)fRE)z6?+YnYgxF98*xJm%tOHmztWe6q?8FNJ;o at -U1^w*yU9#
zHFA8Xqguad-O|0COnCJ#H3~%2C?JxYdpvg#FSDX?Z4Kwfblv?euc&*cZZUJ8-4%jz
zgW<-b;foqvlu?#f2vaYeY1gPUKMuo4V#giCF0OWuX^z?5sG7Kk+sgqt&tdG)4S(l<
zW1}acH;*gKvHmvvp$-F_Tx3j6WW5)Y^A9msY!Gmd<*mbbO<dF9<)Gg^0lbxpV8dS5
z-Bbqf+SLxZM!xg(dzW!2y#d>?^+!|=25sbgD7Rs9oecZ3zmESAaNt2j+l>R8gWCv%
z`nri|atW#b7Zu<l&Gmz-s;`#jY(cG8-0wR1;Ikql{#VVip0+(D>E2Ov3eCUZT+4`h
z5?bK){F2}miZ0Ief%$HDq0L?$3q6<qPtEMr5iZq*ZAd<G{QRkphJu=H1oZ)`9l4Jn
zk4T3HD9v%YZORYbI-Hz)JSkuC?CF<xc`iCGP~4;A&QVf%X*>b4a)b0-+ at 8%&s&B-n
zcURBeO}}~-jwRN84-?lvZX&y$h7M=$TpVjC+<+Uu&a at 8P7%MVuj1)~E54w?FzaB6b
zZi9CGIGMcw<y3|6%I)9=s{kZ9P&!!6ak-bC7 at U+UBGi-p2SO@zX^JGVuB<H=6a{C9
z9^za8u4U|7$&GW{fL!Bn{uNJNFRjJZaE~lJ<TvoVYWdvc>cFV2348f#4QEE8>~6Nl
z0lg@`>uB(UXnE*kw0lVD)&Fctjk+3s1`)IKj`tfI#@6WD0iF}$lPG$pkpD!aUcRnV
z{NYr!8Kya}Y~PVfE_bV6g}8v at Zw=0H`jY5%=$f^zkBSLy-k8oV{36AI6*JOEto@<h
zki&1^2bBX7+RNGW5z>`bjwPea>@3`dd1IvarL9)Qz$5G5%i~^CUexhR8^_z|w|-zW
z|N6->|5f}d<U1++Vt at lR6O5~coa_QF4|ph#ZZMKu9|ixCzSf1PB6BM6&$o1Gh%;<}
zZP&j)Xpt!$NLLme;)qdnquW#_R{}cw+LKoyafdAT<#f1?S{vJ(!%HX1qIwDCUAOLH
z`F43HIv at IKR{(I6-p}gDy*hilJOe?hyY2w$bcXW#(LShYNF*O at gs!if4Gahf>Fh|a
zSS;=3Lf3o;1V8L+xn-wyHR1MB9*ZLR&ig9tIQ*413*5g*`X0ge(ift;F@%+$l^B66
z7)>z96C4Xv&aFNTRlPQ%OCDy$dT>97pVnC(c~||ytiyN-XvY8~7~qgK_7da`*glvD
zj|j~Em|8Zyr*!mzC-Jzs)&r#@O~MqST6Ux1XSiBc`-)cG-;d_Hs%IN#rTas$3(eAN
z?VIh^;z2211ozGr{l*I#;W?QdPpJV5D<Jt9f4HWGNlgp){_guG?qq2#Rsvb)Gf!FM
zu-#^4c?vz<+126I-G-9nTZ?%Q?I^sK><zxkT^U3dZ^CHY!6`_wC)C<_((jS;m$1%+
z--1<2^E<wS{@p_G>3A`xny*rvhJC{x1+OK|Ne4#>UR<WsmQ)qi6JrBl4vh2ozOVGx
z!EiUB+EkL-+OqRVch`@q?n}mSn<n?0^ZiGx0^7Nx53W?wg7 at Q5wYKNPlCZUvxIXK%
zne~tcyXNOiR7IfROBuOk17N4CgW_%ss%p1!lLi<CM)|b|bP21M{T3MghqP|My?nm(
zKDs2>hp7c|Q1Xrb0%!O4T+#Da_g>_&8!F5SI7khAuPoA?d^et8y+o{-4Xg at RkAl2t
zOE(KCFYFJQsb!vRqUSfmhww9j7WSn9(91tp+*rnYO~&pxp%KnJTYclSuCQqq+pp{X
zIf=I4Kp|lbMkXxnsr--W at ZJ>SV&T96AeAbx7F9SKYV;{ZVM^i9vU0X3V`9f}Ouq4B
zYq5rX8Gd&xEW(^#-2kuNYNV2#!fXuPn85=F#T04|eQb0(^ve2lI=BJ7?7fr8{5_8M
zNuW at l7`OO4G#nPKED<}8)E+Xy{;xCQIubZ%|C=mKxr>)wIbFjKq&COvjXmDBl6J2&
z-a7Ym{`-}4f{dH4mfq#(c9ptnl$-ge61`L*-1BEN=DBe98qk)x1|fV%MMOKpccNL}
zskD7=X#({`FQyn>Q^N9eiw3z9SRgT2sf!&}R*H3FtzEEumNJu}uc~m(R?8zE)_xFv
zlX!=7P}$tn&s1)Lrf_)tdGCyT1eVEb2n5<%H at UMopR88!ZdbL&v!-o`L?6MknUnWy
zG46Kvn(e$l_r;RGoG(O$gK??h;H)kc7RmY!=Kus6UlO_5job3Af&9+K>gcrfh-LJ9
z_v23BS$Ec!s<CUNZduF78Jf==%>H;q^E&`}21_pz7qcg^jwjc1xW{1bKc$bUrDKff
zEZ;7*K{N3ZBSKh%w8X&-Vl at 16y;!+G_%GMZ(9XZ}RLQ>ZDB9Q`@vaY1X5`7l<laat
zA#W1pV|sAThaBC+Ki<`sHq#2LoAwI9c8zaKst&l{fyOspgm+?+cm-kK9WQ$gnOcF?
zWv9xy^H=G#BJsTJPgCvU3?0~M=^rTdI&XZ<4>r*Fb{+I41 at UYaM<_{C->U6LDPU`^
zLpbVZy(1ChWna>Bkb3;L5Nh1VR3x>bt0is#+FOEPJ9Jkd=2Ld10NOc%qT$bZ_b(u8
z{e082#>A92HlUb*SIsN-pE>lU^D#1T^V>#`&w&WnIDO(2;X7C0ZD7Qm9R<2Ia>6&P
z;`>VTx@!aN@!KUkp*<rF8g}J$xz+T{A)5a?Od^@Hy=-C4X{>Tcn1c(<fb5GqYk3px
z)1IglC+Np==sW%WQ$^NH^9Q5$w6CRmTpig=^>tq_xCV=s^Da!}Ce9R}N~~Dk<hpJ9
zWQIfCd%hCXUoE({tk9j+)V{$u-E7Q`U}gkGv(Ky0bzJHEQ-t&J&Y59DN$}5(4AN at 3
z-68c!Hnh1$J!FcYYv-VHd{U9)Xm6HqzKPPvvNI>qwb%CDGN_k{uwIARJa8^7a}pM)
zETIM?4OI>(q<Ph>G}^5yTTKkgkAZ333&eiMk-iM{6H)1;lp_zG|IjV08SrE&^#uOl
z>Njc6TCRMd99a81{f2`Y3OLee^Y%fubj?UGCL0cOZj5bIKG3bdpz+b}5vhe1REtCh
zEox0fD%M!u-%?L8($Fxb-NkG;$0uGI0g}?%ZWX5 at zkEdwW<ODF=A at ASi|(EaEy3#7
z3*CocA4n?Y7%f!IpjZ(>hTr-cfA!GWkm~oB>^YCF9q<i(hLm9JlCQBUMp0|9TcmR!
z!B{2vj4ORaS4&gr24%X)^Z^@H?lVYeZ*<kaB(J9QT9J+G9zhE}9hw1~=H3crZ(LrP
zh(6fTkE<bWL~s8n|BaJ+N<Apwa*@yY+nNSx*+hp4cZDw8u=9%lj(m}M!72e;Tk`X!
z9)C-nrlo{<kqJQHdnPkVmRtG@<pU{yR<mb91w(4ie7JL0+TBroL^}@k8Jpe}I$x at G
zoEhB;EOAwnl?uNc$QN2ZZnvuA4+iT}4+ at jAWtS#p?2s#Y`xSMl6chYu+yCS<oLi^<
z;3DVR7weCET3~!Co&itsPZQNA4u;Tsh+6E#pGk>&Y{6dyA$ka2ovILSnIG$I#UssZ
zX%s>SGLjo=U4JCxs&h|HeGJOJx_ at T-q$LKpWp9W^q8~MlsHfb<hwgm|5q>7oVnR<<
z`eb_-|D#q3_1f!jQp98r>_K2QiKQ&qEejnu^VP%Yp4y<zL&kPbpyYJv-yTnfa7~lT
z<8-e8Dp^J<{GxpCTWKaN+Lx|%3_gNIzVr%Z;!)pR1V8JsG^1H*PIGYQPPkUvMTNH+
z?wtHti;mgXi at AZkgRD)*<Li~9a0)~pX3Y at rG~!SSJH}_X(3t4A@{yqQ>WS(BJMHo#
z at +EP^^kJSCJTHS)SMzK$S(T1%puH})4XKejsBgiC5%8>K%K5k)tfy;EwXbwPW58Su
zjgd7In)y(nwmccV`6<V-0z0JI3@~7vK0tWXdoVbWO(Vq&R!Y!C>I}VQjyvlqmG42<
zVI>NOf!R-+Y7ADhuStZ}morwaTw~vs1$q^Msd|%#gH7#-Y(md|u at wC9H4(P{gsV9G
z5+UjdJ(PSpKBE3&qpcKN{m`=ekySDoKAojOyyBf(>}-%Dl+<*Mt<PFIm3At<?%K8C
z{d4r-%GviGrYc5LWFgSf`gtlhoeAoyrPTioej6}8)Ht_<5$IcrZqN9cnEzO`bZT2@
znK|fLMbuT_F4$;%T|c!g_jeAl0F at Wz^`;Mh?;G+A3NKuJ8c%8yZX`H(2cvLiy<#Cn
z{RygAqE%h_A9q?{sWesPNBRys2mfh)Nx{dbh;EH#yQGi$#Sxv at 5=HnLDs_U+S}tK`
zKay%3o+0;CQdO3Pn8~ZCsDKZ&Tj8>aiRogjU)PIMeJuuwIbJI4q6i-yJ0;u>eg4tf
z3h+RYgVUFPm1Z|_C}~&YYk>QA at _`<!>6-INh#V47HrsJe>P$_eVyU%UGaR=zz4m)N
z6;!b`y)|KnbR6yML)7h0^C7*h;B!c at HDapVo`Bp+1%(a#uAZ=UOtt>cYex9<_(Vpd
zLiNGgj+lA23=rDOzG!+)5%{nF6O{jr<gfV?ko(4qDU5oI#g#_$)Wh%f$ROm#;q;W}
zY%+w&o)sTcPvd-+N{*C3*<<uo(5A at W^A}tqm47hZ*0dZ{;rzTt*W`O6%FK5%I!{`l
zX61 at U6%POmks-y?Ie)^q+gpZ}w;(BjBUxsXhkZO0N4yGqr%@pzD{w*008d at rYWIi9
zqKWSh8Ku^&OCwqhI=FJ%+|EOIgraVW7WRz0cjvO<UQ<IYL+#h%jW0&%n4mRZ;pxgJ
z_gtiLU5>L|Pv-MuEAI^KQRdINYR6*_SSv>lh6)w<5xbEx5Zy1R+{LjQM$@P9qx<AD
znHEiPLZke~NvReI0*+>5{`7_VJz^baeDi&?Vk|||^0m}Ilu0?alu1$z_wySu+INj{
z*OFV2Q#$PlwJ%DdV}<R=jZ%B}gSSpf6Zce1?khT}))ZT2ZU17OTU#ENFb-DUb0Ua^
z^&T;<^<EjRJO8?CN|HBws?;=V4F%HGa5%hc?1zw=H}&&X?BDdL33pKP2lh49|C$Ki
zGR$&f2_Ai3nboUKkC($m__Ix at 9K(hi;!u)xZqG#_V|}i1r6*xL65<_P)#f#v;xAq%
zU06J^hK0qEgnAWh8b4oQb=tg~oRi?rqi;VE{oTM_X>{aJGY|WXYs$m|d#_Y}PJOAo
zsNNsK$CGzv-<{n%GwzT7cqvCxS;)2G^D7T|?F<*4)prsc`+1N3#Mc6>sOmW$%QAqJ
z>Tbd+^@Q`M_1T_WpO56tgc|AIOr06|wf5QNO`2p1j9jqf*`Aqp_9a?a7CQv5GB{+r
zS5fmAJ0M(<E+^4&NK!kD2>~kMSz-$}6qvm+sEi1dx)ZZY`GhJ2U`8OC)XDueO-NiI
zCpNbG?VsIZ*!Q>5*QsJ#4K{fH1QE0Tb^Lh6Z(D>>tZ{DwOU0<_ZfHz~gj#iRrm7Mn
zyEYuHVC-%ThCU80VTAFzsVjA<K{TV^2u3CBtYl5-;~c#8{#bL at M0!{|l_ATL-DIoA
zY+^*Y`xx<g6>Y(#7EVEbP<3|of at 5OwgS(0!UCn!n;=zAJua<3Fh{L9agU^)`cN&l8
zZ($Gp4l;|{WD<m0H7u4kJI24 at H>Ic?jt4hPQiwkI!Xrv*C0esi*Dq~TOv>zP^35fd
z{z_O}cjlF#Z;|#~VE50H!Z&-~j&GH5eeOv_CTtbJl%7p!#H%bXZ2LhzY-02H_sS7}
zv%*UFoIC0UpZ9>ocFJ#w508&HzFpa(*ouUe^8K at a3MHn-j)8SbrL at W}gnFEW>korS
zL)YmyYkHFho at Gi1-z>642|ttmauj;<k62X)J0)0dZ*L%Vk^O3;Z)}X9PgDENn1DK5
zWMJrZ59;e_kcBZ_kjeT1K$7VHIkF(h2e<JkSnlpvOVdDQ#h@;8Q)8N5lgMb&aY at Hp
zmXV?#i>6=!eK3ys9_}{s(2$R2WkVdBE&ai2cP8{lS8XSJz?Sn-mbOK_$>L2^*?&0e
zVQN68>SB)?#=H+c{=7O8!-PG88-KK at w1t~$&=qmyA(xhl!RD(YFSi>^@&s%*=`;uC
z47%EMQo&lJazRI7qGo2;9WR}0^A at zFHg8UY;}_J_FA%}$-Vm0Tz|jb;K194D&*N3&
z at -$35eMJP4Wq*Q{7F&}O7jWjpBBNm<G3W}FXzUquMFn+!-c5XCCFA4-Yt;WwYTZGc
zd(f{()A6XFa6lH;G5s1L{H{j-+YO*wqI)WuJxXQXPfKGR1v-;0cYYl at c-{M2nMQ45
zHGjs_BtLTP-BuY0=<i^4LQKu+F8a}3b;k<i`m*WaegyZ7aWY?iUs$>HKqxPHKYEfy
zJ8Mmh$rM`I;LR#nbb6F+&{X6P(^Lz;B=0~iHFgnG3-=<f*2?H_FY~;!d5JlIjAJ%a
z`sk|Y^#kn$;Hu_Iv79jgvj5{l-UuzorgbpLxup5l4kcchktk2*>7}LP{JQDKF`Q$A
zxEDhT7qD0!|7=@}VhD(GJ|guT0Xag;qtL8owMC5<<{3L%+-NHnzygH)I*t$JW}W)q
zeU$BW6z~*aZ)4J!D_fXT0|G}K8z_UQfj0Wz at i~eAjc`;Q8Sp!;CTqY<e{plfF%viY
z`lv!73i0U92qe^u9r|&Mn(g=iVmm2=kaSO<k`G6p48wxYqd;*c?Lqr at n)~o{n#Xq7
zV|*@$kdqA{J>(YlPpnc`#}h-=;B7<ok~y-c%FOxt8-2%4_|73fuF{x%n9~$=Db%7)
z-$vknpi_NxC=$$Qt!86fl=QrF9&U*;IL>F7;WNAZ-E}qR9Dg<ie<AP`^;KAxI6dpN
zw!qp<3rlexZ_F%pIkpEl0xzTZcDN at xr<UJ=Yl?&%FxK|~U8hv>-|Y4sKVu^m#oV at R
zRNFfjq0X)LbU~!^!I$~X7sr25hr%g1{H}<%+E~N}-EQq!|BUWa9Qn*AU7v!$yb_UV
z+~vu!5BWTZH^~$|(fc|Cv;0lKR`C at +vY=@5OoRi=n0-kN>OWTJ8Tx8d`LHNrfWl#n
zoPG9_uscy}G4T7#^n-g-J(x?&g2D5sd3VGVMtX`B!diGUHkB%%`IA<$sFi1n7A2K6
zo!hedm0V+YQ~?epge~c>hBu;q?Y at 2q<x;0mm8cQ#jOMAHh>k31j|OnwaQ-LMP{4zv
z0Qr%I5c0P<tsd@%+FBWyC at jj(j3Yk96_-(ZZ&8*gU1~=gqB%`QL48ri$Ueh?cwXGZ
z4xMT7XI)OCk9xjWtU0s$YMH>Jzb=dd2cYGH>DVo$#-{;ityn3s#9i66h_3dfiWmF3
zgOIJDf9mh<2k$Lf-%jDH32O5HsRb0ROP%dedSil&e(`%9c<o8(s^>6e*-1X at WNDE7
zD+f^|EwL8wNv>eV5L~|X at e7V`XRU^g%%24n4Mrie8>km(XPtjzHwX34=2u1|;tCVw
z5u9a9^&I=X>9zoCRWtp at S(!*wzuB}}gl_u#O3)|d62F6`KG~_=eNaec`7?4rD0+dt
zF*&tyq;qG;i1)nt!^F>E*~6_XsHku4wsmGYU0_LX3o*MoFN2i9-Q7E`&48za#P7GU
z{0*6EVy_!q5<Ve2vc0!JgEbi}F+QknB|VO6cg_1y3SIlu=2&pnkFloADpUaptRus>
zO}`-8j>=*Wt16<O(Oi>U-K}ZF((UCHrS at R?t?u*=bBN}^l6VI>Poed at pvh?UJ#;JI
zI$lX_nd;k36>4PX-|ls!_|#+t4pGv_gP75HvSnd=(r_7mBcA%}CMwZiygc)Oe<U at u
zzb~xl2*|v-6Hr1p?>OWCvs_2fbGY*-E|0IU;E2(Cq~7SdBRLHq-wewrZW8v0Q at V>M
zKNjV at dYY+PzSyv~g(p|&I;!U_uBO-O26xTrcM#Jq;b_3=QnH7Nc2HJ~!cu3lov>V&
zY8ToBQImmf3p>|3O%XJs*vm0JtJ)%s1P!+40bTg<?Z)Kbg$HrLyv(XrV?i#3&h#Ti
znn1wbqu*O>S(11tMos3$W{QP)B|bE818Lou7VgTz!InGRqw`*=@jGv`x~5pal2bqB
z2x0!#h1sT(5UkV#SC(fjB#I9>9j6aO=?#h7`kMDj{HF=nQT0_RQ*S2)iNC<+RZ|7Q
zxD>O1E-<r_yBF9Rdi|K4I}%B+E7u3}xMk(h9}*HZ`aPfq;u_b^9pzys)fet4MED*l
zOazO-F3<bM^cfd3tIQ5ZFn`u`@l~)yL%3Jo+zQxj)X at g+(Df$>l3oYY=%qlrm8x0=
zShI(2S#w|pN1Akb18m-UY2Wd(xJRvXRJsNxu1^`JH}o0I8}4 at fmRuarmkRj>C{M4w
z*EL;>@m(ddbjq}nq}Nrp74sz1P^|kCurE1{A3?7udWpWl!nle^6kTZ!QWb+T#X6;#
zdY4~1<mtST6{yzM4P){QeN2cwr_r{y{Z`VwfxS^~zCW}qay|yKtDK4+*<BNNpNXom
z at SOpQ(=pr7tajy7T0^=lHmDbAk at VuWK%_!zcS(|RxZh2V9|yQVzOifNpQW!Ak6bH{
zmNG*cPp99N-5%s(hnHK3r0Rtl9Fp;|6P(6Ik{j1(zF#WNlq3;7!|H+W67GYma2}p6
zN;AJ@@&l+y^|_PNXH1%Z?Gg~lS at EtDeMT!>xz184mER8`y;~!GTeNV)^r_Kn={M+t
z#Eoak&o}`wsPIW!SM2NUYM%d^bKb7T3A|u*xn<y`cnI*{aeLliu(y>S_h0o at X9t3<
zMA!|(nPop`t at wu<n&pm(v9_?HNh$82O}!ns_wcLTV_7B<UhH at UyI0-yA-K0ce&n#+
ze at r<vXs{sTy6aB!<i%-T${AXE!mZ91oi0aL$$-bA(#7?A<z>za^Yy%5E4qnuy>eR$
zjlnv&!oQR>fXs%#D94I2BBVN&TWCvWYf>ZwlwslRU3t`<edQp*olRp(v8gK792nSM
z)e+{&3uNyw-g;VD`W`<k{wujq3<Ot<j8)j<R=8&BsX)B(t5g%yE^03U99|Lk&;7|}
zEKBN8 at V&PG90W}Zj1&Q7h+iL)?oQ8>%gldkB$@_(0HB#^s-%EZ^fMh&`FIs)Ufdep
z=JNm}6Jy-@(qn^E`tP651QmJSlkJPx{ETY~EVaYfq@#LmDmnhC at 5-(%7c~r4PgkPS
zRk>kH*F|w^>4YU$F8I2WKke8M%dKcWWll43XWWFy#q0ALVT%Jc*SY`cPE}?x>xCVs
zF*{iwT=ezDtf#xhR)ey1=dJ|oy}^JPGb&GKPIgxO{D^%)nR4vMp{1(QG!-e}v at Rj@
zkx-sgp0 at o*S&)x(d>GUlftx1T at GUk8Z-u3sV6ELJ0dPPM{9Go$@M!Nk)FxRCyyLZp
zSr*qQd0Ry4hcXgK=hmW{DSJW_wW3*_G*4a-dx!a4BqBVglrLaUv7oetRZQbFYz{dD
z`)G7VL8faT8Bdkq(~p*>$T!x;-$9SIfbvJVhK=vY$x2;j@}RBH5|2n7N8u*|_AudL
zl8SqQoGWLD(r(c2H$d8)$LgZI$8U8!l6FM(@4a~JAo*cF5d-FLb0D+!1`QY1mcb**
zi22TampI2PnDJ86>-g;YrNX5aPCV;)e#I^Tf2-8?B(_&sf7lJo=`#+^sW>SqODLQP
zImZ>SC-1V{6~=)%7?q(eUG+}t>-u-MfHQQ*_bNEzS2DM^M!#dy;CUiKz=A*CRbIm{
zCUMz8PAG$g`(+L|vY7D?Yy6I6jqch?VD_6jJm at NO5~6YLN<KF!%A@*5q1iJc9XJ0=
zR4_;<Ufc0c at nk!;0iyr6ZGCCirFW(i8(_(Df<R0Fg511eU~~GY+cBJ;wxWe6KHkt;
zhy<uAYIR@(+5v;(At}e}a_zkP4C(&IhiE>!Ik|WJdMbb&pe=80)xKIB`ZEoYTDNT*
zbFl8t*js5L(+sEOcbOHP=Gwao$9gRjsL?K-<2e)uJvq$h8AV0}Co8$CH@=DwEBuK<
z2>H#P&TK4|-QzMq<CXg-m3SI!a(1t)zFvPKNZ&D<d3X#`b9ks_DlCf1>GU3;f_syk
zUD;1KoAtT)y-}7<{T>b_l^&%e^Ls1c&$?&p4`iie?*mj0bGd~^v)|<F{R7n+fb7US
zE6H}Rdp!^fE6<MUY&#gFwUc!?vOeqEH?Gbus7voF0(UoQ_oq|+wUW`@>(9}ueG;N#
z)aO|zVXG1-NRE=Vk!kosX3)J5?<csze2Q3xJ+m3TYNxTb?A~-9*felAlOg81bPU$j
z_HW8srNM)7yhOnzy3p~<35UKdd}Eer7A8eR7 at tPu?pm5cF at y4CQFOa+LgLvU_@?Qy
zscijP?u(Yf#)I{EgX(7GzD7~mu+)>W{y|3RHKgYtJ&AQYqs<|UaAKs=qd@`ZWbAXq
z-jqI!V<q%65uk5P&T=LxgnXRx3cApRx>{0Mwfp8-{P~`%BudvoIDbGw#Of{@Yp10a
zo<O<B%lyO}uD$~)v^|F4kN`?4Y(Tt(^?+*Hh8CwU|KZ7&**Zp;`YwYY9kvw03Gvwg
z{yjXGnudz)s>_aqF6Ypoli32<8oOHm2Hfe(TtG`sxQ2E%-w;84Z?rh`v&>d(h&04+
zHNv^KtYH?gy=O#wGSoBrO&Zv;W#A_wNR;+~e&+%SA6wT#@Fi6U+h8gxQxCeddpvn@
zr~Ae=`hV21w(-pKYs&+(;Vqkqo50Ryy~QSl`0S5Mg&QrL#H!4bnSg^<W5nLmY|4up
zIN}c^QO1Ro9P^VFPYOSEY*;IO#y$|<0>Mw@<QfrBq)9p=!dDKI!IB*6vG!@Eujp-8
zwb2R{nlHs5T5BPhp?41iN4l&hinf}y4%LI>(!K3q)wCPygjdH9LBw?S<l*#Xy+{)l
z&PYdz#ZaHKRR8#5M1AvpRr6ACJ}qU9x?#s(m=FQa+chzTe)vCReR&{M?fZVE(k7K;
zH<cnu5<-SaDy>v1sZa??_B1oLNs7F-yb>}@QmGW#lVy}O+laE8!C)+z!3<;8^Lx(d
zecwLc-#`6v8s~YQ`?>Dxy6*d&c_vzqnIq0deGwN#mIl1P<DsI3$TSUtFbF|3ewMt-
zQ9Lq<(@Ds&2kPRGT5eHR5Z3Dw!v3jiBL7#+ at kV~1b+O6fl+u%Poys2+i$A1Km`8@|
z7zg`Wp1jPiItRVq%dAW^sC=%k+Ur$EAs5(KM4l=Lw93TKwwicn1O{!#*bH+M{j%df
z6Z7OU4}idyzm0bnY|!{w-qAG at lp(;$-kI4j;X-LhjzQKQE6sj4ea1TAiShirYY+;U
zs*9G~C;EV9CNMHsuersf3(WopNij=0u+L?TIiqF9pCJ3PMSih0VR~uhwX2)T(M1j)
z*7dB5l2oK}Kc8OCaeF_G4V=^r<L at 4oa!$j|yBSbR20d=XWBU#e4C<e~nq}S_rw!KA
zheru{%O)}?h0Bb3WHyp*t;NW9D9neMt1(S7j2mmJezvT(c9|$YzmHP<bA%I#?r=Py
z7E?CkoEwduMz0sh-ZN89=1XK>m`n0$<l9zo*4&xtMBvH_5Tx?jV5`>o<TLzul6Fjb
zX-U?K{n#tRUkDS`F78^kL6%f>H2QBf=W-+SE>wFWCoKiF+%LyDsBto#se<kpDD#a%
zxJI?2I}&S^QUlX>Z(#m3zx0Z%3n?EeSy{e)X0Wb!P$l;(-xk&2Td|FmxH`Q%#kKV9
z1;}Hf%d-1$>b0^nyLI2DEKa&po3)`eJo_-!@~&a!7o9juPumB`D&<x>*}Y>pS$pFr
z5`p}Pd+OF~^0|rZs1dFg0mt1t8rX3w=vK!&Vexx^!_;8@?%AY*H<YIDyR|Dj3Z{z0
zg~NS%V?NX6zGo&a>X?zU1131?kx?Y=)<mI?TX|^5vk4VvN^Fc{%EfK^rmu~!@1>_T
zmxoQ02a9*(G%j15&Yxi$&XKT>U87L0A9CC9&dLl__;k?i?Dpv(%hTKDl<LF4;|(M5
z&#>d7$qU$gy(3hUopay^N&~gu&W0$($3s6od~Gt_WiLi>zT5FSv81t&1nnBlo>ZhE
zx at 1ervk)vB)s$mFwk%$RYSX{Pq($8d%x~UhSz6*Q&#K#BCP=TDOUUzh&)$CuXPfcM
zf1=5N#atb1(sw_v{!wL#>wk^dunGRQ(JJ}Y=6A`SRcgxE at Zru69UA^0#n%e>JD;oR
z;q$87JC(w6JeF at JU?no%c&d_gsC(v`R*c4P!XHyvODfNJOt{!=GKW2m_}s%6?5<_U
zil<!M-TW-e;OQoXWNmupj!F;A(PZLDzT0!-HQXDf)a;k at 3ZK6BuFaV87c28ijn-+G
zc1AxjSnI%9Gn1j(>w$gtNg at 5x?a9 at V0p7;;roy4+r<(P57*cMI#Le;7!Lz-doa{O0
z2yMk3u6(PG4;61FU$GBS?tVkP;~`n&nRAmOQJiz%$xHEY*TDv)vrxG>)%mh#md{9W
z)UAN7t4}iphUJ!~S^3^^@2&*YUm?;A*50>seM^y7!Leu!n^8H6fxgGbLX-_k)5}-v
z&$)t+KY~Yjr<#!?L*uLrDrw1H<G00IA~X#&A`S4gjK{>Rfs3 at v*<kUt9Zb2F at ZrJt
zdV^EZpMy_b%qC=i=#Xw6Qq3cCrMN!Vjpd44hDcpwT9o2dzkXaEBk6~;pXvrVZA4YC
zZsa2m5zhl2f2TaD*QYynH^_jbcE)^WXw*#R4QJq>4yrUg+D&KgK%WUYbI1bxZ=Tyb
zd6aK8sb$%SuN<5C_C#LPzF9}oxSOpi6IrvdFiFSVPIfkOk{C8aLj;#PUK(mg68<tq
zaMVkhkwwS8eN$z!zX<rq(JIgZm-ialtuS=T#X#<%RC!&b8BVykg{f)K5CxX#P-p+s
zb9|K=H5gn5F9685(o^*YrXu|p1HjBX+r4BtODZPOOf3ug-?LL`lxWW3N_BPo+aiAw
zQ at bTo(_jR9X^t5SfKoo(^OM^k7RKW&YYEpI!e7%TwGEPDN?jz>GCf20C3}sMP%He>
zmZ>>a0hWlXvv2d1U!^t?Tq)p#{<gPQ4Tv}tQFmgO^Oc_WthJJgHJ>trQ{BJVI90`R
zP|;Y+N_7o9rq@|0Ue<o!r<~1?;a7Q&K%bsLR1+o&zQYSL6Ey>#j^e+{kq3345WCx7
ziYxqu=EBdR4sK_d&?W*0ap!umfwO-zw0&s%QyoY{apJnpS^;OgF2UuCc1%YuA%-2V
zi<f&CH&ro!Emv=u01Nb@#j%_Z2VFPhv1BwLbMTDNODou7mrU(@k9ym?b;&<HUrSpI
zZO~~>=v at 0e;gaW(D1%5ZDRW_HsMO~}9HL);3qfl&z?vcx$==K^c?_P32+j^X*sVtm
zcr<x0plg$2Ub(t6Wx6~!)as1EF-gU44)r;BRxF{+WjbDAz at UYCPy8$=h&PvXt$i-l
z at F50ktRduIPM^ky##tMvTy6qz4w7YguZ}J@*+5NY^t_w&xqY5?%-Hi2f#8tzVSjX2
zYH<<`8>^o- at N#4Gy)avE<DSK=E32ciO51syeB3RA^AF=@Dq>}eUfPcgp2Rd}AW8an
zq}$aKTzE4HZ at p+cb=G!3I(62`KfD^L3XC_BWnvRS5*g1uuQT>gJp~A0_4f9qx;_mF
z{G at COLM4=AoSyKMRLp`hOx2!7IJ8SfzZ8gJ<K!(a4XjaZgafoB at bfa~uaB6!W`l;Z
zZyM-5jGL<fYO+!ksZRhEQ}Hc4sb at -C(^!u+n&u)<rx}OKx$)h|fcREOOP^_uD~Dms
zPnwkp_X^{mk0O2^)S?DgG6U4%L`|Ii3-^i~0YBz|8sdeFV5 at 6J_fkJ!DIz5C&Nnk{
z7nfO!fUMDIa0RM8kX_iH2s+k|2}i)}xsdd6h+UC}vR at 42#mP9F#<^9O44!kZa^B<e
zl%Vx%@70F~wDSAk&lO|_-Q#NA*xj`iH8TA~7$7$!>FT{d;8iOwTenDz at k#x@#V$0i
zj;|E>#1F9mPIcAB$;Yn(<yeF9eu2$Qx3Gq{(18Dm{K%LQuZ!1vx1wqT%pohvL}V=n
zw|W)@lIdli#PzSSM(&UGGY3v;;Ol-m;V1Di2efQob=1CxKD;D{@FgVF?i92_NKZ_y
z?Iw8A3XulMZ`hl)aufxY0}ryasZ&Ut7$?^noHl~RUp6ljXK1(@NI#5YRSYPhy;>AB
zXSFA^k)#AOc>NT;;}8?hfW08E97dCA-wyxq&w5Bs9~hEut}AfDa{x;=bd1hw_fW8@
zs4r|6UbWaQq5&f~Z*@<wW7bcvM(!?$UN6i2FyJg4TKR#92aM#;XX)MTfiBsM9x|<#
zA2XfvIx15_FY9$2oWP2g`@DRkXnX?vk_Z!bw#&=d(*UwQV0p{nj3js;?vuaTNT5ik
zC at wVveAE)ZSIcUVjKBz{$&6G(4zAoPs!|zH2oq#TRMIVFnJR)L)=J*u$iRc5B*1`|
zTbT0At0u0ftaa$EeoTBf at I%_7Ml6hpTLr>3>6A(wLZW6iG<?Sustao2>(Z=qtE0Ot
zw$V6+4&)Bc<Exx+mB at t&`6AkL@)svD!OIaBqlJ04V<=^V$Uy5wDHqM6aZxq|DO}Ld
zDOUrVhdTL{k(ILSkmoX&JR2!v1wZ^B6JHPLZnS6 at qn#}jgGsBA+glAT!=&I7CQn0p
zx;p`!x_{B0a2%wel~~FW8Sgy at JCeLGwUgUM3jkSMX}|^zsXa}HY%^FWNkuM48l)I6
z<r(dKF?BgsN8Z9>V2!;;&47~rwU!9^=9l7Y8M%amFbUdb{~~~ydL=JTx#%9)$o(nD
zC%Xre(Pd81IfJCjjRqOHN*4*}34 at Wqglpr0`Ue<oo=zJr2A9JenQ<Vy=tnJ5x$gJq
z<mW7VNqps72p}AAp<12o+;1-2=2$a;6>e!cp=sb$^0L=Ugw7{tx!K}tNleEDJ~)9*
z#SJ-)2CAQe&Kry+H~C2lI1c*PgvE!G!#vJVe- at 8;mo}JqtJG*TF&vI^0$(EeS24A2
z_gM<QC|TyGDN;Ufv&SLk>Iik>$HXvuS;nVVmKR?vqg_cSHpR#$PwOOF?)xO%#~Mp#
zr1^Jj_wf5J7`!CVAInGxQ+Ao8)|@)&K4h#^(#=G67vo!Jz3CTv*lJl5`$#G%UQKbt
z%CY>JYl?>mGy0iL+1Yg^h$;NV%q84eFLuzYFNg$mS4-_j&$zp^>QjaGgaq6+!CYLw
zT5 at X#ZG=G(24IIWb{YB6n~sypx_T**Jywg2v3b!BLg99I#1JxjV579fcE_i at OpNs^
z*lew&?*Br^)#RE(Vp?r`*FKwE)JxOaj62EOo$&*0!<Oy9x)WEyw3wG#8z}s8`Fpm!
z#j$~teYa|CD!s&5<C<J<b)<?H54LL<ugq2^(o?o5d(r-!UT)&#a4#);i^rwPZ#(g6
z=p--jd+Yb?ZUS^2?xhh937>_woi?zM#5;(DrCK`%=bfMlX91J^iiHH=Vs;#`Eb33}
zp!L!u&181mGH`q-g)5RXr{}^l>`<uhNkD}FA!e1LHH=AOVd$>2)=9U&TQ>&1?4 at O7
z{r%n3dsXdBi;65kA0JvivslJCzP7X>P{{R<wXe)+Jx(ZXK!TGg0*4)BaVD>$PzWo(
zp0FmqSE|;4;H_i{|HHJbx!tSO5PnzwYuXOsR)#jU^r*2oNLg+cHgLNaNT{@d2jp~?
zBGBa?(gGGO1(9=_K;YA9JMb-TPI&XKwRH(@U$lG7aYuQZ$ky$iJ6EZV1y}m`!^CIc
zBuGJbN%XFa?9nx%xYd)rGvvTJ;$yXN8PN{PI4JsVdCxyuTO{%^YeXV7pPUv{%kInS
z;<#JiHIc-#TbgV47J=-U9(TxRZt*x+c}yK2Yy{M<$00b?6$D*H@^s80p`1j<JI}Kq
z5qlCg3)U*tBAc1Jdt5~GC8ssFVfsrWCKve~tTgP{>{0527H9jsPM>xWscjn>tv(eH
zJI^#58PuHl__c?C;2f?=o`^7tPa&C=kI~G#lwD#ym<9nR!{W$Sy7<ViZ!rPcET%%m
zyi)lI1fywYGrCI!cfRti2ENfBE*?&Zyi6(iX~{2`g at kOo0&;mnq#25+-eM)+d at H2v
z*3-`o^akGNpxG<5Jk75zDVBN4RUCrbnU48<`q{ak>}NET4Nb+~RKxo0Y;tjfbBZMQ
zhpnGLwX}l+`#GT%|L|Uui2#@oG~jC#@F-hO4{{7>=K!*<?iwv_)>6^R!E=C8k)3M>
z_7j6)Tf}5nad5K#>Xdq((gBbB{=`Wp9txw2)$sB;jKJf~3{bVW<K#G)k&N)XcB=m%
z-(!o1MdddQd~8XR0qUyJJy?NTei1g)<~Zdg1ssNZfjbblV!_Ua-VfA6Q4~!YBwkSR
zag;{-{3_q)n4ItKw=*V8^p3kiwu7)`{*-!92ASbN6EExj$~f*}gaUG71C`l-fJ9f}
zlIUeo3If|EZ*gH at O&=BhWXt`$_MYY#zMe!znrAM1zLNvfUfy?b4LFi^9Q(~I#n|L-
zP)i#el1V=Mx*%iViL?dZ4q=2EE%0Y?uK$4lUi8^_vy?LUv%uBdo+ at Ojc!*w at 9gu|Y
zs#Vy(iwUmbY%6n2p8w(_rgE4e%I-GKS<HN90=%Iq_5&B$oK8-xRvVa9TQjNP_OZ&O
zGX|9|V5s>=L`wwQ8r#E(wXYGrPJvAHAPNn5XTa&sWx!*X+DJHG8aR{-EA*>P_(a%t
z1F!MqJQLRrtT?>*V%T<XXh?#jEk=WY#pdK{8n~9xaHZMr2hMG at n1Qdcj;wCRrZRDB
z!HYMI5IYk)0bjjyUC*nT{a7psLR9dxMczUT9%z_1%RPxDK>-x8Za#GH5 at gbE4ACx*
zEDj|8xZMG?KcsY}gxV|5<t8_4ID3JU?G^J2Y at FMl1*z1b(g)5-Thxn%(fAu);!f9U
z^HMwos3<t<M8vrXdq5L3!eZm^fV+4;0t8p*Jx&jQ|7*A)NiK}WQF%@R2&;7s?}1~_
z$3rJMhW`CiNJvzoG&0pYAnBn~w+vh!>dbG^0df|0fB<WC!G<Ckj)uI&sezZkbPFv-
zJhZDr<q8|dwSXY`R)B!rum)Us`yjhd4bI_YC&Wc|#`stE6)5JO9bAE=dr;YPo7)A5
z_Fo9Z1!{AMQyG2&*L_>#S>UJFzbbWH7_&HO1}WemJ7zCa4c&!X>X%((e{5QRc0HI4
zr}{v4(8XHqhL|cQ?83Q_`4ixLRcL$|eNwYXn!Oo0KQ!*Vftexvaf$nO^N;9|b1Gw)
ztUQ$MVj%G_Znk2;kO;4K!oe;~CzUj1p2i;06`(Rk24bFhVVbi;1BPS9c}*k2Ye>Qr
z!Hn_KvwoGDkVc*kP&LgSzN45&uEm(hi3|!<+zJ_cg1>=FZABmGC=xN$bko4_p$=ch
zNim!z=9ja~`JpqCpgxrCYS3=KLqLJ|Z7)m;+C4etN6KVC6*>w51$iu%%FI-;f4$5(
z>buF6=ZIglH1;h6omI|n`aKY at 1*o+_t(r4e?I<&N`?VZ(Dxk45uORG?h&f#S-O|J5
zO+s%Z;KpVb1MI`Lsd+mW2vK8TJaa9uRKEv-Y1aDUB>-<l_ at 5rbNj~$s36XLdL-t2=
zj0O#fazm$X8mK?inM!a{teGr0Kr((qu+*P8fuzZp{>$XRs+e-^$AN{$0U*G0#^K(=
z=B#EiMT9kF8W at CS-Quq+!dkpYKm%VdtG&$tV{8MA@*NT$AHyjdTwAb(FUVd&kM-XU
zyp(S4uMHUF--A0mUyYh2XRLMc&%PeRH5xTrZh(#c$n0hk$ICL{P at BJMJUMQv#b34v
zw~94Xd&fABhpztw7G7)2dYj+eA at 2~x<(R+z4xvZqoP3B!d+mm3cFAo}+dBw+t>HQ0
zH^_xG*?Cax at 3HNH-q8?ntyYV)z=a87_|g&?uRU9pfpP$pzu!WmyD>k%trEhnT>y26
z>Lvni8EeRX!Y>}1vISsNkxLA<I%g1v(5JSLa7$Uofvu)bxzx*vmW|4qLm7LHLJ2UL
zL}QK3csS|bz8$KGG~+>wMmazW0yeYfwk+sYr1;uN2rlyKlWo>wJUrl5#V?#Ns at r_J
zB27SC<u~rZ@~Ysc%#h2!ggs}w8f<^4Gy7OBYz~qg{Ym`Z(}W~`hqR(#az#nLosEHS
z2YME8&A5aM{d}zdVc>>za|;DV0%9rPa)(sOQAj`hH=8RP<o{FE`j0`@hrq%o2*mS#
z$?$#jU`8L|JQL!sy-$jew*W`Qp{~`W32+-&mq58qyeGtoNt!XB2Zch;19`Oaz8<lg
z5KX>p9vej at WikdTM=+l<=zDwQ=eKn;CXCcfpxfiV_FuRMsJJ83_WZv%sWMqmUcU+?
z%}$j`kTlx&G0M$+I^x)q-F};6s%HJ|ZbDjA;~dLd)URqk4HERJh{n5%QjmDESh*e4
zmcnH?3Z7Do$yV)C8mmwV`V=&4V~79qxUffyiE>`<DVxOgw|?3Z&Xh{S`PpTn?V?Hu
z+6 at u{Xak`JEs%2y;6<X5d4~0n78Fy#GiTdnCVyDg{;{Ct(kf+{d$d>WSB`QIy5{If
zzI}L9t7y{}=`X|+kK;&Bsn7}2A|K6yk;_QU0M~}H3ney%QdswdSj^}hZoZ^}kZIL#
z{6G<94#lIE8SXwpU2SuBwzFQbHD2W+dusYLUX%OP`muA)3$1grMvErdJE+krxaBM(
zMPBpUcGaWMzKKf{O7o0O6Sp)XJ?6Y8cDiO3DCI{TwRf-$B^C|<Ski~<@)TW6h`paT
z=DWUEI_hSso?PC0{lTvB+X;hR=Phg*p544fHc(hRgRh7LD7ydo>5QL0sg_8^P_FY|
z-27R5vqL+7c!NvN_M0THv5 at WauIJ8DH>KN1G*BFlY8J=}IPKB?Rps^A4V0~p>Dcnk
z5AUoO7_)xfZ0Nhw#9S7cfs^ds8?c1cuh557ud{lcd1d1J{O5*(M&=I0_aU9vLq4h=
z${pUNjP-Y}L)MJ0#E1IcDF|}YY{=i3AlVqT%fH^ZmQp!eP_=i>N&Xk3A|!cLOtF-U
zr|_$hEMzz>tW;e>E#31gVK$s5?kBt^xH7VzfeHHE-(%VkFhPJ<`#e&oqQPgYylV<b
z at 3513Ce!=_mVp=89#i2xJj2KkQE3s_td@!x{rQx;iw!;u5`|StQa5J!z#mq7s^Osx
z-*}-PGRlN6Y6V!ZGp|f4kt8{;@)l+TH&6^Ik|dy~>8z*zwM;Yeu~Wow4S_0qCHTwU
ziK93>k0NdAe!E}%hc`>f*ClNkZZvb at vl?r&>3GfGZpkM)BZc?~%yiuTw4eKz+Ga^V
z&@uW at lme}mrRm{wzlP&P7e6d>E(ZP!IE&F@`_p%YTK~AMZrE+fNvLIbh7w0%S2n-Q
z*zT_w at X-nR=-I>D3HB^tmSCp?do3`~FaD}p?%(hS_S*lL{5;~T#h}T3<sFxAj{JHI
z)4wN`vT<})Yn<lUIFVBFhOGiRb0~t=TTY)?*fjq*h_0JH)1=G3g}4lxC*Pd^H9Vjz
zvJw+y26qJ;=NxL7;VSSq4FYXA9QbbbaHEEr*0r`CW8w(xKb4m5c at XDZa}7ycKI3 at V
zvvH;dV^WE+x2b%)0}sl0DyP~MHo(JC(*fRfmb;t at G{z4TKwnf&yr`;HHkTvS-UpQK
zIkU=nNCOBKQ(<{oFR(f?dr~cxKJU%J2c~Af at uIC~?w{IG!#QG-^-bpP=m)x{;pf!)
zfbc%^!5;|;XA!1d4?>gAerhA=W{b(_kPTUWS=tt@^lyoOAMJE~U*P?$coxY_y+y!n
z7=CB()v<Cm`_pIKrhJTcw>R;TF+?hCeZHP~(OD5idG^CI+Sl_3 at R3!wQnjL01nU?Q
zoLg*vvtJxs;dwFR4+Edr-|h?^McPkY{sD|c*zBGGWUYU%X?DSnu!%_eY%Hd{lvXl2
zxJJfJu?;)+xQbc5Uk03u<Cf(kzQwuNGPY=Y&xe7KN#ETwihYI6eKH=HB=#?X at ksCs
z1+_jqn){Qukx1=BJf7-%505Gj@%C(M2R#(RGOLEtaao3n*1LeORGR2;!n4}$om*}(
zPpMGzERXsN|Ji--zDQywLn%Uk?d9A+bbQA|3Zx*E13$oi-2Iwz{2Y%mN6PlFW2I31
zTDm+a<X2eehf8}|DQWdg`#joOc$V^j|E<XDo1>!b4xCjT^XWcLa+H2cGo|7)k`+TY
zepgmcSw6ZxLeuDYWFP&hihq;;Iczg-=yJanBiejRfWptcH-wk_CO74s{`;=5C6&%K
zY4BP^)vXOc+t(|ShULeN>qy#^?~w8tE=6So`*2$1n`W)_NO47H8Kyv$xP-4c<xVi1
z_Rlyff1h08RAzV#Zv43b<D at na44`TCyaV8j7pehTg#gV0hO3aR4v at K$^XL^X(Cb1z
z!|&$o<>GrxVMiJ}ps7sXjq93)tTIhE{${dQ=lU4?^<<R(`{DU$WL2*myXJedrGg>W
zn-!9+VH9;ORhX8`gc@$U_F)ysL~3UUJ;2eyOD2M{wU#wvpuk0apI;#??|+d4Q6lqt
z_H4K^*lFitf9iU`yuEI-GIJ0$yT3U#6eqI>{JQOi=Cr1u6chg<16oViredaAV5H%0
z_XFcN2Vz#yhIZd}z4 at R|e^Iv1v7qxznwI1QR at f^g;BKJFH6}dVf)3ibC8f&4^EHou
z$e3sJM7+hhzHEY)UyEDqU_B=OI9=)&nieiV(0i2(*M7Q^aZ%r4Gx^jAeNg|Wa^gNT
z;t{(g?D`6h)N^NlvWiUv)Z>q6`mrtO^3<$%#|^2VW05Cz;lyT`UHka#4g4~RT>K&O
z#FSJ0;ga&C_(H=Lu5P#L!{QX)8PoRN8_ZS?ztPg=T|e8le*9>HFx_YJtL*XfEswey
zx(_#>9yEUF;gS>kI5jj2HH#S0s}B5808D*mQ9%Sg?NAUXm_mh>HR{;@-kOr{rfL_o
zTxGbYPcLtUYtO{?-C^J4j<ed>!D3kc5z<U0YrE|B-7;OBYj-+QZ}A(vLJTjQSX+M0
zC at A6D>lF^?PWIbAd3how at biiI$cI~`6C6}~yG>n8?6>#ci7WOnnDk7<r at hB1xQ;N2
zXRLUs8mLN2u=2U^8nkO1V*J9jmcJ<N4u_ at -iQ3<Hbo*{gO>3kYSKTTsdN^}zheiM{
zuPlB3Nb;ny!glL^M*VITFQH=65yOcLIy(1~`%o at 5(sr}H2RcX%$*kMIiJ1N&Jk}%t
z;e+#uNkq#!w{%o9Cj7yVmLeOiBKBPN%1HEo>X0jr-0A<6Sy6egOT})NQH at V*Tyc8q
z{(yavkXAJ%#s8`Ev^#}yuvTFD(d!;sVa<z^^b&W}2ytSLx_R7Ws;%AYs-<tymlZd6
zO$2xxg;r2Zx&9*zH;<{LrN*o>a=Gg?_7Hi!b at RTHL8O{3_NsWZ;L37~AQDvK&PAS8
zRabHU_52uZE`Lt;&W0XYpAED;rxJ;vHn$?(n{gBd(1L3M8~4{m(^l6N;Ifaal434!
z)fwSJ!RW8Ssra!EDccLR=bKy&4nM5)OY|&nD#4p(H?sBxwbF7tkvGP9yDjE<`=S#j
zY4+G6{h6Qn9RGC`=!fKkq6gBH^COJCGY?AMmlezGU0OUMt9WO!DHa_uzjxdInksdd
zu&#F6+w=qN^Ag-y*Q4}(iEcT&If#<kZ}*B?r{9x?R<>8r&k~l;+`gG9>6X&FdO+Xk
zWnj_zmkO5GoB3H?<^zb+`=-t7;#4yS5J#xfX;-Ps8G8~B7C++&EOmqW%XP#r4VtIS
z;A8?%9RObmnjsmjIbL_-{p-?gk9VK83%c>Nfw;&*iL)2=>y*%iDf^#lURjF=&(Yw^
z!)wKc)GkP=&8VD5#Bd(?E4QcL3`2}DznyJdvHHe^i#wQRZJ9UAUmmHZJ!Bp`hx9NY
zG{yy-xKUPxbqdC`+-X+xE?kVUNg##0y!08RveKPw1MgE6#$uMosTuY>+FNyduv!-{
z-&&18*SB#LX`*><b5 at v6<)?QWu;26v<52t9%wvkQphn(T|2VZ&x072?Ie0I6?LLd|
zVl-Jgc%%Eh-O#Z)WQ!UwQ%naBto%@_culbAh0bRDEFqBuwJF8SkorBo=a9?0>$|CE
zHnGyXYts9sv&?SxARQe`<(2YkDSFh*odo#^OR8MkH97X(+ET-wtw#z52R90}%B_+d
zQp=j<3j=?K3iH}RNnU*Q=;Y_I9kb6EI}6Oo1%(&3{kq~>d^A~!7|(6P?yZSA?x7dB
zDp?pekurzZWU6A*qy7G-Mw}vQ`(@48rneuG;S8r7*zzPjYrO7!b-UFmK}E at BqIjvx
z4}xO|{n%*+aeZc$Qesl!An~<vc;GaH=xMxc&Glu~#ikd;Rw8>A=U>n`!Bfhi(DwiO
zl7l(v8m3-IyZ4ZB=Y3{xo}enMUv1R-iCYlVB|gcoCfq at I%v~^9ifyT!uinMZT2Zsr
z?!yaiR^>bAbK|m`!Y^uFven7`s41rHm^@??9BY3SF9<hUyM1HOoQ#vg{*K~=W|!{U
z&W0w>_}a_YJ1p~*i0xo?zG!tgHRJWNYE`1!a8UGgfALNJF;Y;Twa>)+C;a%ozX$px
z%np3p6d3jNud>?(nA2H*&vi!@59}R^x+s%Q(K-^XiOH2Ft`Ih;B~Smlp<Zj~yz)i}
zj#SCqIPz3sis3XQ9~y9F&G at Um`fg`ss}!v5N+)?TmX}W1lT at n1HnVjC^tHyAy@~Ur
zBU5YrJiJpC;vucSvF?k7#FI#5LPQbm%JkQin2d%mN&@#WU!%V=QkZzW^ipyQN!NIl
z%S5&Gbei>NHu`AuD&-pz_bu%FQ)s(R;iM1;S*`*vnT~h2Cd7Xbh&FCajldOM`@~Sz
z!&TO?nHR}lPC*0ALp8~rjd__>tCT-(qJOWiRXjav_BizR;h=X#`aOPIE(M0qcOLov
z;!OTFf$OC2_*oZh^k2+ZWeJaDcF#t?;Xm!qerVhA*2gf$B=obf%t_Q^&c at +`F)kAy
zYV$EeN5MNPKO}FMEQ?Ak8x_Y}X4WP9olLfj%^EP0K)I(DjhXFP<R{D_v&2%RAN^Zk
zH`DV~f<Z2 at LTro42g#k(ZVdlZ6t#dX|1wpG>>lt!rz!`@xpvd4G6J+Tu%(gShC?<z
zj)7k<etB}H+ at UkPYwu3|sO&hKJ0GfLmwd*1D>}Y^j_N5Xws__!2<6UtJVzU+e~6n(
zIjtXT_jm5`6AxpS&fIpVis|Ieo*@4eUXG*@zmHGv>NYDcC{TCBc&H=HQZ?O%ozswk
zD<mlmLVpwzo8(-PQ?nD<b*n=z{!Hkznyon#Yp5D>R+NTB497~+elyfufGLT0TX|`#
zO8W++QZ0^Cc8J=<c<5u!*QGa1s!fdOjv$(S*Vl%*ovg02SD*ZR;cym;bg5_Hgis5Q
zJDuv2?7%qBv>9E=G^q9U5#u~k@(Kv(s5_eX4xFI%mqyP0Y2k~|%NIT!6U$Q4z!XZ0
zr*vlF%^lG>$#|U$o}k(Jvr6s^1HpGh;|+IS at LU1>zQAzTGZHw({U$b9!=DlHW0kA+
zO^3Y=A3KgJB@{a?=03?A-fL*TC;CbX6~R~~yV%Zxs*^o`5^C*LM*G-;FKYYNCY<4f
zzOd~!qpvyuH(frIq1JFTjk|6U`mE`zDhxttRky~&BZdO%Kkd){s^@U%l}tTOrtai=
zY4s7AJ@(DS$c8p-cX?5k+RPf$H3l5}TikW6YNnRk>{SD?8k4in<7!oL4L4LT?aaGy
z$Z2b#U at u2i=3cE=&g&zwcDtUfP at n5YUl}QK=TE=CD(A2id#C2qOJ|0&vOfEq^Ri0I
z!_-|px7n*GOpUq at s}WzOAs}K}=Y|`08xc#Ms5nV^T&zqo_2Z5;W4)wEkM135v>Q3h
zU8nn4e`4@<;t{{v@~6_+ZlwJOvF3H7uQL3SWnA=QL}in)8}+1rf2p*AO-uOChEmLa
z9_Y0FtU9(+QOjrzV`=1bt?*YdkfQk0`ki;uBBxH^ldh(5uaE4MOg$q9r61L*i95Xa
zLSsVl)%OjUE$Ag;+5CJ}%cHcQDD7EmCv5H;_B{)`kUA-cW#`U>CY~zI50%O?b^hR6
z-?l|je+r*iRu_ktJ|rB^))k14tt-zy+0;wA0%aTk9&CnnVjKmYbkK~lx(s|J at yjO{
zJ<qsR_D!k-3K@;NA8K{hz;1?ROqWVi%()}*5654*yo)MtxqA2GpUqnxJ0j}e>-?n{
zQPnOJpLFk84N@*mWiMKDe5)nW?DP_4tlJ!8U8~KgZ<=%C3`;8C9K3Jrx(@p{_+=SQ
z7mN<^uGinss|k!JYDp0MUEP@~4)M|cb(vj4m7^I`#`>ufWYU%-$ocXQO*H~~)@(d9
z|CkMUOmcDi309^2Oru+yr1(^5_F3W~q2j2KAGssy{=t}g$wR%{Ao*%P4tL*i+OcCi
zfzdgxr)P!EQuY40uzFlv;8ohi<(ukd(K)ROn;uzeQa<Nb`h at vjwT(U?k^NFjljYk!
z?QB#Q)KJZKqW$pDCg&WQ^ED)U_y&ZAlgpw}KJDt}b$o=maq$J0`Yj!o<ZLpKvAM6^
zGSAL*HTyOXV8lr4T8>l|c5}Qde5>E3{IE!<@4lJ#K6Ljc-V4FqJjJWaLT6Fsd4%il
zG3{=I4ITNU+`vutH-1hsbVHGsOWvDfLmwB0^pf<-6vp_ZsY#Smdx>RwncQT3&YJ|z
z5&EjH7q>c`X|wM)^j91-aDL`7(ozfBsk3`2Q){-=;-{F;B*8fq(JtkN=jf}RxqTlw
zlw6@=9Am9<V9VsrSXV*zo=d?v+lS at 7TTM<iRGV#A&#0JWQj$08U9NgvYFqleFx;}i
z>HF7&zYfQ!<*DRmT~f_->@j=MmnwMlj%4~~C28Fn!HHdVJlaKM#|6onrMYEiDa(%a
zJg{+CJykb+Mjm&$qG$N)uxdV2?<-}~m!92)voB9K%lI!N%9fP7H at iM|b`_5??8-2x
zdzXj8g$aYc^=0gt)>jqgH9<ZXY`1UhJNu4d)wp;GX`Kaeh3)&S2?^@;!xwj#_)&M(
zSL`hf_p3za9Bq^;yO#96ZRGg2`>%4dY<Cv6UYqsEAa7=(#?2Zln9%A(2$#_W5q*e7
zEk)O-kwJYUP>sHW*Y!ChWVWew-jFALRNrf+f6MIk3`9iLs^uR>pZ1(S;<sj^C0M43
zGLbN5zr>IJkX*AYTso3pb!+fktSbC$W)509rZu;3_nr%T9HT)8t21I>bjRoTocmqo
zahFilvAct`Hc6IUol~1%QPVERvKk=t7H&!kIAf#|jMjar6<t=bDzk5WDX*^3>zVe3
z?0z|=Ix${(!d=IcSG(yBs1BC at OX8&V+FV<Ym*lX!?@HgZDLWg;Cw^63JK0}{*kfNh
zRA?D{ci#N^^dO><cQBtxN$=8eOwCZ5WxMmv5tSnnsz!|N7M%Y`%h@)A?`${Wy~UbP
zDn3d2<<h2kw~-~v#8d6kgEF6F-$po|qsDEk>6?6!d8e6pY``DoO5H8CX~N=mhESq}
zT#)d&gD}^yWfbViutkOSW~kfb#H at 3-jbY0mk#R*_u_4d<xmWh91g``1rEn|RdH8Yp
zlZkuQjg+KD=JO2um3v4bloz2^7YyEq(U6jUlksF4c1|w`j}@{(sUS#2FL at g4F?GJf
z{e*E#YT#2N{p1;9zHecVo8*YWePPq5Pg2E{5`nasX5Y;MgtwyMJwN$WDc-hP=jgk!
zUR}w9f-`D&lGJ3S_VCP0De>77ViNwn$Ms*-1UhhQo1QB+?7#aK<rjk%*A-A(viO at A
zp8ORf_58Xn at A8+wQg+w;ZL^aXwLXX17$@fwKHu6Y)MXC49MbKn&RunJTl>|X5TA>8
zM=pG$hXq<>=#4ZfdRCR-n6l<OHF>FL2CiPY{eF&jTY>pehtN}!a>9||lXX?|Y{^T9
zx{{N(^BO)k(pb*fOJW?JQ9VLfL$3Xc1NB+&1g;buUt0i3xpes$h1Av@%)S6U at A6Mn
zo+^w%R$*6S+UyY?IWdv-<u9YU-*b>IQP<+#Uyo=+ITsIlU%5jVzOF;REmO1V<|2=o
z^KQzA{6+{h)ah1Cz=Luh+^^dST3+O at J~Q$!ZDpk}ix_UD at 4Aej(Z1byG>60 at M%SKr
zMzY;NSxGE=G+cA9(D*{l58+82GU?q at M&R0Vbd3;UN?|GqCrc|_`mU)JRCG3{+jiSr
zU$WR^B&Ivy-W`tb6r`3<b)CyDOVLUbAV}X_AK!i2iQ8dz(%GJ^$GE#z-CwwFev1=|
zx`VW|=1lqAvk^7UvmR$`%hzmlbUKyATNKr4I{r<-mwU41wL^z6&RBUv?K#UDq0*w1
zMAPB0*(W8?>7XN(AB5lh6;spcLX8)SIlQ=%hrvV9XsA8-uw6<?Wvp_SBhn5d=4(y7
zTdXi*vOG1eW3%8(32tzQHO|(EI2B6lo%}MZG_yVrQEc=#ZPV$eolSnKl$Kxf?FQ{l
zR3&e=YWMUszSH=pPsMJvxqv5`pD+ryJURuIidM$k=MdnyGIP2tFZ)3*_%<@`rC=yJ
z2MYa8tD;-dH!b_yh%AU(WcO{@=lb%o!7Na4+B`0^{bgU$E6@>$O at p0{EvfB<c9=DS
zSBMhlVvWG!mZIQ08jvhs1XNe2yqVlf=ROSC_t7<@*Z2 at ls^yW=%hU~0E5PXqqrALd
zLbd3(sd$=ZOL$jI?>9f?;S=)o#$C8#Y99(aQ{cL%IJskMa9M+r!;*6#9!kbBW5zAD
zC8l#fvTf-mCygcHT at gM8am*SYbbG at X*Fu-_v?9FW8EjKsSHGd>d(T~;VfU+O)+{~6
z8?7{HfPv2%+6ZBuXp~?Sc9wLB;vmOE9p=&n-%_fU-stMH?d_xsy=xQiU1J%-8-fiU
zvY-pa?7j^9ym)ZO<berUDz_+1;F?fEEslwy4e1 at l)diV=6D|zZa>Izdntyl7j6%lT
zI3q*xuo*`g^o!gu4YXX#`_mb{(~4KX_uIwaX3R6w)@Y|Nulm0eN+u11{r(XflPIWD
z5^zGNg!e-)cemNoN5Ol3hSwRlizf<${6n}}Q+1hCQp6n$f;DaT*mxF<pMVKky$}Mh
z3HnqJf>8dj1)p;|8r&-djIk?63Cb$FQk*w;#GcWojz$d&C1=(f9W|Dd@?62t_>57g
z_g at GB>TsDji)$zNrsM!wq$6`um}mWY4SgNOsip*}5>#<A;$~@FCsdJqmxJH2Ii*J?
z5UG$0jzIvkFmj<(!HI~%usznp8(YSkZ|F03p&S55e5jx!R~kfeH`?}w&zNNOzB-Ue
zqCY8F%GRDLUH>t)l;<oz{Ag_6x3Q2%FnH}ZLnrQBK%^9AT_AYGx5<eIb{}#+ZSfHe
z4vJG?fH78LhJH at dO#QAd3Pg(MW&}-oqZhL~9>)NliShjf-e}0re$A#&Xn~Ov4;jK!
zDCMce%v9aw`_n#ogTwlA>@#{bUm;{}R;@j2S<I7UGyp98<+FfBFx_SQwRy2d#XOne
z at JW0og=7yBgmO?6hSg3)Bk(HeRPJtqRNGPKwFeMZA~24U2n#V7QbYnIeD at dU57Q;{
zd0P<ht- at E9qJ}D}Q+BNV<ejkS!)IJZZ(xG36l1sgA_=M#nj2o<&ok!rh_Hw|QU+d}
z0+U9)P>w8bxb>-x2ll}k?85>U_K}bE%J;`w(-haWwtpF=if!>1?*!!F(EChYL=Mx-
z=1}Cz1_#>wC8rXMQe$G$6&IEx36?YOix{o9l^%N=vVWNF5Gl4qJ}2ad6<t`(^WIGk
z<p<w|qyR^e1qxy*Fob#qAv0C(gKL$C;LOU14uE;#epl3X)y+3{P0kp`9^OBz%F=eU
z6m$=}Z)fvhN*I$2Ul|Eb1Z0sz1jEsD&?*r(#WAPD4y?V>8_xfd)q5&<pU+W{4FLgb
zNa27Gyww)fuLtRad(;P2Y5$Dl at wbZ@A?3KStYe$J``kKQ@#TuyHC%kB(PjGQD0Inb
zXqjE*u+P>9#EGyMG2&bNJ#ujX2iw?13sb21B3I!b4xs2UlVH>hshtsJMAgzG;6%a+
zIpsUU?#stI(^5c|S8Nw?Qa+ at AS`}naokX{28?bE4rJ`-<r2!^0tCUa at kxTYp3n7@a
z<|lF)*JRt)`tnpx{i^(4i&2It+CdS245^lF$_?QG-dA~@&Q>1LLgzyXqV(>gobd?K
zfss(BG*WN7Ccib=XqX<s@&U&RioaExgpPqfq0(lYN}zCucWNZ2^Z_*|ly~hXU%e-%
zZhacl2S^ZHAw4IBm*ov-^<dPdz3y52aPT)b+Zt~O3|M-D;mPaRjV{`=5B$UqtP at 6y
zca<h2MuSsviM`*2sQV&jY<^9S1iRYq)4#%+e*CC;^sgr+!z`Rgu8#3=5{_p96dKq6
z0|ou1qI57Mh0W+m6nQ-$_Ljv at fVJJlc^4V9U}_C8X+>908nsTwY-_bLPm7rjI4f}S
zt@@Je7S(Tvm1sqj^7P>oB3b03`39v)=<tvVye6aI at g2$DUTS+iyoPsgIAR}WH0*v)
zC at JFSmjYC@x9<mVND>`4m^jYSomE~?h(6+u6Sr$6Reyox4v{e<NclTA*cMIGDQ}=9
z*&EvD8e&romj?#u-eBy20})BH`kj>)n}G;}%@~F^Lox&bCm43TX@@=9OYMESZL!8?
z<2xradIfp{!~vDNkNsMO_NH>z_X{P>7qSw|rfe1w6Fpryaz<LB=x#o-x9`jBn)>yC
z94~JG<Y*Lp4 at kDa`=x`&VFY4zmlc2mZ?iyA1jv}BJjAek?M**Mj?mkjhfC!|Pg>H4
zEDk)`Ug(oR&B^MOPzozI$+DtnWk6!7Qh=g|>Gn at Dl`}agMOQY;>*VZE9}(2lKqsdy
z?(GHAHXUNvY){9ion9Jf at he3W-B(j0^%jI70AFYyeaB at 54k6j)p9vH69#S4vv=bXh
z;v#<bn1z#~vfq3U?{SIYkK{Au<AWAIDC6~gx;I12QoM`QeutqR1l;UoEi`~xK%{_g
z_FM`$jW~l(JM7y%HEIDMbpRkm#^vbq=`2%$3^-_|OUrz}_g3!wQluydN+iU>_ at z>w
ztA=lxJtG?dKFNn at BAx1^f(bnBwBUc1x>BqVpupw2rFgSdxTt<Zz)f*;(E2CIhNeuM
z0eJlu27}AEv1krFgW0PfdQ@@dK3p-+Jj=O-Rz>de?r<xmrrh)Dm!`a)Oi-~+j4&}-
znTvh_$AR4nDTw59UY3Ut1wxGrBT}qC3?@79Iu=I`$hF at K4YW<mK_8=G at Z(hAAt~4k
z7f9>H8f_&gEbg~RT>dR?-fEl4_CGuu)Hn at FjHUP^hS%9@=o4a5XpaoxYH)PSuLKoi
z-AEG?Igw5k#R at 4H(7#}X%|q!|9J5}tn?*aJv%|bG2)Mo_ at xZ=Cqo8kDy$>x+?Fp^w
z=!{lqG3aQ$Oa-u|2EK~Z19O-Z*`_TZ4*C{=kGHKgsh5J`Pz{8N<h<@5I2aX6$$}PJ
zK7eEfEj@;2Iu|+#tef#M$U{U?W_$?rP@>63Ae-``%c3Ckt%lK{`<}y;Eb&fQ{y{q%
zh(pMKX&JM(>JA?<vfvr8&DqOE+)%@mNN3E*yL+V)d$m(NHVr at Oi|K7zJxUX<n6(F5
z<xEr@`*L`cx@^I=5Yr)j5kGAaLOZNev&YJqBBj_^54+fs6hEDY-7S2M%qQ=T1N)0V
zTG74#V<+&Y>8=(&V$*_w#j0IZWOd&c!m*>BPVJ0FG#<niJ0L0R{*{VMkP})(r+WY-
zOP0Fj$>tW-2 at 4wfx>!(+$h1^J3s8vQ!(z2xBvw>o1G6`l*J4LV#Jc#BZ8r<5fq7ga
zKunb?e*_x=<2D+qye`TKn#~V?5la_6 at Y}=PoiQ*X11t-b^ZHD5r{J6IN2av5+8$ut
z@<39Ko at 03}olFOg1<>C_o%sS1sDahnpOH(d?CCcl%jd9Im)M{707_*f<gd4;-#S{G
zaJRm1;&%+x+5P>2ZR?w$E!Rb~z~A?q9JNy|m%|GGWf#Cy4bycqA_rXvTc&NPk~enc
zor5C~xSyLSLLzwkZ{@!r0IMPUzk?OR{;<fhd3*G^JPxta!wIcyiz7lV7=Ey#V?6q{
ziFnBc0{IT-Lfb+vlp-?Lz$hq at JR^C8;;7r(>mu}KFX{lG{v{mR-N{*1!}%r_Q at Wow
zd{n=AsZj25SsRQ)?Pg19Q8uoFaHaaV&#&33bQp-1X(GQ8PK$so8;9gMoOPcylmxUI
zQ||a%t1n~h=hieq18Wwx;L>kOh{Fg2prmJr#w4LPdQFE;o%sSW8ig}`Hr3?o6o6ES
zOCNPWTD}oYfVA;n7 at D6nXBaoYTR<=s#X$UwhjOqY{uPHw7_RTzc5^t^qL><JqVkVG
z!IH*D9Qn-$w989j!vyxd<IKKS15QWy!&%KD!?J(@$U-24nO*NjRK#^WO^-=1ojW4R
zMT`G(aoX<sem}+=cpDJF_XB~#ohXxoca*8+Gn^I4s++MW<{A7aQ07Ujy-m=yB#~#z
zJMh~!Ml$0La6X5+YO-MzWd4f+lY;{Enu`r^2&hyL0>W9KPbGi-K}cXz%g~K*2((1D
zwIunCe)?^{lS~={)KJ_0Dvt&*y!#(7FRj<h_X~X?@(H9fzqi1M;I~I4PT|~!zU3lP
zhAm at Cw!u?io8O%Q5g0qZCa`o#uD(0eJxpK2#Vu&VAOv#@i|mCfP8Xn-1U&*ucMOSp
z;t}a8<ZE0h*4S#SIPt_NoF*x<tb?3%5g|+ewkb53<+iYz(cXxs2b{0`kUf=9V((=f
z;{96_{FAth<B=}f at c7?Wvb0lc;TqEJ`5#OKL%?<nhM>%2xEQm2=%-V!YJCd~Z(FQj
zq7WE(7x;F<Z!&zs<DbrY{WCA8RU}K_czo{#X~dL^Jj%#zph|l?bVhw(N%+!i-Fpf^
zK*!k?q(OppIyrN*ztkL<f_ugvQ!oQlNCB?B8w#tCgk3wCCS%U&elS8p4b<Bz=TD7W
z6qiH_B}Jk%Y=Q!&h6;VG7tNqJ#7|OWQHH>E!gtTiOu%Stjx^w*1=B2Z7FxCm>kCYh
za?&9LA>?x=NP<)UXd=kMCz;vpEV7S?2wg-j4Xrxs1Zyk_7p;LF&>Nl51LoktpAqnm
z9)UcgMG*8s|Hgm=p0YuN0UN3oIt*-ri5f7AGQR>2M*$2RcZC%x!u5MC?ckg$oCSjW
zf1nWTY8ko}Mj>LMm4G3Tw$)p!0x~+LDO9>C<_avc!oOt5c`ky1&v|}Hfm1PW<!>?+
z+ygL7(Ctm~5e(CTLwTHCU}O(h4yB}`Rp8*ZUkN&a%3O at n4Y+clYy2Sw!|z=6%FrL+
zG$b4rrJ>|mk0UlP8BgTTqbI(1On?cPv2Yc?J^T768rf}pMEhItpH1HA?ckt=4zS}1
zrzM at bW&s!Z0YTzZ_5eXzpaL3PyId=SO<Ir&7bA9qfrP!P#wZje>Lomaz~Pjjf+R6v
z9GET0@)g*tnpiSvD9Z?(__Kl>K*$73Q7-|M4a*jAU^)vO$?H7~-V%bV&XQ~6Uobe+
zN=-Kas2ZpVJl0sy1M)!t#08TUu$YTkwNOH at 6A%|lr)kK%I4KGU(sz*{iK at pEH9!TR
znSc|jYYO`~qZ3RJgBTVLRQRI0#SCNbb)1PyJUh*3)^F(3f6KmSM;N!H3zNV$h`b2}
zcoPV{2zV2bCj1o!WZ8oo0H<TGDr@@T<FeJFzLMr2(*OqCkFiYTm%&p#zz2chemdh;
zr3aWa;sFqbOM<T!#SJacVv at q*iDNuS7Zj1xxKF36i6t$&z)okZTF at mcpi8G*KRsLx
zT*fp`XNOv+kqwN6B9IWu3klH~X;QvoArMjmVl3QCker5UdB>A=%g}KmFf6nZRDeGM
zJ_7|EzQi|rDdoX<Qo<aA7QvhZtg30L7A_VfMC at NU_T9YR=~M!E0~$<R$<kO>q|K#$
za2z^*HxurbUpD~;$&r!;tZGWveUsO}-hzCXH2Y5#L=LT_3*L(C1y&Zk)vw(mo(%G#
z2~45o-Lyrqe>6x*&`hxGhVpip1HZl{Ymidi<jt1<oepJ(jAa88etKq5L1Sy4sQyG{
zuK8(+JGGDaZwLx^A4b@(>FT)-SUKz9e-oG{f8BJ7(KiV5Vy&o*R$?$4(vUD1A`0fw
zM=foEO)Vv%m&1)M0LCq)TId`QgPgx`=x`f4{S{eEv<*gY#X(<536*#P5X>|V*q>iP
zL+(KpOlg~O;^Q3F_U<6V*0&8UwNFI7t%k8b@?ky52Q86R)~FL%Wj0^p_Cv)h?>J2R
zchy8OHz&|v{P5y;<>Ufc0 at MPB@?od2??PU$X8P|btOnw6`%-0-JM564Q~%b{=#5|(
z^a^kBhUZIC4<LwQx#%RgV9 at zv4&)Pno6AJ<Nci1VqG^Hd2(T!Wv}&T+{->i)09{{R
z0(X5u87=0xmjR3_Ic<=#z0n)J`S(strxLf->+ANO{t5%3=yy9IB^&dQ%NUkz+W>-)
zlYIz5#a at Al$^TDcf;(#oz*|m2jv{hq at 0cCY*esp^^fAG8nsGqG_B-hCJ^wEVFGNAm
zIL9y1X!O=U_1hpE9{;i<`G;qlHK at j^kVV=*%>=Xz2*S^-7N8GVc2Oqft8&q=;2?<q
ze?eGaXV8xV9>p6%zzI$x9*@9<-5CP<6vu-=3Ej_wPOJLH102Ky92D5lhlJou(jXPS
z32-~WsR9btpkksz%?qXDRhk9{vLBU?bg_o@(Q-TJr<lA2K3PBE4{3l63R at ob2gFAK
zaE}+<^T{dObO3^Mkn@`Y1Kl#<`vZ$s!G_YV*k)$<egLC?_}|gt4#LPK5i867TPBo3
zS`wx81uzD6dRl534}NVI88p-XGC`Dz$t;mNe-Wv3F(f%Wajb~|rNCqmR_I%w(hG^p
z=ZI0DFj1jIemh8U(`kUOiV7w84>aW6CsTypYHa>OzaOl9DAoSzLY36%J4&4dRnmkX
zNeg(>=WM>}>8zYnZT>}~jmM7kkO`s?f<+K;C7U33aju{F|E$`#WCZ$XTTSe__S6WB
zCu(BBy99R(x&}bw1X2Jk-G#<UG#lC;Y)wvsE9K9NarTm3CCzYkwBrA=u&;=PW%(<d
z5Mbs|TEOgnu<ZS?AcyGR`M=A~vYuwR at A=<lH-OXS7Nl at VJ=`-{eYgBR8~XXXXQHB?
z7Gs5Z4R*W;^~c!7-4f5p{vjg%UGT)eS3<LN0Ye<Jr*x{r5CnzE6u^~!Tq_ at O79@R?
zlL&@z^9-IXP%c!Wf{6XY{_7G5aG*=z at dMy}ckg|Za=Bb|9E^9%mfu|h*b%`^BeJMj
zA$d>KG=j$`^}ggVDK7!<Xx=#?iaqdS at c5!uiIX%$-voYbM1T`fl?5HD<VDE4bDTto
za}hPpfEQZEfHD^?R7H|y3V{I{3sz+LAAZ<7{<3Zvdy~iz10(wz at FF{wxe21%j!vLO
zhzkp-S{nc%$kw017ydq-uO|8 at EFfN?Xin{)3=P31fZ|-p*!&0NJvLxCXcsu)h~k0x
z&|hUe at aDV!K{}!?31be%yylb{Xi|XXm~mQ5fcl_e&T)NdGz_m0c%gDg5`20d^%7XI
z{Qt?g(UQ{8%O~Ng7;^fzDlUbx*ZgjfV8pre`|47;VC?ii#vZO`d}oo_qNX8GtcAVI
z`Q`Qu1-Zfb7FUG+19)s{ci_U at tpF_aMac7;EEI~S3kvC=J#hX|q0m2fU!|g<Pb9p7
zTHPZSbz~*jj%WQ at 5x{o5tWu=CDxyX{$fsHL-ZZfLfbzvY+;v{aJUe1~4B$IaS0Dwz
zFXeyX$MBYS7g~t6A6S%su`eBLF6tMWG0YH at hjV8@J!TXor2NqqVBhj%_={R2OGT{_
zK&^0-0|nW_>!&9DLAF!nV<oy!SP3Be$o~oc4okRU3XFIp)C24q{5WYJd0I%kR(DY~
z9kv}osNX#S>(_r&B5*MjNPrXXpPm3j>3bZ)b`kO!ZG)8H3&kZ?F#jUeL{u+YdLLMN
z-~U<qUU_%AyJ+d#{#g3(@1-lSmq5yOWS*!BF#Ip^YyFvw4zTwk(z6nE$6(-zS|aS5
z(~QTdrA4CQK|f$#h$_|cj{!;(1Gql>e-<AAl>rA{CNe#GL%&Ur5(8R|TjbDP29y1_
zU0hj`)HpEUYHfeyJ>0nus(^R?cRRovq69t;k-RD7BU<3)mxIRG|5<(@SbpIDF8}uN
z$|i730L;1O3(t>4tT%kmnrPXhRZA%lZ>eRQ&E>+#BmaRsj24hOeeehic&>$qdA(4W
z$ZIe<1}R&NXAb;HJ8|XqAn)x#-dF5`(|w@|1lpMG`l($^w0P-17OybB`J*x{^U=5!
zfuKbWFP{A;>8XrB4wJ}!2aS3n!Xe^~tp6|T!%;6VE*sX(wyMbJZpvD}@p?@B)hOfR
z+85LFTg)VlSuNIwY*%ks>^Ql;=aS9GkE=#`0%KZf9+Tn|O>K0Bf|_~FDTX9Y(-0 at u
z$cUEY+*`{2xCea+%Jw4YT7Al6LLXBM8zX3_|Hsyqhc$g=?P(oLtrfbcxIw1c)?Kt}
zQGuk^Ds`+<ODnAikvf$kLR6H90W#KwRzzxDKoL?!L`wlJV#JU{MMOb}N?8Pw2uPwV
z2_ce&EcZM2{t^<M?+>4u$09f9o^#Loz9;vpxa<WYdg-0aOyn=ToDJi#f}WHZOzxGo
z*0nq`axbr#yU)i5xdlfE7NnPzwM<3oG4!<9H`u|;RE77A+ at h!Xo+_bNZp(r<XtZG*
z|NjJevkQaF-u<1C2N^T0wDA$w;?!@4sV-X?pK{NhxCsX(C753K%0i!eA&-t?|4}9I
zaeh1!``pNF{JgfD0gIKyK7X8qGgD)0zj$0zgUS-?YNI^HDpnb}U5(2H4K2qKWY5fE
zQ5?PYP at gO<(9`ENS|H;jQ`+M9sYd>HUf~?;MFY3{>@$T>iw_pxN_hB1EB-~Xn`FsK
zp1x1+ky4mCYg at Pyt@i493bzrtt9`RXX;dF7P{7Y+hn$>>WpDg<bNP)49{Avf)|iN-
zlIF^-d>uM!)k}Obk#~x$@`22>t+Ky;jQ-L^_7|}`V%P`T#212?8_Z!E1kzM<QisLl
z_M@<YN!24&-DXC2M#WBzxnieL{bO*<y2Dt=k0bnfC at E!Lh`H=ioK?{N2f2^5jc>4H
ztu)>AELG>FFx64S9_tgKKPmVNpWN{2ii92Ns;PxOZ_{X!Mr~e(U}`xxuuyc{P}YVn
zMS3XVU^jg5P}LFY7hQQ63+Hl->Q&bpCXd8NoKGWHKL3!ujdn<)m1llgjg3HHvyWp}
zlJ_ip?_OpfDkxVzT-81+nsK5AWqei``;%UDs;_UkVdpElRrd;_RjO<QtFx|Q4EI|z
z<Ku_hwX%21S|TjmpRJ!$mSej8OQ<jUCDiKE^jg3)eCZE9B$s~pTr&6DJ8<&XFPvN$
zcWwG`BJyg>q6>PPw!gXjcaUDRt|L&RxqC4UbZz<4N!M!v`V_*+`$}pD(1ci<vez`t
z%0mC~Lei;*fuj at gZT3GrL`QCdfxDsRvb%8Cf#k0LPW<;c_^-Up0h+e;t3Y37ab$1F
z<=U&s%>n1M==Ou)MdcjksyNN|`1o<%nI}V}Ey9(Kvo~Wq%iWKU{)gqTO>O;w!kyMY
zp_zTTKQr_RHmQ|O50ofu(n@!<WvvR;=3y0F4WR7ImwUH1KXWv;Gv%ctv4thmO{KL)
z?)0Y at 3RMXUJLZSCwa;DeCB9bD{BOs(-D_6q;ou~E at S88l{3ggeQ4~4 at U-ecVe$?%8
zRpC1|ZsAXi>e1xnA6c1)Z{w#Zyc{y&-uLM~9mwOBL(Sutvceu<nXQ}S<41RAo&cE>
zLL6rknZvQn+zb=-s4I3JmppF+EKr~PLH(jU;!qMy_x8f$Is$rLFkQlBubGdv&|}jN
zdw7=W;deyQqkU>sbJ#!d*o#o%{;Yvc{HT51XuKgDV_mg$&H<#L_s_pg8;vB|P2n7^
ztcY0H8$J=|wt$RbUQzDQF-t>-`ks_5#m}titVe>CCJFYffRiV~$<Z&I9NIL?Rnan=
zU5T2LBsrP4Ls}9)g7^HBtfd6M=b{ycZ at W9dk7Z1=X6&L4PEDC7E!CG|AIjQh^Px3K
zd$grHt=dvhbAA?+s96*jdJ`PSa&Tm)c;Lvylp~`)Xscjh0K3(U5B5pPyv(T%d8Ev&
zLBXE}kmsxq*_-P1Utvynr=lR=@unmpYr(iz5Er^T)Al^mt|TkP*Q>bxaps%Ewxh6Z
zrz)$NkINbBepQME7oAVWSL6~ChV>i;Cb8jav#%y$Ukw_+|I&%!LVd^4T(27y-(wT=
z`P!jo;zHf=tK#mlshK at z!n!BrTIQ1uaduQko71!MiMVD+O4gd$?m;p5jnASy-sW&$
zX-P7P8}CEhu-o?Vr^Q}6S(;W||AWEsRiog20a$mC<LIpEE4|gi_wQxaql$|*AEv`T
zENz!jJtZ}Cjnku=%eerrDk2N1{@O&epJNL%&9xp^XAl>*jfdYehk06y_8&KXA-Kn3
z&gz-oJE#9$Y+yYH(7Dir6ire&+AtZ;4ROW3bCG^IabW6g3%=F08Po7<uAAlM6g9A6
zU-bp^ihIGlVk>JiOMLOUhuUKXowj#UsCJtgo^xGZujbfA_EH=!jyb}GZ_vqT8E0v_
zPd+LvTV)GCE1Kc1pTS-GZu`b5T2wzj1}^LvxUjqz!^O$~e!>q}%ON*bHAS?P3vq}Z
z5~Mv5dklN+N^$Io^MQ=x;68gUI4mp{d+j{(rcT)OoYeEY4!m|<s8tZz+drSYs?Hqz
zs$yrdP9-#eCn>lv7%L$f&xxOmO{|)$jQ*Dd`D~xbGZxPaX-26DWwlYE?<zu!+{nh|
zJ}LUE{hN9a?V9Vk!hTuWS6RZWxcVTY`th~yzBq9qxS?*7d5Os?K_l*eZ$gHQd?6?8
z{aHOGn(4+#Z<H6OWmJ|mj4mk+(&ATMmLo$|{zday)}ShFdq{9~jt-^t>c<LZ^@tfJ
zYlR3WGkKxr=^gb!$?bnmwI16QQE at O(jk=ia9F!;1Tj9GqwS~u1=W>ul`QD5>^+LI|
ziK}evLG7$b$2aKFGuFfprDpXtWR1JJRfGzw6SUk%JzRr&W7o}r!0x!8Vy$l6q(@z)
z#)%yRJ%W`7`LP-4=T-)B9~l{tid<5nH+x%(vuO1RJz^B1D%5h<M?GtL at XK;5XM5x_
zL-Uve=5@{K;SsQC!uRP|p*4P*$)}mleSYirU}biTe&x5;Mcj(6qCAt at H-85m;%vIO
zsLx!`TC$>n(-q&4Bu?E?BmXD(f1~fk1Z(4p=6r2}6#l8NHKk2?BXO+~BF~)m%f4b?
zmbFW^NZz2`A!2>aRXsZ;Ufq;)qEC2!fp~0pPLIMz{yNtS=*!8bv)ChYMl>tkHq4dx
z)*Gh;aEH^9h2~C$YBBsi@>2TDHSkpUHTvq=>_y7L8zjTh85>$3XTTxe!X5OcHJwXU
z*0b=Lb3Ep*s?sKB&XX=;`Z1MxK{2^8)=ea_Opx#|Woou7JHu4Z{TRPUa- at -}O1gS8
zkFl%gnzz?uc|LsME~`w&{|j;)USwt}amSTfpF1%*&+3h$QHoVcb4u7`@HOynz(HtB
zSsblzWww0kHg>Th?(%Y<ji-()-7_A+Uzf6!UGee at idAy$ByxJWab=iXx7|hbu40wR
z98?m3pG?Qyq6DkFV=jEv&m!JsaZ>69-kri|m9D{e at Ng`OuUZhM+FrxVBoC%XD}KdQ
z)K%Rq>dMzXSR*)nN6IO#fsA^??TEO<OGnNHD+TW{m4eeJeKNKD&v23zc#8RM^V9&g
zV*hM*lag`BS@!Djr90 at AdD9JsWsRm#a1?xDz41KGD^L516R at YqRCDn0@<rV^{Pt)o
zLYv_4ma#HZ`|kYvu)wq_6B5gcgSCC;@8>3D^J~}}L^b at csxxbh<Imyjc4`glRnxiL
zX3?B`nL1<P`pG@>RBe4v9?_9n3!J!o?P^c)SjeietC0Rq3~vl~ibOq+_zE>-9SgZt
zEw+2VQY+VkGSvB6>E1%tv~Bz|4y}h&jSrWvG%k{_tZM<A8wxgeGqcS+4svVw at sarA
z{WT at FSlFZWFWh>B at 3p_L(ydoB^CCM2WY<S@#QknFx+ at nCpUcq8CSbMa=P+<4p)+of
zUwc&5yfv9!Gqj_XHnN1XN4F4C%=E2mvzU;n=oU(UD{Qy?j<4R^cJ=Zxx)A~VxE1L>
zJ=(&sLE*WOWb$iP#9iK<%6*;W9(hNVyX`jjONhxuR;o`T7k@@&3LD41BB4QHRO-Qa
zUQ=>)6jQ$TiE3z*@-w3ME^}kP^?tMRd71fCa&TTr?IJV*=RT{pChpjr)1wne#}Vlv
z*Q7E5EIp8#z4mYGsW6-TFE-qP?0QXc%}U|GxOTS=V at UZj2ocS%<L6U<pN5Mg5MJEW
z+ZQ{pG-lS1;|I1L7O*z)-i2IXY;K1U|2VHUwJ&B?;yR-F-))-r(CrA|YqGK3iT7sW
zY+&M?RT7;sJ4bXaVa`$i#Qmw<PeT$RKJD)F{SucIOX3nME=5`!GxXL4_rQoUDoBK)
zb3u^4So19(Wm~RcAa|+CwShj_{@|sR0i_A67<VNlhKTv#C0P4oArH!3ApU`fZ<&Wp
z&uuV7HY-zQeE~xF0BMPE|E?TH704g^O_mF(F2MNSAms&*r1}3Mxi;Lt=@>6A&L>fk
z8MC<gy4Qgg*p+h%%E@~RW=g!^=S`;)vv at I@<W2aoQpswYxxUZ*Ljd2ZB{%TjOq?4e
z*TS=hggct~W=CstuVxy_08^>c(Oude#I?}Sh6ckvZ?%O)Y039?^M4o{=d(r#*ZfN%
z_q!)5CNKaK9v*6~=`;70HvPeuM9gO>+tP^rPi<<>i@>k%ZBB$hFBHESldCr`F|2D6
zDhj%_pwDc+VFe35!#-wvJM)Gt>Jj887b>-%5E~FG3!#L7#Aqf?j7(2caW)8Ezad)N
z7u$lbAlMYNR7KBCSoQY`%JV_}ov=z=2|D-&>!5Hs<$L7g;`vXX%|g?#4kXkIXnT(R
zZf71&{GYN725(YlC43U+X?H!78tb?{)f_IA#9gSi5$8wEO0Q=5PEbHQoF3Q7U#hx2
z3Vo76IlegALsqFFN&ZB+&U}Tuzr`G_H<8~H<hMkNN5teNScf>v?~Q_SmQ*6w@*{4_
z)Y$Q-I3A&3FG<ANI2)F?(Q#f4$WO^bb!n-GSX)!_d;X&t+w`1r#+UK~6Yv{Yb#j*V
z^a)<fgFms)nExX#tl1Hs2h|EcY57L{{&`fYR36a;VHX#fr~0n*dNnkI=?T;TjMZ5#
zszA!~mie-bdhh^xl8gUBa&Z!K;p_4CVDIw_V|0mNna0f)cG8qH%{P*{h9!wL<uq^r
z3%MI`+!5 at V=XRUaAgS<+B;x9XhpPFw`T=Xcy%9ZyZi=tgJ${C+4`g3nzVIvC3v`D{
z3LfB8ta}JnI7Or*M%fJ>$j<G<vTKwR*<L~BAyDWN2Y`idl^7Sga|^KabrD#44winS
zpVY_zFHT2OyK%f<XNDl+PwJ3<wa<OAhtB#N6n#;7zHX$U@@1C%y)1#joh37+;Ub7;
zcL0z&fa$5Q@=L#YqWa|k_sixUWLn^|*}}cZ`meHDsw!u+z>dx<l_g!b^lpuG^x$~g
zsaivkfze&(qW3Hvr3lb)XR4s?HBL9RL_RaQ)o)xIYM$KjO#G4hbmBDeHKXac0w+^*
z%#Y}#uft&PH3nwMU&9$XBN+*f7$qLEc%7 at 4^~jZDKFQ|HY(oI?Lf}&%R_kS%ab{&^
z9gowbWRm92cV^m^xml`~%rMnRSYkzrz;zR{+RX0vBjwM^xqa$-xke*juP(&zZ`esh
zykMEms9hIv%_w0)JtI+%Ays!9x|nt)Lt?E?MrVBo^b^^%AoFD6fgvhy)UjlGnY_;+
z5kuCKV5RboWK<^VdFE>NyO-I9)<D`p9)I*65whM0Z;}fQ0TFzStv1olN2f{fgWtC5
zWVBVA3gx3VSV>G@!)4#N!6-F$GfE8sO`F)GN}4~_ at W|5#Tf!BYL;z<C{=ka<fP~(1
z6z0?MtfmDrCk?k99v-AT<*k-gTH5oI>^KeYXb{?$iiUA|pbAxaR&&YI4>OtL3g$`8
zx$yAg5*tXqHN)x#PZ*Adk6SqjP1~lQU(S7q!!Ep|&F2u at qIGU6G6&7a>CG3UuLLU3
z$ci at c@U8QIvQ at y+^0nTj8IsFfe0qhtyyEXvTzoUXG%KY|Zk|dvN{OX<6_#9ZkEEJ#
z>zShFWK at d(xG?2`Poh^jBo`d_t`TuSat at K4N;*LD=}~%5bJlG30W_X!YRz(GxmR-^
zM7Fe-bH55Ty3wuP-O>y&{GRh*LAa^a2*ThFkA8m%SX}XQe|UCaJ-U33&>-P*;3FrY
zz$dB;2hdrZX#Y(|uR+w&@K8-V0|i#YtI7>I323EDtew}YxhNI>AMWrpU;3WMh5gcX
zaIR;MJnH)r7XOzWxEP%@3N6RZKJ}bAHN?b_m8Nl%uENnvr4`3+W|pJ=2scA?CfxZf
ztClWUIb#cCNN(_3yx`_#Q_u!}(}U*wXEtki`bYV{3A*O1PvfYM4gO)Q`i8nF_*b8D
zl=3(xB6q7hJGAG~NpvPi{X8aN&$gaKvq^NZfd}HxoMJsf(w?*`s*h<R7C&xa!^vSp
z{5%h7f4<d~J^b<rY2h7d_(-%I`~0|5X6TfJn3V~0(Tdznr~H4EEwO99D=WHPL^KaM
z2g!J(mlfh4FBHzQ9_hO?M5D1>sDeb>^-J?)(mcM5xDx~${aH&)iO?icvOP(=M?<=@
zT$#8`dVff7|BwSM!nHQVHzBdB;MgJA{yI~*HEmVh0$z5U8|gNIwH&*`akKuHsQxx-
zbg4?4Tq3N=u-KN@)paz at b8o84di8Gn+=qZLB;58O<_(;3nXY5Y^ZA_gufdGO4<Cex
z2d=xaV=j;IJ%2~avPplTAN>Hv(#CN4h)B<ll$F`6b*J^O++Z4{ZU*tt?z2>tlUQK%
zf^dudhWV}d(zi**!JlTk`6k3T5R#qEKW+RSJ6s+_GP at czyzx7(j^8<3l(^-vVERaO
z7qSiP?_1-FLHc7U)agYh_4j46DJeeSZbF+>euh1uLo4fb-U^?6g6c{7 at 45@&{N&8U
z0_M5Wi*x9SQ at Z_d8-`QV#vncH(-t(J*uEPyMf(w*G_m2?o7VcXEtN|awN&4)PyF$)
zpdV~M6x;p)nn-Nlt=jCB`Nvk#8m*_z=d=oz2C$8%iMLI%YhMSZmn*skro6<hqQY$t
zt}vq`!IVk7Ga>(rd93bgjyLJXM36$K9NpE0Wo|u0|FbM4qwnwahXwE1oX#c-cZ4Lk
z^J&z1zZqKb_CIbL-K#l2vgk8x^3Sry%*O8aHCt;peCr;C_-QqJpd|5dU&|z8v+t`q
z&n(>M3<h(;GlctA^Z_M4X{C=Q?Vx0|!FL7NesL1}YQ~v-<IfY>;nS?U2i81UP;6yD
zuz@!IB<lVfHVxW-ytn$<Ec!%z{>F>82CoT>-`3#WUGccxU!%VZ)_>?5^JM)6>h!QI
zzWH+qxOa&DZ`t&ZyI{Q3&MggReKk)fvUy*chmdGfk6hwppZc at P9%fVLbDZ8 at PEXr<
zPjKEEZWILCaqO+88KF5wuY=XGAb(chy|?J2Nx5^;q59#_#H{Afpfv76d8E>tVO3w+
zavx0pdAck6-OKYmgP*9v4sd_B>3&8m_&v8&O84~THr?xxzE$vD0NV;v4A0Z at xsA2~
zPW~oqGS%sgW_VgEZpgmGrCxwT`$;=hZNGY}J>I~!w-sw&>OG%@^CqiytA}db(F#xI
z6ICvpPyFrxmnO;RdK&fZ&UFgzv#(RMAA<UEx&!YhU&#<<`xp$f*||^kZ|b27CAgX}
z+WkkX>7Vr4MV57p6>*)*4e0}Saf>5)kusUMKKO at 8kUW&?hv9Tjd=tN9)t2fE-s>)4
z0K)^GZt-3gZ24uWN|tYMA=ySg3V^1FJL<i44?VmvF1HWOs>N;4%SgPh=W?!(>DFv^
z;DFyAd#OJIdF{$y#c0rL)QZ4f&5<zm@<(;d<0uWzUxd6Q#~|IKL%P?2sK;+*;%sXn
zqogb(v+r6iRJteIXr$IDw#sjAJeSQ6Q{6p*asubCf)3yc?09RfXnA*VR<u0uW{cEc
z9DbGbIC_dM!jR+st^+vPy;Tc+&~~HK!JtU3Y<`#uJ|8jqDwN#w1-$u|ldkNptOJES
zD02%Pihn;gigjv80Hye8NIj8Mxh52J2 at jFtHbFnqNGns?lHB9SU09d93&vO8AK$15
zND}7$5XAk?%7ke9)GQ`LGu~)LO&@wl!`Z!&dx^!~-r(jdER%lJQJgWdBxCiU#Rpx&
zGo+onh{gk9N_RgR;!^}d3v_u|(Ou8NRI+o}<gmgmqmCo}*!Xi%Z8*Qy&4~ZP@?&Cu
zS_jI3^r{Boo=&NL?2AHw4MN|WyQn2U;X_g4#>0Z3Dc0Sjf!KxG8|MqRUf~@!G8cW*
z{<T#eM?9Sl6|SESeNgSa+3etF`Zw(z?;^AKX})hQR8}R{&A0vD<VY$Dtbdus;AkFz
zgt)0epN<tx^)&j>_ww$i1uRBhnRH at QWLC%%6 at Sps5iWx@Ze?~wdz{4q9)zAkriEM5
z1%+LDm<ZvS9d};`T51~>a%RyJT{lPyoz9K)Yled-<AXa$LJ6M*bf)C4N)pV^XzN;;
z+!Atb(702-Z`gSVtoxMRx@#WVtb2bx9wVI#QyqGs9veTaCp0EV7YC|)kQdbnw_RE~
zmY(R@?dL5RsOm%D-j^v6>1CK;2m|I$CWT;R3E9~Kk+H><t-U-Vdd-vQ at N&j|oKSAE
zi1(8Lsh09=Ft;IdN-*xXyCbtymD-yvQGdwib~bFh&{E!02*wR*g({)MDqKiUq(fYF
zGO+w;1;mu$G1#*3U;*qgI6|<~s^o0tMY1!}gH7C$Djj0{!TKahg5(vCl(#b=5lBj~
z7(*xA(rOKo;ySZsvDg#=Q*iERKs{cTa(auytWZcCR6_&PT1nT7a at 36H#~XG*dYE?Q
zKeD2s at lg<4%n3`hG at MmhA-5R{mAO%(2(v~%Fel*~fI_A$@rM`|T~OkVmN#ENUM>;V
z+A|9as)DDHppH6R!Hxc|T6%0iDsfIN<RrL^hTuY+`>OkTnmx66HNJEdNiF;%tV?Wp
z4XwQ3QjRxz^wB+O at H}+Gky>aU<(C>H`I`QEXd|341VFU7x1bntXG-#-I^g(YaC}I$
z^n9YeRwkR~$SvwgXy0r1Y*~dM|7gChjWN~h;N$kF_3EKGv-;3hNWlW*Nc_^dp>HXo
zeX6-sBLk{~NUvT+kymdUBO;OoS at jKjW?@B3Nn*vn+s@!$P^h*JNCRwnCFx_ZAWUhv
zG1N;>7_I-&x(9*_obD!ki^dvGVw>ESSi8aa;YI<yt(vp!CbT5wgPBEaFx-7U+<n|8
z!9?~5dt!mmxGer<`1_J5PgD{zpRJ6LE#bs8&r?w)kp6M=zLG$*{2%tmZu$vl7Az&i
zvMkQq+>D+u^*$_pxZ?vbZ<4(7=4`fht-jS(%N-1VwlCDI91aCl)5&J{5{>|(F>C3e
zKof$o at VR8vLQh34qLYGvmokfJ8kQdWxqX6}6CtrXKbTlvbft;Y#R1UE<EOSUN&@hd
zONZRFr5)~ZS{cmtI9KWu$bbzj8HT}TWiqbk-u0TgP5-^)2L2 at p-g(I#8QXlV+7Ier
zwZLFz2a`ppsXoB!Z&1*wX_vr%lXdupA}<XnK+^qlYI!J}-|)2~uYbh{qe8CDhP?~d
z+-!MO^DD0PPyu$~N_L#j$P&To!L*(M&KW+LD-`jrbuE at J1`j8hMPd at p>N9SVfmct_
zxA)ENex$C7Rv)yky2#&v2W=&e#Ab;vd#gW7CfJZJ at Ombk>?q>lg74yF{7TGWLA&GO
zCHS(UCwp0Aa(%5a%1tWKnZcssxj9p)f9#V4+Gidy*|K`q`!E8f*T!Po59rws<AZyU
z*M*+5)ssIWj8K618gjEmxT-7BmRYfa7BrT_2Y^3k^F@(|1<I*V2jE$i3FT7CpAX6}
zJ}JnJ984=W=lV$>g^;ZNRmkc|R^tZZ3+oG at e}bY#BWbBOWzpF70v$CC?Qsb{UwX3z
zqOL8g#`9scuoEmcRR3 at yn-7QM@j+l0nz?!7GN^PPfZ}uNF#2b$y^SF6+inVl7Pf{v
z0yl3;0JH#MPLSRI6|`acZh1mNr7?GURiPE&bTW}U(YeYIV8PwRZe+v7;y-?(P{`&c
z!Uw>0EF|;q2(Eb7?CuAZ4{XBlm&3Ss98Rh~p$n53{00N*UXWzwX?}qoF5EkGf2w}3
z(C at E2F(fZgMsBy_5r9I-*;@i1Zm at dq@dGdChb=vl34taP91d}GR`CH+zGlI>RezKO
zTIKUEXKZ|x4Ufa}M{aY|T%5vp+H=_NtnxJN3Ef9n-bOr4&i<b)DlG}0Yg4jY^My3%
z7<j=at?2Fl_OKvnx=qRUe1e%(!9Da1hM;K4gbMBmU at X=cm}0k~dcYt-(ax9L>_cbx
zA1NTRuH%ksPyC=;IPrfX>j6h(g<m2vzTsunjsmNQiVTG|-S)xAO5%_qDM+E=75;${
zC@!Q)hy^~7D;TK6Z!7rrDqDXV4u%;4-~}3 at u2&Rp?0!Ms{2*{CK`#glk<}mx0+~6j
zUBUw`37>1+NOuYvh~)*EO<va4I=JajVpuaArF!z7N01GH#BELz2Q^pW&UD-an)o%{
z$NzDT=@@C{{i23bMu01Q4L1aDXeP4tfrB|C4m{<I(hpP7ghDK@$zCP=lu%t861Os4
z!06N;9GEZT;7KG{(OTRQFX*Ei48_n8xBOt_LUo+2Mc?xmsj4{@WrNQM(sZmWZLx>y
zHT~@dj(dq|cN-0GRuDm989<1o7>4$dRAU4XAo)6BEzZwBc%<qnztQcXi2hC-Zm&+m
zAbARIYQ_R<`VEF17x at 9PPRS~6g0p!J731V7f#${2(mhlgBf2;VhXriNRc&v01tsz<
zJ?hHCHcgeX5C#>-6<N_eJHk|<kUcr9nrUl;pBxrn>h)6gR4U8Ri|EcZ2_6A0R5!Om
zx*9KJ9u~MmJ#0D)Gv9m?XA*>lBwIHKgkH{xl+S~Li2DjO4;Q3cZnpTnEOny<OKnXt
z7)D(5J{;n7;du0s`8v+rNcS7u*X<(T)^csY_Ny7^^85EsWbeR@|3edU>k)32Lus(Y
zUK#`uvxb^(uX?nvGzYB3hba!fIJd{so~s5jr2zif!@5zy`UzSQ;JB(1hy%$A;$(ZP
z6E>v#z%`SmKh!B0nIXPV7LwfeBqO=S14=-EBM_N2rRCmn8aGxYX at WpKw7^ymDWOpe
z^-xT at AeAZ&aH=*PENoW{3$QSOSqbAw8Sbb6A<@^$_{6X&7lPEmt&e8{Fe7*oPzkRL
z)K6q*OojHtM$&$OauwPS!FCH1d}^xzUy1itKATlK|DJS7Kj$?&ju3>Q3UC$2g`Txn
z$ak*8eA&;UVA2sq+%*Z2P?KPs72{EB^szoeb8?Ht-!|xg$NV@>djyR8Kla=9x8L?2
z0x)YXYYEAf&ut-tR$b7yR_2(DH~}s`p9^{~HC8#-BzVRln&e!P$cMS8d)tii2d&Yk
zt{h{JE-{rlp4A>AvyWZoVA9@?K-}@oV*}VK=<mDMzF3k(ilGdv5eKVpRH*k0*)Ir<
zAvmT2{H!2aQN<?)T5;J)f>D*(YRHLp4LVM7N_DpYY at 1E>8jm6NUNYXapuk4HpLDl=
zZ%J at Ak$I%*%E1;UylB00ZjT=z%pz$2C8z?YN(@V_qT#ZaLYJAvfm<$$-6djfl3;by
zrog4pJQ*y+0>W^YVfHb5?MXWOA;H at 9n{$1oCoarpv!Tsl&qg8qJe{9g3O+kXo|Gyd
z&T(;eofPWmlm9hsepyIL-yPF|mdrDQrtN*{L}DQnfHHdl=t|lfu64d+FqR;Zl`dHF
z92;20Hh!d4oGyU}V at jmg%9Oa|wl0Q}``iC1xh;;204%cSxe1VydiK at v#(#*cpBx5Y
zE8|OBO7JRa>%0Aj^mgICcjNo!7b<Q5mZ1Db{J-u=BjI#Ngzib}4+)A<?sGBr6%Qig
zuVat$!#EoEbsatZWshQ6kELHhn!Dh_;eY>;g_d}zj!$t5a4!+0I$A8(m*IKZlEK3J
z3@*H-1#z=6n80{?Hd|b;9!qt1Md34Tkz-Zd^K65m?8VU0kfl=yX|DL=?T{zcUIis#
zA++2^A7q$h7?`wFm3V$o->G5zfiQ at bWkzEK4e%=f6D2__2qt-?^7g;k5^_d97xE#Y
zB0BdS+_>4*pSlxzEDiJ;G2=DZ%>Ht_ArYqUxZQB>#C6<XO6<=Dui`J%rbdh(*m+n0
z8K6CS?7)>5jeeZRHET#J_Fr=Exp40de$v|&H(PoN2AeEJ at N{6Rf%W~-o>a!-5NCad
zXxqW3w7=j}pj#qA!@S&NlQsR5lUt&42Bj`6i|%+AoXX at rGn)s~TO&7|NNqXkvVrti
z?#^Zh+#h`0evvq2TF+vy at -SDU$z9L- at a3$?=iL_?OUx6RHe)!3Z;pt+c1PM^8(iDl
z_%!-4rP#E6KE{bcX>)E1yGU`vm;0zTpF8cI^h}}zP&2sGK~AQkN101|`;ag%u~VO;
zKobEy+-EO172IQC+z0IaTOvBl59S=;KBiOYc4S;=&nKYj>j1!COwyu}Jv~EeuV&o$
z9YZ4Ko|`QR-wx&p{3tB6?;UL4t#b{Aw;FvGyeu?l%M11`ioFPE*^7Xdy`p<>sp{iz
zY~x}GnWUSx;C%ozeollYjio5CZ&C2`?P)Lt;9vUxgkHicuP7o|0l&2l1ZQ_APoog>
z$moES*wVsztm8d at LI~-?fW{p#Ik+<Tw#56DGpl!L+=>9xxFoN{l%?>y>>XZv)wCbX
z3}Wq#2~cT3a%uz1=(|f`c;L-FkG0*RG&aY(>gafGmzm>$HInElAt+ at 4wL$;*H$^qn
z*hOII;TX(0pAqy#^`#9eP*2s^T*ErRk;c at uWS*zWJk^xyJsN3guE0=2aJzd5TBORo
zcNxqLDWwl#-mG9gRv!VVR05!9TXHEJew?gNDU4Gq39j-T98dUr6xAeg;NHN<-L~YV
zDji(EqkVtV9ncb9fUOjLTP=;Tjqak(fP;A$yLC1bz#?WbZs6l$D@*#77Q(3I48DSU
zX&M|xqgAhsL=;>o8R2oU%#?$N2Tao4(~qgnP(FUV0_0D_Mn7M10KC`WdjmWRjw)$N
zaYmj(6>4jra~pie$g6i<)5Z{_HejwX3qk$p<lyu|7xt7pR3|zGw{Q8}p?^RN`~ZgE
z;Xn&yo{pP~rx#|Xrcb`w)924S(r*U4nz(&$Isn1t7+8K-T}z1l{)<k!bQzQ4w$4t1
zE{j$EA=SS39mT9S>$lKrU9~uKTJ#QJ)lPr{g#M0C(2WbfBm$6s12-82`bb&)KPOC3
zm1}7#Fv0x9&khUx;L&5a7Cd^eQgC#KfRW&_x>~vl#%H*_se9l%ra2;jt^1kie>c_Q
z5{2_FK$9hZ5(HMWU}0)%>QBN+MS#~xn=*(QmjFglA at nEIfGIeKQdv)WZy;dxqwxIt
zt{Eq?EshHqo^c`@)SnIRPFvS9!q(%7+~j#Mp{lkg1BOs$vAxpH60U&ttPf7=vG5B<
zgYa3{`kVmNM0kHJJU4|He<}=5Vii9E@#aV12h1 at Hq)%jfPao`OA89NWZgrh-1TgF8
zP7039Q<JfA2t58P*!C*+;>(`{y<LnG%${%-gwLzM5ytyaMFos+F5xbN#tBG`lXbt3
zF;>N&wD&l<VEp{l{x)N(7Stcgi9akDHkeIuM~%n$@pcftA}B_`7_85``k&A?0o%u|
z{Hyr#gDa>yloRV!%?)@ww`V6t3SAmXTKO<N`nMAa1}9WmZ{gw93X(c6n+M`|{u9Li
zCy4)xVc-^|&JOXZc76b6qrlS}VtaaiOChJiv$Iv?>2=w?&!51AS;p%43?Dym_n_(h
z#$b%qOMKb+>?6j1j^Gr5ek3Y+T(0$^$Uobh;M}CQy&OE>5sI9F$5ud;Anp9+<k<oF
z2P*%xG=C*3zW)^|RJvA`Rpidr;hE`jC!1e88Tb(}>;VQ2RACel9&!X<G!>xSftvmc
z&QR`@KrpyKxbxgKFJShG$N<fPA(0K6smCG%`R5PpZTiL<4BH!hW at 60#V#nE#CjcRZ
zp!41uWWuD>0!5;h#MrFWPN03lgxLkY_TY<{eW<|~0xkwdXMZrmpJ#!q`7RT9`^PaU
zBrkq6J#;StA_FI65VFtTwI56kN(S)ZcCG*zt;U=TBG1+IpKunrf2o%>Yz~CDjTp1f
zYm$7?4)mNOJtsmZ+&e+;dIV(7P?;Hj-)@yJ*tH at YkE*<~_M}So3yUxsZLX7x#a&#^
z8jRU at yHCbdz(!#*svx>ofrk&4FLa`#kf}|$(#pss%nX}yDzs_7(xyk`WI#9&=ZYo%
ziK@*)W9W3cJ3)f!rw at 9TRB7cx$fQn@!7%CG+t_Ma9>i83HzqF#Uv)bjbIU5U$0hx3
zw3=$L?I6Om;&iplBWyIR=bGVI&wEJjSkTQ`qeLlZ_*=5Dp3OrIJBR6NB$(t?_)=We
z;;@FHYlK<1!M94u(U_G$F#9obCZY75XYqJjfG&V%RV%=@b6(IhDZ(K(K}#SxGh#B>
zcG4G0RCnK2guA!54~I1BT8ZgWo0#famm_Uy(@>E5CnEJt0zd_-4WURp#TiB1YR8+Z
z(2n+c-bR~sPb&|3kzR&t at RBLm!gSD2v)?x+|12fspR~3OmoUFf82FN9yAx*$eO~gY
z*uy5Q>jrX0H=G>R{~JYwsZM?uo;g9?{RUwSI^|9bN_lnMwc%;Rk3yuu5D-!L4y*hf
z3UOJY-WDG}wmSsV%Tk<UNZPD^g)of-5e)MuJVqFTXQ7WUe^S%&BKt=H?4RRGaqx>g
zMw~#+fHpO0{op>a8JJeAF}F7!C)}UHTNL-lblgElA=7^^f_xw_JD at 76-&k<91!zYt
zVA{=<qnuwAR&o&Lgq$DbgkX!T*?BD{h)BHLHWl>C)1uM$Bblv2FQq&`Pow$fBKrs2
zp#RBnG*y!VjU^wY5~vv_PJ*c#3;S^1AiPG%Wf_F6x=}X`vgJSEvg=;BY}1uopDjBG
z69#ghK`n0|!HWpusH<{9$}0X2!1zvy6IYdVsA2AX*~+BwbxIU6+@%2+n+ at 1$=Y<3l
z2Np`Gd^lO!5(N&d=>@~?IhyMe6NL}<r~sT%Yqa)G{FiXqu0lmIwy(T~*7m}iq1bl{
zoN^VycgiQelY;bTl5vbL3W7}asDHt9C*I@<>mQIO)q%`AUX&SXa4Vj+6ZQ|r6yn!B
zB0fcOxeM3-72-pw7ic(36#eda&G10AvO;q5M`RS^gWQ^*6~;lD25~whwXo2c@)Q}@
z-YuYm`%HL&@&tWPSH%E%&IjxX64>^eyHdKag$0RzNfp1sVPa1b`}IrY;0BT)&m4>x
z`Gw#~<h at wc){TxAO;KdMAy~=(e8I at PeWeQTn=qPSji92W+rJ at 7KA@sxw)}R*4w4yr
zIuo9HSi7{cUD(3BIz_uM{S(9EH0B+U8}NJk`3LaBg--PVSl*hhQ1cQ$30I&0f}%;`
z&By1eU$^yIvg(Z7K=?M*4&0eH%|ce!?gSrDbnuriiOeS=kFd;v6bBo3khlkG|7QHI
z?z5AL(^!trhKSlm6G2X9dXc~=Qa$?^lU9t}G#i`<AH5RT3)pSnf!673oftd}NVdUh
zpuiXc>9~|QPYS$C5uCO1#~osmr^p&g?s^xYBTFlxeO@*K+_w6g|H%wQ?)c;+$P55C
zU*(dcMIYV|wvvePP_NOv(Jf5}C+7FbOa9ZF_%I5$PqG{DT^h6ZE_hhu4T&%7`QPxc
zOvJiL_6C=fCGLJ!A4Kl^)mVZhkrypOg}bRZ=_wjYlmC;<dGno8g9d{L;QEPJ(G*-C
zei2USj4W^^(u0L8LISswWQ#K(9m)U;^QI__GSSo&@Ov2Nx*$CR=4?p)mXoSCJe?`)
z2342#E{Qh}X%u`wf#+T%fU}&ib6C}pd~hdx>`o%l at 5GT&w0qK8a)Aq{eeHbV6iWYJ
zI9%1(cq)s5ZMTRD8gWnk4Td$uysxZr*qC6z4GK>;Vr1iNB-y*VHIVzR!7<~)GRJL0
zau5y4K{O->^C>DJOLlUQ8T<t#Rei`6z at l~!%6AnS_hTb#2{1I9$LJD|f~o;BCnu0O
zpxu)skU>CO)R+M%?wT2vJIP9P8220$sl>kj<|iJtX9tWLt=w|enXcL at hznqADo9df
z>sOOB at SsiEhJ|$NR4xz0wZ1Lq#_%vdCK)N?su<96V2~SMP9~dnFB*Wo=;TBv)~Kd*
z9}oHs3=rJ%r}No_DyuERz6^JLaN3O>O8&k}k9cvA3QGR8B?u#&@-YG)QWBh4r7a~g
z4V_?yXo*U&)VG0{;_xW=RVN;XSH1KFC(16$QklJog^zStIO}bgW`mWrh(=hLH)We_
zFgZKhKTg&52QXG4S+}9&Y^-iy<b`Ffh<1t`J7q0i(6MGJjOyq-XCJ!D8U^VuH2aSt
zK7dIv8v#EqRyBOdlAszlmpZ)%@o`Si3zKCn-{99(xWz__P8{JP?rSr0J8*$*?RuFY
z%!DNii6JlW{WEpj!!e`8$em10zlcjwJczV3;YNLixU53FPbkNWB}`KXQ(&sN786~s
zenHnPEO&#Yz&T4$@WGw2fSfFTLGDJruT&%_eFaEz$Yu#ir&)aC!?j}4Rxk{qpG)+`
zY3LD0dO|Xz43Z^4f(=sw$oYM0f%~2T<%YbyOYZKpUI7=?W{8)1)Bgq!HSs8Tn+ECU
zfCq<V8de!xcZp_lyxG6ev;=2H#ZE`#K_?<r?IbeG#z__*K~;$!;EqxckC++IPwc_N
znhs_bNSPUK^}>U|gX{qqW_6(a4HWYYdlV4^CfSqK2}a(?w34pRQU)I2*Cl*e*)b$$
zI<|-m6hZqo9HJ((x1Z^3<0oYcnz{I4=L|lsTrJvI*u3LYoGW;tOu=qnq<-8Jui!u2
z9)%dB+GXA>osQHWVe41_z$=1r-OkBh$YH-oj<42R at g2KYek1cyhc=N}g?t)=n$N2d
z;BIDKL8;<L?<3*aEfI3m=yti($gIjht3zWrhpU?B;oS>!)^%FM@$+i?6x at 7YhODP<
z-6kYoYo%wi&sp^0 at Q?VVTXoXba`9KuvegrmL8H*WNmEFVip6bdKBa1lPhY>*r?TRN
z5Gl29js8!UjD`BeG2J?(;lEvV$%LMJzkMXy%2slbZ_5HXYIvB?aBvrrcHiW_=hMi2
zx493g?r_KYXi;jTXM4Uut}xCzpQ(*GbY(}l=QH2^#or!m<nAa((cNa6)pag=mv(7o
zQNy8C^GeKU)-?%=xL+WmH*76hAz$#M`;~<Q at z1&j1kaU5v{8#>AD`K%pr>|r2{vs%
zli2a}md<Dq%>8Y|x?K-L;}`u>QN4NJhGdathIU6RPsIX0&S$-!!5)C?yBiN!N}JOs
z10-eSsi$Kjc)?qZXE!6puJ3E}(duY4#3I(p>*RmsnK%PwYY`^?wtfYHAAq^?(tfdc
zpEwtCyaiB{7*AcaAgILhkwqGevVC=_ZOU6+m#zMU2WI5P$y($>_!r79E;?`Z{Tmj!
zKr6pepVNlU^_#gnwZC)sioJ at F*yeo1Nl^%e2v&Z9%J8r24}cEOe=vsWQavJsl+$K0
zfW6>jN-+Z%<x}3rf}$2&tqMj0_>-M4o3%|J4uat6(OQgjc~*~_i~~%;Nm!x6Cxnz*
zJ$E?n?Og%)BS-I2HSp%FjVAOUvRG(*6-CQZQqfQj!h22<Pxmt at CL&V*1F*Tl$P}KA
z_rM$=GhuQ8)yUdWjiwX|1b3u&PvS)<<m}BG at n2hy6(TA4J`q?4?kr;F5pL}Xe1L?9
zyeVjI$C1A*NdNl|KHmx*VmSq(QK&*rqSXWz4^t3K14B|s|Da%|R)|=+o5NKaMT~xD
z7gyib#Yt`v26W;470A!XogisA+I}$yIA}(0GR1vH`QHN_#^<pNNRWuJ-=4L at OWc*G
z-_^xEIzA!$-E6d5$PEY2>-BJeMpzjTAyNQ+Fd!F~wSe1rn~(y)XmmYX4ro_XkF41P
z4_;*_fWZ*vIZU>`uvEZh1&FK--fQpTg%?W%5g%>=D#X_AAU|n67rIr5>tSzxG$StW
z!La^1P at Shh{nYM?08U`Pfm}j_`(wgmxPh6JFM``&wPSmOq$O7?*b&7Lsl2x76P%Qf
z-O<q~OCjvz0F4psAVBusfTX{RYsp at W5eXi)z7Kf<(=ja~XPubQE~0fyy&<#n`O-+U
z+ull&<>(>k!aj*-goOzoz}x3qSF^rn3;*-xlO}-g<>?rM1^_f<hSZA?6E0}cYh*l*
zSxAZHwIM<#&=3*R2D0JQ>kua5_A at KHUhCBi8N&g?_daK~@$jtjVclyzgd-B%fJ_3l
z^q>I%3M0<<_cG~8m$ojK(Iw5xOgsWTiL%fH%Ya3reTAA^LMCjpz97IBMblb_K%R)u
zT6=*W3C5qd184#J`udg`42v&%|B5^NUv*I_-j`N6COBzjyMg$RSk#suyygL8cNgAo
zjn2AqBjrF#NTDTwVnHHz=<Heo+$cB%L{~ZikhP&@7xAVaH%JvND7mv?Swu_J+b04l
zDd{aAO=FCtF~*S2*NS7vM#4ru`=y&em`ETm<D!}*w<ZLj<tnA-u`7Fz+l>Y{p#JaG
zF$Uj#C)`$w3pJ$&e|5Qu_S<d179IbO>DNQ5r%SN$p>fXA2X_J;Dy6TjtXFgUqW(S*
z;iA1efaZX)lYOY3LTkhL6c`s2a20gl0J<OV*0aTXMX<aKNXY&s9z{Y%goModxW<Am
z0tea3B%>%ee}A0yx7^@npi}FR1OhQNNrcOX7Fgog%1F=MsV<}i#yQ%@ph(zi)DXt+
zn+;_gS>^@ARhU0Ng2#__|K=`r80}CYE%b>hx`zwYSj_%MeWe{h2^v^W0W*|n<wM!H
zFWLdKHyqq`&mPXsbRQw2QLBGu at s9Q&f7a<*N&kwYO4`0u*yojs``W7ltrQ3QsReyR
zl<&XSvHPb7h5J?kBck7*g5lhm$cDiES%S|t?0lf7VhKpSN3bxU{BLZ^-`^|!DOd0u
zs4d`ppaZB+$DLlVBU^?aKZBk)kD!)mtF1NyE_9<|I=UKKfU9x##n|WYyB*q{+mi&N
zJMLBhDI(uCRfGw=B)A(WA&J}V;-?V60ytj4x=QI+VX6TDEV{GuGrFF~SYGXTRMASc
z0sX#pJo{vfS?18j<Eg?*vRUg2;=b;>=vr4At+_S&w<~q0C$hOfPw20{V+%QLwEYxj
z9jtX9o}25v at jUTVu3$FaeSoo at q}fcI4xwI`sDCjSG#B+(@fx7hj%Pm~AURt>_N_#A
zY7r2LIUsv{lHi-l_JAqd*v_(Ns6qDl_(9ppvv;kx4U#7l*`Y?G(%vR3cTC1JkbOeO
zv&rqY7HEh=b}dPJd1J8bFol8%#TA5>6FQLLmMgpca=!0{J5o;@E95eGeY^w7cdFgx
zk$oQm;e5B-vA1h8IbUIy#{;{gYK<$1CX59lo{NDUIf9<}Mz`NWTufhTi>8=p(4Zz=
zLDLg5QK9zZSh>&@1gDo%CVivh0qm&BI%|Wf0Fb15Gf<(-frFP%z&U#V>OGfOoNGfO
z$*Z46%@X6k0#Po+pUc<C(pH$BLCF0D=f2AvZ at vabqksT|-da9tpqSTIlzU?_&_m3D
zJ}oH^*KpPz7G#X1Mu`!aS%AT3YwcG*lWapej)jNaKyhoa at HA)-I)qo$5`+$KcdGYp
zVJ?oi74}*O>d*=@Nem#}*c}w at 9;E`Z$`^g;q1trRA0{iRm9|MDzWOg%ZRL#3zY%;8
zBwJ;Kb)JSNiM6#+taq^C1=$-%#TF!aGPh?eZcetBf$*2G at Nq9C{s};phh|v}sq%2J
z1x}8HUQ{N%Q`FmEbf6{Q4kG|8NkK<Sk@`C-+CZlD2}YrD{<6Vzd;!?0L#Y(7GYz}@
z(+xY1<BmdQOs}RWjD_(FIuhztD3WYD at Bo~Q34yCUqDNu!&Zh-xPHd9kgUT|=*qL&K
zb4)#&4~s$I#$%})H=+FmDx!=8kzxN3on%-IP9hV2$ij{X%GUOk#LEhtM%Ud<66hmj
zkbcz}Rr9<QA8<@$h<46HwV#(<$OGov=QdyxPA%7XLl5O+iU0*pZXtGZ(h6YtlfGyP
zyjaBjCvU~zOMBia>4(W}fgg{{dW|E&doJqj>K=`#U1M?hos0Kd(*b at A&%;!ANHtKe
zUDPu3{>RVF6WNllY`_7yaNIizE22PIu+xjI`SAN%yS^JJw;Q07F&^NCgbxHB9tuD*
zOAGXT^eU||XBHH<oU2Y1=6s&In!^Kpbr*ss4+|b}HyOmp;zlJ2PFHLC6|mLE&Iy8d
zCaqix1GOl-rB{=gc|oo3m|)yAt1fG?d`8eJnDDFr6Hb@)DX^)n2yShk8OBP+H1q9F
zb6ZS>ihdg(zlT(~&~pP`Q!q5mf+4(QN3GAB$aaCbEw$YSeUIme7k{uHUrZjS2TYA6
zOx^ab;Qb{Te>)&qJ!Xat+1mTDVP_=io6*lYwZc>KOXJjQh=V0SPZ*etBYoju0Hp1F
zMU=Ssus}EpU8nfAs3Wd8ANncz6!;K4`~jV=KB6Tb5Cf!T=)Sk4d5s;bQ#JVqB|6PF
zyo!g$`=T_O*Sn*RKxQQkc&T~TOkyjI^uu91_ESRCc&{vOhAVsS<zoK>Etb_b3^fE-
zGBZDHS9~OK at G3wG$!G4mRy8S1B?8c;4c04ZGIDKn)6+c~O)SCdSe$ya-JQ+Q6OVE<
z4Ph#{;xB1UvQl0^$hO0iTV^^gzOOW=2fC#_gAVp5ogx-CdmxFg4g&_f-i%=bL~5{g
z2yIlM(H+lHCBk%Zb at F<a39H`2$<JWKfE1v`^(dG$eF62Ku9*>~F4wZ;t<eXrD3XEf
z{WVC>pI9;IV^`Z%Pp$SSgu9nlbFL+Oy%D2dXUU>=dvxsiON(r?#UVbA+tYdp**5gN
zfkk$Ez_w0U?NJWVwVWuQto8uq4<%zK=EK&4<#FGK92QJ=mVaLwtW@;6YtL-vkVjt#
zJ|3_3*cg&7;Pi9$Q>+kCIGEm;j1Yo at EP9tB+lDwTRD|MGA at sqDM-Y_AtMh1j+cg$o
zuWaC%E)L#MF_Epb!4)8_BT$`-8|<=Ei#^hQv at Q1V0J!b>|4;L}Sx?n(a(sS(@Z#_2
zUP at xz*|1^Ihs=O*Io}GsI09By%7JRSr>}7qkip>1H(`V`z at oJZV7Jg>YwV)$An`>y
z->qKDh8>!*02DitDA_`G?p3*f+4oe2H_gJYJ}}$XMvR{8^yUfp74ThMXu4hT>%A8=
z)`962mr2J&^-Ce6#)`)UEl}Za;|XgR-){H8)J7}BBDH)he>Qv1Ajy{8{PVQ}=-e9F
zG3<ErSB>MV!QEP&mX;Ep?I9<aPL~a)gC4rV#_z6JuWjtiL8KZGZ527tO<Xbf>Stnn
zcl2uTx0q-P43||8)nn}_tzs>z&n_ld=UZ9!YF_JP^<?27 at wf9yS_R?$cI-wWKz~JL
z(rbRb{hqK at 3Fr%Cr%OGWd?}LCKA~}vJ+B%~N=X`Ib;RNNk at hj}DG~?+OdOuC(f2~E
zi7o}+#G5)D?qr0%Jk0kauYNCPAqrLkPDmuog|^;buI#F#4WiOJ(s3{2bkcqxAY3S?
z#x<>+yIYU~W{<b at 3dy>~dPr&uOS-ICIcW*0BFTFB^)b8%FN{_4<bI&_=&b0gQWi)o
z2`<2Zy__e(4A>)AGSI<&M!>;h3$V_x!VGc_i|(T+=Ze1H{{6F2ORZ}iWI!l^WeZH9
zz=af at Imv(sg+rd%zT<-VHr^<cZ3qQ4Y+<*l9!M(<JNIE;Uq_w6 at XeO~%5EoG68KP~
zWIADS3@$jRpDr|Z=K&L~vaArgNU&U&EH>GMxI^H_)xw|-V9UTt9cYG;JOkJ=IL#2j
zHl;SSiQ?f+(tZjA1sKWUgP+eg?DT?o<AnH*6gOp{?ok+!+9?t~yjo<ylPN_J2S{+^
zdoh_|Jmzd+Xqp9WXv|ju{jvwsFVEw1DF85>OW3C)2>bFUs)v)<04d4y&hhx;7dP~&
zw>ENCzQi3dD=Bt289>5ao9Y^NY9GO%n|FDH at X8&j8cxQoJ2;u3e;E}(du>>Qfg(dl
z_XtypU<P at caL<O>J2#LHKyCpvtkhChntJ6+*k543C?g$g8M2PWn<s?@E-fxhHLyK_
zZ}=5~dLy)`dyNhVbb45#q9=f73i at l8Hvz2N${GVu at 8g0HEh>+fV3CjOG2zgwCpner
z#wo0N8SyNdMIoLsh5{CXFyk_T(6|UQgmxz+xAXwnmH4+F=)~ZJN{hK?A`HQ0QES7>
zk%nvygE2QyqOPxM3R8uCX($aIzfcTj3$YdNG3g!Ot4V~|>cm=UXlwv%|9GruvM~(q
z8=k5`VgU-;uy{X6-2pcDgy4Tor~x*HCBj7|!r`A`5U$Ts4oB>un!fAIvsGZCg0OrT
z=AYfn=+%r5Q;%?7AV5lW?-zMd#onN07Gc<mFWr$oay%-EVJlCEM|J5Wq<v8&oq$hE
zvI!O-;0)r06mW$cOpz=-cTJ}!&V7+2R40E@&5 at 6Ek~rWB3)Cs^1`TKJT5(tqG5De|
zx%T-+Ag5J>#KDAeH>@dxwW=NKC=D-dIZl?gTqjFgW~p<5(9W{X1SVTY$#Uz*tUW^h
z#+RvJ@^ScRib!E#+%9^)27Z4&CcjnlN0o4XeTh~ZAMA;YS1`1lzt~PH#tS<{uw~7$
zup_H at P|4SQG at 523tOvuia!4S63<iCc<t&-cSSOkB*w`T91NrUfWEp5#30F<6sz8`d
zD*)@$0jtu3puES}$!|pDLs;a<7#>-ZqyMu5!SIm{dOI2p{b*p*Ix)e><Pm5tGi<vW
zk`c#!LTPO>iq8ed6WksG7-LvSWs4r+gi0D81OgWjfmaO*-1V$ROh|X<C=z)b1NtWv
zhrC5bv*@qO1Vv7)N`Uu9Ln8`yGLa?^#mxkq5m!_}IJDfuf*#;I6E6b0W3s&Uo}dIj
zP_mT>ya=aDu+He2(F8YSa^}!t?u2?IFTw;sov8srcLMEodQdoGX1?K|ftls6Y?<9r
z&IPI*?{b|RbV2qw_(3UzAM^^G`wBVtBl|_;u_NxG8pOi}`#+d0;_(<mldARY?fM%s
z&I=;rox}+&jHah(U_e+0ECEA~ncks#D=cGKGl=F6ZoF42N#_1ungl<<tcEdqK at O&i
zK#<bS4B)FRCsbVAhr at _o2-Wzu)h_pUiE$--E9w8;$l>Nh1cUf^!VN5f1}~ZMb0Oo~
zCn}7kwyk2JHgeFYuA6-$2Yyg^A%_w8F0cV=5c~$x$U0pxOlLgpc17(){ppv&W1KpP
zaD}Pxh`e+?ZgA7J_z4!%W^LpDF-Q<9B<0xbOgk}&BF{pH?+_k3o^*}TuOuls!6rdm
zPTVWG?1r_Rn(!uQ`J}Vk#9Fp|jxW24Ow_ at 9`t-jI6i5G3Z7SnHAp at 3>yy_qaO%R;(
zuF?717ex4w7C$uiMnO<*TTdUSP;G&uot;QWHqJ=<17 at pI%VZV*!x*NK6%kZ(A6hEj
z3`IwbHJxpp6BS8c{UkcbkrE9hWmxJU5A0VP4=lT}aObr=np=$i%@?G$Q)m<3pmBe@
zq;&RP#q`!{4ug0RI}Z$aL2&R{wpH_{C<_>9-x8To#Hl?eFt++qWc))|F*wM)3%4=v
zn3y>1y79w%QZXS#QN0HoCO6H+a#y*uwFi{Ra{ote9(h>~x#=AMO{(-k=~r$HNp8t>
zD7%5QTnx6}>dQo0<Mwoc<QWiYcdVaAnYW!t`<}t at uNPCHV88nrde1Qq--*0P)$J0e
zq|pu*x<Lx|ibK=?6bvke{ClyThLyR-bRz;c at qgRwrfXa8>Kfw>d?Y)b6=#3^?HBR0
zYMVi~zS-^Z+sgznKUg#Fw0VWexCQv#TUcVzBgn!WOel&+8~>pmZ6^E}vVRh$7iDCD
ze*)aKdXQhK{tn(1)yxjnE{u<#@?wb0zX!$kBZu>}EnZ>#4g9Yn!$1-6zkqiKzJYLu
z?`e;_L5In8aK+C1J^4!rd6-nF>*?bas&OxwcWV(=vzB?if|n$eIMW<S7n|Ykh>>RT
z!Ej>?&_a~(v?3xCM0ccT!Gp5=55WQeya%eB5l^QI4zoCqB!JMryh#@L1HDDKZjeap
zM1|TDV=yG!G9irMt%1666SG$#WD*9iefJ6k$(>fOT}oPDmiep0f+z<E>%A<#0l?a=
z$#zA1z$QJi=w<@xFfgIQ|BMJtwNY^{RN_S-I*CKczG|<*-2?DK<J9Y%ok`+YR|O!`
z7pl!0n%0QdJyCJMeTv2|gfSzmLxrYNZ-<@bSU`GO(WJ8g5MHKh47-5vpfD985kDz{
zyW1vz8&*s;n*QySY*)pkiD1!)_#J24hEK0CCxLATdNQE6f|Z%J6;|jUk_^VZWbOiL
zgV_bMIGa?~d?@S*kG2&S8bM(XJX$;NENru43vMVq%l`j(w4QG}E7||%jkiI`Z_A7o
zm-8pUqS_Ki#DM-FKzRK(+PIbcWjHTrUIp|AyuW`^SxeM~7vEF^{UM>z`nR{oHTq0*
zBAs=R^%B{R^%Bsb#DHb444zcq(+5jcDhKJQx$#~NN8_d))G?u*B=|!y-JGSm{vb at X
zX}}Mb=)p20lKc7Xmt4+<SoM(Z3IXHr%K^jhLucY}>b^Z2K*t-fRp)s?&-PP?7Xcy@
z at J%+ at dBXy-7&-&UPR)2HcjIg}6S$l&BnF;c80)v|RXW{McgVTAz^gG!^}tZEXF~9p
zF>RPZ1imwDsVdgqtgS~GjbG5z at GUnydyEVteWM~MpheG~U4gG{(SPwmw8**>-ZTt9
z<@U*~8=!P{%E3t2X!3r?h6(VSwUYr=IT=uuqkH>5JuF!4keH&+?z3C<EMnExd>g?B
zzHvnbZ3~ci(5lA`$Hz|3ecTS4$<F>yQUJ^pNIFTI5(GEZF9+MY3*YimSq7WQe3lQA
z!&&PI*JB&itg at HP%!fc4-k;m-yYQZLF|=!_rGPlswe71)%{r7Cu#Y0*+ct;@bW@>4
z_cy-iAblpl6v47^YZ`qG0Hg at Rz-3sz`t at L^q~c<*UmZNA`F770LmpFuoirN}rqWRo
z+aJ?|JRVu95&T3ReqHwLe at dxZs!Ol|@4$qve^7wF%@_dRCiLLr%aDKV9(>1K50Vkg
zrIL}<`qCsa`3r~PQz7SC%3RW;c?UZ36goT#n1mEsc~W?L`&_aGQ{@C17AVdD!Vl`N
zeiVn1Zc;DcG7-7I0J*<24EzZjTO6Cox-JGUtOdE}61n4!1CtUj9X<jUhEoE?p9H3T
z&<^-;tAm9x9YuKjlvYz-p}a18gsEKbIkl(=l?z5FFz_aM0VfTpT!p6qv&`$k^oPeS
z6WJ`sR<<;XM>?6DZ(Lo?As7W=fOb8>@Jax)XBI<Pp;8i6o)MQB7-YC}7>(ybFuak@
zz~!w4K=1L!$3yu7gGaB2rDLIjroMSa+1{lE+Hme*uoNFx*41c%?@~qDldiA at kz*>I
zry8&?T{aW>VO3QotUacmZ=MeYr6!(q<%erDLof0%q}AfYWF=q^^8G7vf6Nk>W<r0E
z84M^#LZdA9nzBvr;dp0n6Xg%5l+So*Q+@&-`<}@a#4pCkyUa2hlT9~mkVd*B?QwfD
z`I;ZWXO59Tcc(jK3d0?3dG_y$>c515rxoA9kiSm&4i at d8<>6|2`(Yp^P;GIoAKn34
zIweKGhv6RyA<*E4zWP7x!zk4SxP7fV&cP)ix8(}^SFt$triu8#Td5tu-wgrcrxP0O
zI{+ts2jIj})hm)){DP^rJg_LiL;>D9i%L~Qwnb6Wk59U^6HxC%a{KVyH<YZnn<vF9
zNGat%ej~p0o_sQ%M*$ba!TIT^f|<+ at j<&oh$3~*{0<zJRfOUX(kUQju${N0`g?60s
z>+(A4_Sr%ki+G(UZk{zm0Ci<gI#)82D?cpC?~_~sK;EpQ&xi4g5-NM{Fyq~W#Z|Jj
zh{E!Mmg1S{NdNH<TBLvCb(x_6MU<dfGYLazrqkC0kun^1?yR+OZP^zT)j>CJi~^rH
z3V-v}xFA?t at tdP8B^#~Ej*+le({7_1dYqPjz?DXQUtgOk?i0r-`%q~4x*@^tv`^#u
zHkrA{_-^GUlkfFDbaQu8$;Wq1f4ytjHOf!A5a~Zusr&vr!^-32bSQje+Ki(+c4&3O
zEcyW9<?qewjodM1H@}f_(NR9~;-<QE7`eAE9Z~3vF>L>cAq`_TaaxBOzn^P*&TQuM
zEbMeCUs%iiQjRvLqaJ6Uud!%~?tVDqtt~_U9=X~*=i~hUzOwkIufF^I=kdedTK?<r
zmu9FJzxvtFAJ&gtlNa^pw|jmZwp7iCipt=uXg1_Uwbwl?-nOH8Q_7miO%Z}MQQ2p1
z>wo{mDp%e+k$FP;XywNz$K2Cahi}`cEcI1J)hv`NOYfD>i(a;1WYXsX>-d?%eDN>5
z!XGZXzM&hLl=URf7r8`tt=u+lWh+O&;ov34$IK2RW9O>Be)B_<dv)d38hN^ctD9WY
z at Lr#p_vYdL*E|1ajffli>zZjXI}ZP;ocM3gj*6x8RR3l4`MlQ`I%AJlnJ|ks%aFco
zm)o5!jBahfB-7Bip_x}Di7d~)C-P at Ek4&55<+~;3++RG{$Nb6bW9QLKK0NWLh-t}B
z(9knq6fbaZM-wiM_#t%vsXyMDerwI at Lq7lZKQZN3V=g0e#+r7~#CIfreNI30s}^<q
zy7;e&1D~~|O)OZL+Srgf559GN!4=_LiQMqH=+fkme>Tq%iWgo at J;iqMal83N>L1}r
zKMIF*HzhVFh`#bWA~){g{5I-Y!xr(by>HE2Y>J&3lBo1rGVey#f5!I5y}haN)4wl%
zyRh#R?P~s<yB7ktP4Un?DGlgwHJ$r?q2JIS=k(MrvG^X_+W3C%lDo^lPVMkzJo(Rw
z%9$?u>M2Jm`N~JfGw2d^l2G0Hq?6I3jf5L&J~9v>H%{$LS4!yX|K{oiT63%AD7)}n
z^7;dRqQtA3Wp(KA>$`Qv)f1+^xnaVm*^Sx<%~?s)nTM8~3;X+YLeT9oN%zmE-M)6@
z)|(4?3qlSp-j-7nXev6i<g0%j7HMnG_nrEFnbOSh at 6;?myeo0j+^3lzS4<Aj9jHCK
z{4YrbTG+SwX2iqeYeq!;6_FY3+O6H{zd?Ut%bbuyN6y`Pp!J?u_*8oE-dwe}W>RT}
zY)HL+d98Mj at _NBm@dfdt!Wv=1`-#Gw9oF|6O|)l^Op7h0|Be4`RO|fI^J+TnXD_Ae
zCIC$BIvcKbsn+sqO|jQ6i!`6KX+M~xHE(g>xh`cxUyQbs*3fp$5)diaKc*_VC0%Ls
z+Y(ezwX}4e;#d;>{-hJ%&bqx+do(jHOYX*f!afsmDt)s2(%rwZj(#R&&RQsO^Xwnf
z)LL;+pJPV%t-i~*&h(g8I?E{f`Bw>#)-Sr+%bt at TxjQ83F85t?xP at lq9bEk1B?GMe
z8Oc#*uiSne_cP(Ju~v)Ne;@}<?e#i~zPeg+OOXIVt^7H%ix$6Hoo8hI7SEb5`$S#w
zb?Jp$<NKbNJ}C|JlpVTYU at Scpsd(Iz?mAazG5A(%eGkOy?q=~fEcts88g0<}ZF;C?
zY<kFUr9c06Gh at el&jjoJKjJ(LSb2J2Nr&<LFY-3gTTutmC4;)+^G)7ia_f&0*^;;#
zTFa3?e-7=MvvSpx-4hlmQ#;4q?YztRyvzL2YWL1Bwv9V_YNxvO?xsxU)c at n_O~9dS
z+yC*(Qz}J;6d_cSkZf6}l06iaokEuE`#L6->}20fcCuy5ZnE!`HS5^N5 at QU;j4{{m
z*7Lsa^S<BXfBcUl=ANT*U*~o1=jWXJyvPw~uZ%W9y%w_)TA&pW>YlOH>KXEM<YkM-
zM?#Ripoe=YtrnyHv+r_8CksERi_Ri0Ps at _(kMFXTFvw^%Wj^U_xHb1h{~2e`8?sSY
z;*zYPe7OI{bDYd&M0sEFQHQL1V(?oy15PZj>Alf3{$hVgr;v(!BAtX?Q(_A8&bWxD
z+YaH|d8|#8x1H8-klA`Y_H7cQDE8pN8v^qC-n at e*EY!=B;HNG4to+S^^8|ef7S7zu
z^>aK5bH~R^fyK%FXS=yc$hp~(syKKP`|q{%wnf1ce)Ze=Ygf_3WRU|7AJ*&&@3UX~
zDYE^mcXn`#76OVdOwXd(FA%PC=h_h~IAEQ2a$+Vp<1x-B0)kr7JP!)TLQ3^`x*N_E
z<((*OK{HRvjmp)BsQa3ZcN=|h{7kCCYUTw8pP#!}a=OA^NWVB%Fsv|wp%@+^;S%(F
zo(l0$lJwzePSBGa=GQ5@($Cz>C7#oX9T#=ky7gtS!|Jpw0X-R1689T5dX~|)7ePJA
zAV<t;@VdV8*AF{?Re1BUh5JRf3yt-Of^hr9#BRF}SH=)g2kGP{<w<|qCE`kIYRZYY
zq4rTOzGtG;e2b;eEZ_&6lZ at Ty=&06odCHfFdDLPqaxEg~**iUlLOCDx6UF^8%w?U9
z-cN24$+}ft4-Aq1RyVc~r=fqT1rh48^R}hif(9GMl7g)6ruM#FckD>~AX?1qmcQwi
zx-E8g$+<-~>a$X?tro5PD%#TcRPSq!ex5?4+JWB5q~6lq!r(nseW2EePH5rDE0UsE
zw$@&<{qj;TZ5$`^>5<JNYaeW|eSzjerFZwwSkm|%TcH*GrK?f{0v8pwxtQA>e at yF_
z8x5UU#hwZ!1el+~A(fg6S1vVu1(Cg851oj at wCUgYN?%+dP~P9fE38)|vPrQ5q4_-F
zdNMKO-WZ~8plIy)$l210-qtC3sfjaUR+($d5(AugKF!swX7_%*$M96ZQ`cV#Cla5h
zKdlh3cly?=9e2;?{G_H{Nlp7oe^jF6)a_68EjMDeL<AiSSS{%kx?~#Iwr=)$dbbYF
zkO~>lIh8 at 1r|vd{+B?ZV^A<8?$6jEKmeJ2THIZL<$-z2i$0cLPIIc1Cg$475$(n6m
z2>a?)2Z<K{x!iUEe1EQj`crZd`>iHsw at n$F;x$eKAF6SkAQPS9c`e^$BSx)JkqeQz
zK;Yq2k at s}Z(`>Fx at 6K+gMg7aT9gmah^P3(P>Nz);)R;Gw29j^+4dJg%AWy|P8IPQM
zQavSaC3Kbdis;UJglwvmDzP*_M4lyD;Aj=`UGF|m|JDPUkKom|2|kmy;jfY`*V#G6
zq;pQObYvpMTDSY-KJ5A>%$YcIqUlM3(6Za?w<mtJPx>sL6t6^OeGV_a!FA$z09A$Z
z5cc+``P5)8k0+M``|WM`*qdyKWlHS<`#t6rqS<V&&RM?-7n_}eH1Dp&SrKRaP2~r`
z<GF1*%>xvT17||RwLx_o=Z3BMDBPv&-bJpuSo6m#+1q3}6*t!3%cUvZ?M^`|cUNMa
zh?}x^x#pM6Yt_Yi7in4oO-Ygb1i4GK+Jp7+OOEFZ at nzZ7aOHj{-5RQ|8N3oxm>>HO
zJ at 9c01AP5kzU+~gb-K6XHU?F#h?28mrZ<u{vfL%OZ%sM!u at C&(W*XELQMS at napNAp
zSCc-t&N+2#?0SOjcsKiZZ4Qjmp#DfyVu8J$_te44_Q9EQo<fvZwXfHk_gq$Lk0nYq
ze*JtMCf55jlr!ags(-4`Qf~QA<-ndojl6K4M&Rc-Z4n`Cg2`R(F;u2%<w&2;u&?ET
zk<5&ECp!f-1;+F7>0RnRWtifd#iD}=SE}sx^JAIh?yM-6?3>Z0YU)Swz=*wUdt3<-
z(n*N*hUoz at uZQ*uccbib`00;7U5Pc{&7k{2%(tZD-jJlEWlc~^)>!xd{+n&tLi=kx
zzcH$d2i|ke;m^!>#Xe)555|^JUP2qXSK9-GPfT5D{a$!LD9(kEnMip|A(UE*+|be0
z=2mIjpJ}1=()Lado`IBi=azd?n`YaRkNMG4lFq-N9(X)|jl(uk;N7^k^xE-O>5Qgy
znFAb$yf%Z{;6&RMc!MW4Xz}Ljk|EWoZ`D7{!crSrF at B&8m9TWu-st0-CzR at URi4bG
zi$-VX6g<-72v>L-xngq}&$Z$jTKyfEVhl3jjrDQkpWioBIXySZ5V!a>7|(Z^6|0qJ
z;D0DgP2<QYyxUM3qGi>+a$xe#Z$&e8=en)iK2=yLi^TVBSl96+0%6aSS0Wh2wtFp~
zTf(rKiOyE(g(=;~$a#{2w|EO$a<+(ql^zWLspBm!Fb@~)wA6IG&?`5f?@bRyK1JAv
z{Sol_tcSP{OgMGv6IwyqyU&@HaX{8a*=`&kth$~^vp!Cwt^6!_r$Qt`<Wv<wDx)pM
zlwfXEd*iX^&2c9tnYV=BZw38_9KQ=w`^!Y~D<q3wlW;=bGt)-OcJ=pSzaJcAlbux%
zi7C?!$OjTS3#S}z!3+J`d at pu+stbj&iGyg~(V3p88ovuf`Kz=(z4eAg&E<9*ug*L)
zi3%{>t=`yA5VPQ;BmexBDK?+6?2snqL^s=6wd}zrno=F$Rg=D-(A+YLOP-5-43kAq
zrZuGVSnFD`sU>fm+4G9*Vs-g6-Z7B5U9Wjv!60zjG(R_FHeJFf7Ck8|ndtE&S4-y$
z{0&iSdouIKnty?o?4lUq?j!oir+QMn1GG$?FG}wBJ&w)&8LQAM))(0F>P4pd<sb^n
z!RDQHf`!zWf>-o;I_3Q^HbQZ$;tDglP at c9R&NHd|Wl?OR<d>{Wgg%#nU4(8)uLeyj
z at BU1M2FoK4rW7qnPVB6OI1@T-TO)Oa$msc?J7*y70*0yHf4i5JeNrTW#OGAa*zrQl
zRc&|T8TLo}2_xa1G3 at 7F_our+EBI~p=(4-yi{gm%zR9GQt7SaN$#fxKOL0kUM;_Ld
zYYgRde$~ZU*M){H)Rx;ZxcV|hjYdSPoYiFPdd24`=~}0GF%W;Ugw261?o~@QEm7X1
z7~_ at m1vwj6Q=Bt|sBB_gtT$8_h+1o3;`oNsyW=G7!jXB48Oe#h$?qw}{CErgHKY3#
zJzZkPtxTVF=_-VJXrU=g`-&1uAxvO!L5DQ9%%0mXye%uVDaIs{y8URJw8~@5oT?f{
zO7l=`Jd-Ds$Rn~E^{EEGP$z2nv2 at Y%SG5L=UDBTqm8Ak-f<>~RJM2~{EIVUE=x_0)
zF^ylZ54c^uo%rjizj7r=Uq*M7ZO^2d%8h)Qqnu0O+rjS5(+;4-no~`8OueIIv0{@a
z9y_kaTv1k#64%VFe+S2-yhIz)%AA8|8m6x0Xm%>KNLqwRpF~{i&SlCZB=Jv-R?m6o
z@%6L|**vER=fQ at yKaM%FHeah|*3DOPT2#LFMb623bgtWO<-x^P5y#jQ8`8z;>Tkkf
zhHR>y+P^gQqw>_(g|SBvDK|X$qmpk-j at Dh!LmFPK=Q}jn)hH<y_Cu?rFcMg|ZDO?M
z;)GJN1YV+lOqY?a5e6FJ`ATZqoq0-E{dWgqq7Hba^VR7Fy*VZ$3j(HB7**BMNsrJ2
z4jH$VVk=~NKkd9OD$t2qNH!??qOQ3>zFHWQz at t^E8fi6S at p{ZTFD*OfuIAIh-y^@U
zTnD at hA`Qm6USa!Pvdi6up+-m_MUvLv^g0SilRx!zFtbD at t4;bF1{bQ+MY5f7y;jD(
zqm-HzY_Dr5QdrV>P+ML(SFyMF_`vi0?+K%I9eAYG%IqQUf7NAop1S_YiLS83SGsdm
z2_A_a at SBi`N<ML&`zbu#ZiVzT7UHkEM=7#5!e!N42kB^<lEA-4KU`qBI_5m~UNr_j
zsjm~a)G;=<QpyOe?<l~!;8JHM;dKi2-tM!VI0H(?CI@%qH&0RL5ceuDfKEq*nGUeW
zFYLXHBg$LDb?=jSens at 89{wlqAx+y3RoKk3R>N?kK0{qEYOl!Qs6+lX+hi%J-S13u
zZi$lhS~2))=Us2UV|ii4W2T|^T8;r!W+EW~=;WqCX$VPJJ<MXMqrwxDf6*daqS!of
zk|?Aa_C9x`Cz@~g%$QK$r@{-N=@xZ1qcWWo_R^b05oOQpu|6~?bchi$7ZARu&LuvE
zN1CsEH>y=K#IR)B1vM7caeb5dsUzWXsJwaVIX|n8LfWu!hINuXjf at R2>NBzAyE!>r
zKlVo(IO;wtspUs%rrz)4Ef=NRWwqNakU8+*<Af at j4z@1ZnAE>^R!)YZ54o$4%<ke<
z4~utN=ty`Wi^-*INDa%V#)w!(>heh_)MV{U4rMR?8sQ!TvW9SfC2YnP$L0(2Ay1+X
z^g4&RtK-;w6wMxi*O7x^`>~ZKYlB9X2ABWnEInMMKh!>P`tFL5Vqf4xhI&?1a^R>J
zbP(x_{#E*vEKMrHHQv(pIU7|qm1E+ttMz~VR(henN{{m#crY5jFvKH{TOB;Pcdg$0
zlGNlN4Zl90Tgy47qG(>lxk4uU2LruBSXni^*T>Y9Et{j1n^;A=uaDonzbO!Gy#2d8
zu8$zo_5d5-_MnOmk-7Lv==bv7wOWmtsJ?-Gsm7TZ=UBB}MQKBxEj`avxAT1yANe`n
z-ZN9FZ&B5G7!p<U!Mcj*7|jnwkYA5HUADrjCdb-6+4eCd5&@E2L>c*2>~$@~XonlV
z?&CMMFZcW0dIX1GNuyV88;ITG&k}TuZL7`39c#+w)$PBzkC1XhS$`o^2}ld#45?PZ
zYgUi`%!%{IeFhj$MMxO!rIbp&!?yO(hsvMKYU!ShH6{2 at +i+2WOxKO*wXmXB1T#c-
zLvxYav<!*cKZNlHS22z>&v};18n!Q5Ft>X&x#KfN-|Igj&z$U<fe(_-Ope~rR#C$r
z*D$9;EP^||i{5W>Qz~t2q564*YX;k`ih4Z8FMALxi;vfSD~8KUTsIKFw!xWRE-(7Y
z3BVE;2Jf*ft~NeL(=9&ZKo$k<_YLtLEU!I7NIX?*rYR>;*K+1D<|Gj0G*pTzc0JCc
z7W%mBw%}<*!Vz+<gev-eV|~YurDM%iIo;%jM at wj2vgtl2{?qYNRC%15XG3c#x52yo
zA7+&L<9Df2Zb+ZopmV`fq-X7eW79VMc_l9_aq8 at E$Hy;5BuV&>sxxI7ZDdJ??51}Q
z89FB{Wxm9aI>r%nnqDiquP~C<J%jNRdEN;l#~pi;xfSS!Y*z$-qPa~{<$Z)OvYY7U
z?Cp6O6NWYi_HjaO^Fo5hrS`^#VFtQ&>6=e^?_BIC)izFG9hpBbX|!#^jNy<9Qu#m)
z&uwkqiGWMx8f6PPNz8`L&1vD{c}0xzS+=7!`J-3jJRG&eD|nt6t88Xl at CB=nT#_y(
zzv*8U$b~(UT2;kaJ;SL8tLrFG22PVx*qPT`jVtou5m)AWA0T7|(%+9vq_E_sN}eX4
z4SUy7vw36EpN$|l;#WJfW&4FLK<jCoKpx?%M!o-5lDGwW6?QjN&jI~;)mXd&u3(Io
zC7G%5q(=Q#pOcO at U&;v0sCv`|6bb82d;>oM+=7;zxz?ATZVnSdDYAM3pL<{PYhbt;
zIt<pUJNCUVqb57Z&r6b(e(Z-c6B}sbNZwEpBG at YMVgF1>!fH74PFdS}MKqA|?0=>1
zuxcs!fU=}f`xkVgP&Q>X_eSxOHo1(U=rhr+iYvhru6=7z1)KHFtclBt^stUY9-jMj
zJ(4WS)?_Exd6uV|wS5ko)5$4)<G0c`kCYQTfizs^Vl6&SaH-Jt*>F?&rND5 at t(G6}
zs#Y at Vaj&2|%1dBo`9zUHX&7tI#}bQ`xF_u_s*XwFmOH&@Mp%jll5T%fFhdG&TAPOI
zrokZ|^suQ8U<M^)$6hCnE)OhJ1n;dGT|;8izZHJJH^@#fEa%DcpT{fD;fEB4ToN$s
zmLHy__YK|*n~kwlMzY___>OHB>5D#bw_UES+j8#gT;U~DdEhaVl!3ryI&_qmSlI_H
zJw1lENi-R4$d!}6eQh~aPcP|+9>m{Sm%MbET_K?I;l&E^GHZPOqgc0+0*tPrpXeH8
z+4_pj?dLDc=d09*`jT_|+D>VZmRHSud at i>=TXc;3zSpr_d7<CpfT{QXpw6kJYYO at t
z3R=R(T((t8B)$i%hUbLjX*>3iH~ZW86r{VvORnAx+n$xNUiH^VA8}hYpFfd&+-FNt
za6tWb?0)372!rd6FUjKzjjbm9X4n_HjM>QDL6;gDa<sw at JQ+rVBkO+n#)w$UlH7M#
zwIKf-bC1?ysAPpR7wcD#6hG9@*wt!jvsB1r3mfTcQ<Z~L^dDqOZM9 at 6>WT8RYj{+z
zla5HRRGy`ftF}E>lqYN3-`FT}HQ|$WukKsb?mVc?V|~XGS%?}9UXWSQ at 3gYS_A_>b
z@~UEGR;Vqc;i*cn`{whi&q%(n_EgbrS>^8bEAx%P5vb^9zlVC_vhd%I;&<b3wdb|<
zIh#mn2bQMe-s-D|lax(9cj(m7@`a}Ky{j_s_~A)%{iSIzIuU~lXuhD+ta5w(^ve69
z8<Z5C8E&13ovmBsm)Z4Ky2AZ72?L7tQkn~6Rf`r;WvcTx1vbh)TD%f&=8rc#=j7US
zWv+HXpz!;EngZeFPZBJz-=CdF6FHiRzC4q&a@?VPz1&=eX7}14(^yV!On>spO2gY)
zinoK38=j>b3v-)I-av)E-yDC8v(Unwyb;homWg^R-FjVMfQ>IQks>Y~B5P=RMey+;
zhU<2aifO%Z&Bbu{^%_xRxWkby#kT8_?A_639I#RpXSWoRj<EhQnV3 at LRz0*2RiZuf
zuj8h{ym)6<V5V52OHWjWfAv;q$!grf*xsf}DVKT6oX=ct%SuKW?yxR5PiRxxo+du7
zlT}AsFar)g4%t5PH;y*1b8lG<ey(H?$;wh#;jI2iWPARgCuu=KdXIZ7!r?Qo1L at -z
z7f)7ug;Mi`5go>^^TjXBPcK?pww)G<%nhe0$IU$X`2c&oElKqTk*|tfOae#ALTjQ<
zBN+Ur at uAxAVQfI$D{`#JP=Gq^hLXVfyWzo8Be-<3DD7{98!|`_?Ll*4x?osp?EcD2
zb&1gF%@fr~Hj3n99Ak6&p4r)OSVIiD%~vuq<&51Y=mIKHErGL#$>|H;EZnlDoHEzS
z#OfaSuuxMb9y?CNOn&@pB^pos%01S(d13$)6;@zTwNlSs)aev{GeA<{A&E>I)F1H9
zwtaMadeGbF#R<|)hz~C&z2xVnx^4z^3ylnp34P_(kzTyK5Wa-(J}=rCl6?JjB>g)B
z{7EZBLV8~tyi=GqO~~m+Zpr==azpCK`git~lU~jAt0}r(_etJe!56uF;{5KOzOZ^+
z;U?UNYr#wX=CUR{`ZwU<Hve!Qh7M?1UpzMqY9lH`xlVf)gb(z$6*ph1>HQ>zVkO9B
zl;5 at TOF^^h8J4FCG&{EqGi~mFvYb>jpRc$o^UPo76nx3=8TLHeaG_%D9gXg|bo#k)
zg;L9g3%d+)>JO1h=(dc~l{>An$)8&@JRXtVe~h_vRMFJH5^$Gyz_C}u$uC<nXbG8>
znOi|jbmQh)e|ZIUw=*O2+<#O$Og+<@l$V;^cxStlvo%p=uizq at fD=p!Rkth>>a_X}
zr(LK>Ifp{H`|m!;{H`99HfkYtcD*xjA;%{EMX&?)euC(J&dNkpW?9UuTz4B;+Qs*p
zmXZzJ-8Ih`T8k}YP_L>4(aN4aVojY_Oj<IYJNg8*BR&Qx+pK?UfAuS=U&tes<kZq=
zQ|fkJEN;c!B==mRPaBOG(|7?_jteP)%LT3)q~DK`BR)-8?!2ebhiR6M at mM(Xq=vn4
z5q^^3EEmp&xL-%tuk^yMEyCH%keWOaa(CEml3iR7cdt5O`(Xe}=f)|z&v4f)d-N-1
z<RzPJBh{)LUI{ol)3MDda+rnfDk_u;bxpFgftuhq6%vKbbf8<k&`G&BztEf6FVFf$
zq?0aOO-jwR^T7RbdTQHiqr0mn%lg~0Ih|6H&;P1`pAEG)sbunP2%R`ako&6cdeG`Q
zSx7&cD^xUxmAm8%8xPkyEq;wxM?7ZBI<!JV`S~&N@;)wP+bQm}EBzwd_ZF+ at QVNFC
zTz~y!v_p<+DYBpT0!s3=_q4)ponBmCJKeIZoa73X<50iM<=~ajMlb${E2%j!lllWn
zG^*}G9y$&0;S&0^K&m>GouZh{-|yr|*s_pD&`d@=Heg%-_?f_|r+>>VNJH=7(hd;M
zHMu6_cw)Y@&1*&C_~df*9`P1ousO9UU|9<leXoJP0 at -kZBB3toF4r(gOy)(Kt)DGh
zimFC`!js*Z6u<G0dMOi#k1#7AX4Oc;80vC2Wz*Mf?3KvJ>qmblsRi=&SC>{)uvZRN
zIy9voL+mlg8n*K!CMV-?JFkZT%w#<7F$sh?XP{`JWKQBZrly27;rtO9W&;6lxY!e6
z`espxtqJ!{^_sd4o$2gta|CTaOzS1Ek&@ybYukIcW)-VqSfv=<Miey^og269s4WnR
zBE4^!zf2NkTd^&JQbp>GZvDW6pB at q%EoFSex$NtCx(8R`c6B7&ZCqN(GC|dINn@;S
zP$pevF)-d0dwvHPLU<s_Yv|*Cq5zLH({E+<Z=*tVvL}J;y7WqBJM+AP$q8*F at pgpd
zyvWD{!U&;R$|oA#_CT9~TlzrGq+&ZR)f!1j+nTs%f&BzyV6vNZx0u&SDNfu$8;aPK
zzjp`s7W|cbCVp+8)jd*a7u-U4zxLGjM4{Vmme}Ls at y;{-ZeN}vRUFXCexgf5dn7vv
z^&HmSYnn!M9(hAP0)Zjdd)7D>D;>^NUW`gUw;^r*xmcQ&==#w$>rp4i0g7q&8ZWOI
zJjX>UJ`A=Bs6Ne$wyrsjP2c`%ki)YB?A1Nk#=?dBqHW*Is|CZ6N<iI%^^$oA%0+yf
zpt8-1c;Ta`gx?R)>%K>iZa*ma8HnyamPlxm{OOtav;mVQW5hq2WpHcs@<fV_>OL-S
zJxj*qVdhi<yG|er{F?~mD(+g?iaPpSYJ12po(h_WNeM}>s>BDE$X_qCUy3+hOB#%1
zA1(N_*7)X5!`M48+G>Eh#knY^QG_XeaIhKQB{1>KhYy08YYbE5JYP!X)C?Qcr+adu
zLTM_m@!p+oKPdkh*uF0e)SVJlZ-|e$e0(9kZF7aGN at LGi6XjMDk*e|GxhGVoKju2{
zitEQJ3(my_dfAEX1T}=pz8<#J6_`mEU$bo++qOv_5V#8K6C^!d9mGG*QDEX3F&nWH
zHSt#8f1w17!W}I3eCs-DxNy)nbLM at ex@))+0m0<TjLcwexJ*Z;ptR3YU>8TJ%nQ%c
z*8N8NV!ho>_3fHJg7Kr}J3}msx~;<wYbLj@)nn{~y#@<*oNih#OV!^F(Xu!r-0f`k
z?M3^=u5V-X6|{(wUe9-EO+=Wz#bbs%CbnUPuyC{*OqqDbD at ZnWeXm;=m;$=P&G!lU
zVIPS9V1yf9NGX$j{iw9=`~m60*y%T(g{@znUz-{^R^1OhVLG at En*+~YaL7_#+f>=9
zJYly>Kk&Y}*2R+>o@;b|Y6BW0 at 2TIQSR0q~#w^b?0|LQx3r0Ti#bQm<lKJ{VTU20n
z at B2D7q*!nd-Oo!aa5TyIZ)NZ5KFzEM=C7l7#V`!GqnvzFQO93h^HO_NEp^^8>eo3;
zaubJhDOH8KyPIy`ogLmP0d{&Ax-Zl2Rj^<>f9qNfucQ7&5 at oYdDkF6^HPzfl&__CB
zhoAqKm>HvXA3^^bUQED at ZRXT~)l~td7mxarUVlKJl&nb~r5dQ#*kK5FI#ZujL>O`7
zePYY6#mm37kf%ta`uO=^+N!6D4*Gm5Avha1%~XMl-B$^0tG%Sy+&~GI2S!)5%mv<A
zkH5EIg=#hBSKj^<VbjRb?1kfMC2?^@eKDMU3i=|vtCI})dm1oUOvCZv4|`9I3c~Z9
z?2SAkZ#0LJxjfX89CqwKY#s^4%zkXU^06pRTO;Bt%jm^!`T&~E%tv9?{X$t&QfNi=
zyUaS<ySV9#tzIlB3#8Aw-lxm&NX)A=oSv+8Dr2Q*>+q)MM at YUkPQUkki|PB at _wU0W
zlpefYG7cQlVhmalG*@3a_->|1qBV87SMO7^P+9y5onjIqIPqAJD(wepSY at FnWJ>pD
z;`<yzF+Sv&3VQjWZZDi`r;)+6Udc^`I2(tL^vA54N7bkW4ZEb|lU^DX4YK>#rlJNO
z?89qo3|V|yOY>W at TGyM=YpW!ZuWaQ#ZmC$YMkUpDzSs2nRdKb{%HvwI0IP4 at S?J&3
zle-*Scj|IJDlSl=^2COp-eRzRlQWMdF;kswYBkw at ty@dRaiZSww}+l@)lLF^wwzB<
z>Q!6bgc(ocEv}uDV1tFWg7b3ar1z$U)+k?P#Vjbq>sRvIPtSE%tuF;`e+>&m)o1zA
z)}peYFEpaEsv{_sld6q;9aUKyM@|`Bwau$Fn!Zw<#UGHw>O%Jud^|y750HTXrO4f9
z2MsQ6pI?Zr9aP-43}xzZUDBUX$uOU7g{jd?|5fcqx28CX<qhs*G5+TCd|IMq?v>_u
zxqg;lTgO%!^`b>I at nKC0yuBf6pffb*cc^pY%R86OoOu7|rR{3FkWu}C%dEYN9L%k^
za+J!{$f0lu`h9O=Oi*=@D&TtO%F$AxGt&1DjPu#9S_MC+`|)}ENMmc@&XGd5v9+U#
zTFC1=N2ZIvvc3JU8;6)%t?wKOb=W at AYcQ-qcdpL<n~=Ft>JXKC?2R1io6MHWM-x>F
zJdYT~Jg56quQN#XLFK~QQ3=<HwWH&R>_Y0zeI2^*|4paSH)t)#)APS+6l>L1j|Q3b
zx{4wXKgh45M)zbzbo)qQoX*aX#ZldzBOF=O=Tzv|j!vR0MyUdjR-SLaE00k9v*{D>
zar#;HY at bEK*gh|b+8Et;AF<A{Us92N3xXE5kL+YXyH&6pA|4SF(cV5nQC6j!(TUZj
z`vk9q{wNJ1R=CJa`pDl5{F{$ye7l}+w~j-<YVs1<K5uoGrKE6G>>Tmsje<TMF1USU
zgEzg8dha8|y}a!s)4b4TgDAXx#3Rad=k&WhkNis<e_niyUKdka at O~Yo5`Jxop{f#y
zU$>r&<lQ;am=00LDhpBf^I<;Q{b$<Hepy7M at 4tLyEPa2|)l2$*o&@`S{b@<*w?pu~
zX=Y`!6`g*%dFJMS7#T8u8BsN2NH=3-T}-_RC^?Zdm3`3tt5hVp?>G&GN9xhdh{46|
z{hrf3scim2-BF~0KC2(0O?UO-uICY;WBz8=r-I=5HaRPi?dsZv|KaNVUK=|c`c%me
zL%JW at J0jI=_w|J*Rt!8#hNzrVKP9t$-Z7PhxcGXAaBQ`}^DQY~1mbvCi|5-ed5HGz
zVxYA at ecuDSb3`@H0^;OY0rfwGpJ~H|whNSuQhlg%Xkhu31{b*h7`fg<BueE`-`qhb
zMYDaLZ59i~o>+nupf_jZ>+(@$tvu-MjS;F3pdZ??=GxINE6-x;4*m3%qxv%cmvnkR
zNO~`e>e;?azK~@9F68xXaH6Pz$$p+yY2~PHpBP-=B^)CB^eP{uwFxA{@6RC%m~Nl<
z7MS4<R|07^^`lfn`e`diyO>J<#}wMdDCLJ7IcIKkzb|T31+pZ$vXm_J=<e}=frZ`U
z&Zf+sZ%15SNZ+?SG%jzyZ0d81(7jV(zt)c4O at idBX#?>jt6Nz5ZSkj_BmXvCNLTJP
z;4(*{tw{>?iTiR}LB<Hl^33sa_))&sklD8QWn)jgc$7l#zR!A5`o1<~EibN(Q0)QJ
zV(OFRhx>;2y*@*-{Kz{@JR<jhnLVQq$>d%t+l(G0>2{%s1Q++BA*#KGR7j3I{myDL
z*}3?meKp<b)Vb9fDfCr5C2UuJynz(AUVV_Ns$u$2qK>L`Kg#3(FUj_)5R<)pAzRu;
zp>9Fu+HY;%ea=SuKCu at f`XTWn+vnT?Nc9YDr<i6aLD|$NpFu(thQ8H6ZK37)wjjw1
zy3m6-{qXw#C3 at Ik-=79IG20}2!@j2Uq^m7=#x=QskFz)Eb`&b<%7snuQ7h<(M|*(g
zl!=wO@$Q#*POuo0t{s})_N9!LuM9YM%&uShqlLhSWYrhh=NR`)&d8G|2lCBqJa37l
zc0cL6W<Dwhq<l9Py*J!k1H0&H$c_!$dTy5Zdh~c<k95~$e$PSInOz;_1szw^8F5|y
z8m{XkkEPWK<J5`})IFEa(GTHX!MtpQ{Y;1D<#7K~KZPH=`$+XP0ll*nv~UO!yqyE;
zz5v!rMmD}Yqeelu at RmaEIzy}D8U^vyY2RB={q{u~9O_9jcXnd=k&s6J6Dq~J<<c_H
zH#*5${6fGDyo}qt(i=ra*;clJHCOD5CAQZa&zF2&??R6jdf!{<NM`8<6Squ=h~5RC
zMR01x+dwZkAI0hT)rxROXCrm$1%+L74{;n1d|QFh5rFU|!rnJtN+zS;9bUZLP6h17
zl>V=G)K!X^CoduaHL!rDoQKvv>OCI{;?P+*uvP2I>lA*MaLWmGcRv<X9*8dFCee2T
zJ<(R^JnukwKcIp!qlMhkDDxntedKe`=sQqc0!<ix55#WFfL<86FSrNnCjiuO3V1;v
zqpuINy5sm(dRePiS)E?Fy0`@5cdta5F&${$f%Qw-{JQDnPF&_$zH?k6H|=reXF8>3
zr2Q#Ktjh`%v_&&mdq%erAQ6*&^WZcYwf<o2M%&Li^M<N#{&3Zg`0LzpM<HAC5scjf
z5q;}^#(q_5))z+uZq1&TnS362*7$7dDG$}QTsz;J7d+g*U9>Ge&uIVj_KiTEs_gm1
zTiEP?ggp@|U>;<-*WJi2of5Wx`A&b_sBl$wjyNYY58Ib}u+`&Mfi+oBMpfTz<+)x_
z83wS5rAAL*5&>vv4&|ef4v$E%?`la#S6WrxCERo>zDwXOBamVHzpt3H%>9T5YgL%$
z3i6GG<?XgD at G(f6g2ZR3n^RD>D<SbeAE~N<LVz5uFpa<M)_;K)F!_fb04V_bx`&$I
zbgikXH@<V}eFPBOB>$1$X-5id{!Tv-dfZXD{UvpE4-dwkl2ODBgY at Y_94JU(2L0pJ
zdI?_9)mjPrF_(XrMJuL)mmN=Sn}JnP&>~3Cp)v=E*P5Ug_=okf+~}SX>hA(mCjfFe
zs2>=F4jR3rp!><-(I%j$BeauI69W=|*1mLvj7V3_$2%;6q{`xzS4PcvaOTAP-p6FX
z?iP;$mv1E7&4L8IxlO>Lt}GA)eTy2Jl$pLL913b}NB2-`yHj1089nt~lf^yLc(6Gp
z-Y3zLMyWPxO##IoR~IajSfNL~x*^rZU|_5i^taot6jWUrSORpeq4EjgM*+LdB4B$D
zFxO`Q)zSB1Ae<Vo_a72rV!s8XMkMZDIwN0fe;x+{{VOp+G>;OrZ=G&=Xit`_;%&ng
z&QSCk at uLBuj?eEWc*{KBTafVO6x1nLD*ns+#B6yHP`9Tb)=XYdjK;pI2!{{vA@*rQ
zK_&Lr|9FOL{lKMTwrm!NTS0_Q=ulzEFoXfb%i;~vpgl+G6 at Dp1B-+QKVZPkiGQuVi
zuv;#Ir4GO1_%1v+=mj}%f%+>-Kjgc(LFKm6X-`zN1qH_DJqpkAho6PSdMRX{iQhrP
z{tOQ2_*V)XEzV&*GCqz-86J$G$u_!u`VpJ?ug{Hk(9A4+1JPMuEm>%gbb$KJzHxyq
zXZHY=EzJz<#>@UA|FKFk41d4lr>PSKfr-_opg&C^$>`6}^EvDxv!u`>YLX2FmA7Uj
z>*wx}yZMPHgor3^1np-lwt(*oD{5ANq at uw5|K&r_1Kfg#?yUXOKA`acu;vh$p67Ey
z8>EA0pF(=*wsC>))#3fra6qCJtTBLMO)?64QzNqkP$$Jp`AcU3uk{|dOa-aGh?H<W
zigRFSXZs1{xN-`~sE!%nwnaox1p}kg6a)_*apJw;Jt9c)rm+9*y5a<Zc|0z_4^ZEl
z!y^z3zztoZV#-4?BAg8cqi~ad?9UDwvFg<Eb8`{e@;52y(I)8>*vmdZQ?bhqkRyzb
z5 at 2U2?B!bsR3lhR0Ccx0sAFWvYyQ0=Li+HcaakG^zohivnU|pf*k9+6V4n?QOW1_l
zDVzXu0W6AHl2PRBf0Vib8n*zW5!V+bqZYd$E3XhkeD49&?+ at C6O0Cbzg*h$$Sz=aq
z6W~2d!8+Up>`%zx%_hiCIFx#0Cy=hAhQh`jPrs)vz>3b!=%zBmyjVO8`CCjI$JO27
zG at 5s+0k|#dte8>Io-BJn#)g7+%V+~|v5o%@6Lxic3%Lo5-GHSiU=fHTS?;X?7AlAc
zI at g0A*Sn|ivb=yUeh(-v0jeN?K0-lI{n at u75h(UiAMX3?0vXVz9<rJh+PRdgo_<`T
z7tDMX^j2<M$O0LVn|a#?%8u2>R4XKS#Z((5z`Fre<;N at QOpu35d|d+RTy!vX4+(ti
zf`Y`^l*+S=a}%<D7|}Hn at O%#qjNSo|kg<OObmzY!CF=bs#Dz2R14lXs`v7Wx({;Vp
zr`ra)d{GdQ4Jmf0aei)Fg-*c*mdE^~Gj<i)JR`xks%jql2)s<yzP1!#V|+T5p{ZRW
z{utm6X8zD at MRS7xo6ZQ(l3_=J+6?HiBLqCo9+lGv@}cuIp6BDi7id=ZFf{1xjSI!d
z1 at hO)ODl{_v1HWU1&c&WCyLQe8=eHCeb*qO&PpD%qrK%2^=O at sz{4zjKqCrrRhp#S
z7CKi0|GVJU9&mX<L0fME35ch`08LFnu>V_^SpU`~Mu?}fQUKDXTQopG{SLqy*%|;N
zL^uB|0%P0>3?_sr*zs at wG2BDP{bY}#_b^N&i3kR=O7NhtzkLJH!9+8P<6oN|Am+EU
zFRSj9kWs}KxgY-~oibflVM;}2>g^$Z%>Zon-}-fY6EMa9OTW;ni{4OD9%AZnRMqAJ
zfH}K+@%zO1;s@&}BE}ioT%v)uN}jv7oSrQFs1suTd`~YNz4lV`#!^Q$B3%2OkyXpZ
zoq`JpM*E7>GMzhSRfMaiq>5ww7Zq#y+|}|=j&$uDqj~*nc&}d0`a4#C#fm<)DCon3
zG^W6q0Uw%&<EO<J2h2j_L%d2~dEc#?Xp%fA#6ibh{4~v3gwDg80Rl^w7+~}K|Kn#p
z6^!opV;O5RHtQKV6b!<8i3mSPBDEs1pq4!mmv^Vz(G7CJ`!znFZnV at _bqM1S{r=}E
zD0OWj5T{)N$XkFN%>ENgvGdl4e8?1h81PmK*v<K$>H|U}dqO8 at HXfHfsW0Ed06#<T
zAEgxN0UkHGs&cysXe`|S{dxMeUxTxsSbK>KCLv?jgfwDejmCIDSDcJ6K+5x!$HHcU
z+7DzbO<mU?C7>g2NJ$owVG}bTpFSCkKADI65)m*w;F$rM{}zzeL^8;6OAHfU!>4ca
zZh~*r^nPQd#x`{OiDxh><n^N`-aA~8Edt0Lj$+6<?K844+gU9bumdFk%k8y~_B?C=
zV*fA#pv?bqh2cbmWyeo(@mOGP2&HkdX#PugFu-4VKMJ5fLE+!&eGKq|Jd)~nz=DZw
z=pdtzL~vyji1&cYXWC{Kz_fZi5HoE2W2u}JqYg6iRog|Cex3P{ejt6Ad*swU8pL`>
z0{`7NWLUY|KTAVi*z9S?`L57Ku#O5}1if0*33s0;b1bjHD2Rn$r=y9=n}87txu$b~
zYYxg;-#%yu0>=R=`cK5kBqRR9P#wDdMDWM;m;7o12EIA-(6LVl9U|hO#vq+y#|+$J
zpmEGy(2UI2kU8Il%sBx%Q=|Y|+)}9{Lg+fQanyxwum&PQUh>U_u?t>p_f^yY4q-kz
zY^i~ruO9CL2Pc4?DFsTpz-fr0fA2i>@Zv-U;ZOG591?Spf;^alqFvU{HK4VA;Vg*^
zG(-UESuYTHjt45kf4?n<R_ at D~0it-YV>iAD^zg8l9gxKcnW}g`*aK-MD>v~RGhhYU
zxaB57F!E2`p!FUY_5RBn3dlRkK#+%gF%iLsM|`}@uAMN1o<jok6%k<MjOU-_9qI#g
z204)52?9p{^#b`}J>*Go<s8TlkGL5_qfoFiDMXNb9a=lBEDODduo=zzg!;uJ6(_+*
zhP~W8R6(dxusZ@!|E?6E<nK=y>IZIjAT1LdZOW8d!C}Bec=Gkz&~PK{1wH~K=QUm^
z(<F7-zTSAcWcYeR%M1;<{_clit}GNZF142c-Vv#mf}0x6)KQ(DgkSq=c?4XY-6GgI
z0bosQfchdppQ50m{*_vQlaNM3HVGw$wNO0l*$ekm5}{~$Q;g{A0pPBE6qX3wM7|t=
zP-uQv#yCLdLc`V%-$FZPsr+z7oat9GFuDS5KM9tC2NN{xAqi`CUB6K~pkZ_avcKaL
zL{1D4V}^W9Jap`EyyLBM%1wx)>Q#yufTjY#5UN!CP(~q6ea?Z-f`;DRvu#3^xo!mv
z1_KTG`6{TI9?CYxN}W}7iY&!0Eho{#QPuV6H0hHt`BdDYH}P2ju`)_&v<DYljtBMu
z0Xc=$%Zaz7DvU}<tQGQ!LRaM9e|yj(YU at pb^7wnHPkA408qR at znaNaM{_ooS>ed(Y
zTmFCDaKLG at N6Q7WF4wnQ^O(K-xB1UEm5Rig>!~>giy7 at p&VX*5vrt<)TLg_0m-i=z
zUYmr@^*0}CFS?ChZMnt&)u*{PHnmWukAy(1E3L>eJ$BTElCl~VQz#UcislnR?;8rD
zED=BlGXb%~w=>XO+UC_VZWZFROPXTknxR93jon&bhl498?RrXh^&Ad_am$7c)M-<U
zJPmFGEL3*p6}FCu9N9RF+HkUsD!U0)kHU1S;XWf;?A$lkyB<+|Xvwg_E|7GVVifUe
z5#&)7jL_B)!TxuEohSaCe4(<`p^E2>e7OD5J&@4?*jLplsQcqKjrhW<kvYo*?VHU-
zZCE~IDj$rpQPQUK^J`~L*DDr8 at 9Lc!c+tTVCu-GVI$0d;soTcwn|ATWaO?#H1?2-0
zVs}7{m1|%!7+C at naZu_8ANxmlzfN3wPMH|YkM4k`vHM@)NWz08^f6FOg2I0SHucvI
z(7|}g{G2Q#?(VTwch`*3$L+%hEM&%moHLT83-c~g*oF5%V=fWIsfrIfV&PH%jV6Ov
zo526y*&W?@4_FJ at euM|OA3jSpY`Y>*Ht_OJm{ABL=bevxV4mI9=$MbX<dO0Ukbk|5
zY0LPGjMSA^u6!8J4<HWL4|r=vOlH9tuWR6MjZh%Q_j3<182L~3`4XA+p$V&h&QbVv
z`xfXLHNk+^RVe#)56US{XG+7{w9?f?Zf%~Lf2nond2B5=RQ4C100MIdhZzeDD%BbO
zow1z9{xL<v2O9v^u at 5erO`6YsFC?@>hYA{)Yww}F#P`5DGbrXA*+UrM{$V2I0KO49
z6td4kBd2=J4nQ<{s8M^4e%j(hVO>9mR4*+JpkpD!Bt>L^-SjpZVv+jiVJ;iIf0qBy
zaEcckjT$32{(8l|jPld_>-R1|(2ff0!!Ao&2M~!G)hDbge%=1Ec)H|R^^1 at fZ*3yi
zs-%|X-Ynd at quVdn@AuhK;){&z<Iy{>vlD+OcRd!WcDl9i>~dDHT3skX7ZKamEB0Pc
zaS!oL)y^O%^?D-c56n=s+n><2OeBB_!oP*_(wgZpHwCfWyzY^H3GwjuInD2sxM0o_
z?b{csFLnOJFB*s4Y{VX~qCa1DS~P0LCo(?F>PuY`r`g=-88R|(Gbiv0`RCwD74j(F
z+e7uem1iPX=_2;B`(1<NoTjce_W8jU!tHvKO*1bFnj9K6kYuJy0F{OfDhqX)>(KPC
zH_+_F+JBNjhC+Um at CO(SG~byLlV*!)kt}sgjtP*R$PcgX>i at NH(m-ZRr@=|P2GbVe
zEUnh~<r5cF=^6E1V4;9^Z3=tU7c2n;Ux$*%-q3?e0P`;R$<aMEcnJBN0Cd;(pfmE~
zkwO5={b&h7GwdY|q!)oRHcWpftootkJho1{-55%ZV5r|iubO*jp?nRhwXbf1?;X=P
zgw_=b`}A%Mq{x55B`&n21%!K7)jugXHyYSG$1IMRZ#Ibeb#-JW;nS#T2<c(~XN0+U
zL^u(c(@XNzn=Jb8LTO9tsTIydFuHMJ17(E=4f!GzY^~>iG6<nxYw;rpj&_~xg at lKu
zKw^W4NX>s3)^{0-XS0!zc2CAaF&$t9AYkLD9l(M9V|A&WQk*9L)iB^XN_*floZmFN
z8dMTL#rD&`1AjjHvOCeUvm&@JY2BJdMnHArpo&6k=-vC at n6*QIb+I%MfX_&D0^Xcn
z*BbU}ZD<bBx-<rCkz0$zxV(gQF)3m#)}x-|wB4yrqaWX at boHZnHYDio)}y@}U18n_
zP~RqNdTv0>_%{{zq)ho-kiY*MLa1!@5R_IxdCeaxaXRfu;lGNhZlXFMq`8ie54Bv9
zB__tE(+jDVbCsYD$sp8m35wN&ItJ)B5H?==4MNzzZ$a4mk{8sdNil!y8p$#mD>mR2
z1zV_mJ*y|X=*GJw1q-n{^Y1mFrNYderJ%ln#X%{A;MVF7Qkkl!tUKFu#Cg7*sX6RT
z<V$iwcNBrJY}qcc+n#U3tc0cSyQ?0yC(c8FFmW-F?Yr9{nw=61;oAFB{|myG`H`x3
z$uP2}4eUOiSe7zpYr}ef_lH;19N_CdLqQ5ncL9S3Yd&w)P`cEci%ENv9{=G0M4ily
zX=2iW#M^>H<a+Hq)U`<woVc7Ek&{AmM at n4!{>pxv&)b1AsPj;OhFV2Cybx_GI{yP9
zpO~MYn?j94ohS?hzQ3WhKvQof!zNbtt6gP2dnr0XJ0iD-Ivs7eQo(k0|3om`_u>(%
zg%I^R_U}$*2R=v8<7ERPpnl?idspVCum^(>Odp;>eU31s3^f3@$NESrP=81!0z%Wb
zMj^!8@!N9<$A4)+_o+eyY8myZ6;S7bhI+QEnSIm at ES?Dd`+fTB`frnQ-u(aFc?z?u
z1B82PM=wH>_1$NS^sY0}3w4$G{(G$Nwt3nRm9Uykr03h7wc1hYj{4)gq4=Y#TF~D4
z)Ygb^vsS&o&wPPYpv at mr0UdLwPgd|{8fw4=L5#T>_kUsgMkMqpTjT+xH<IHGM-YA1
z=F5&qs3jmkbkJBky2=XeVjk)des&1m@$wC2f!Y=AaoTh<s8&cN%dyw01wNO=6OR9v
zRlWa7jE1 at ZJYj5C-78(yUMfJhT$Eb(^7U<kl&LrGBina);B%-!W<E@{@XW&V2=+SE
z7xC4D=y;GteUksx|2E<Lk!7P)?lix5j!@Wrp06G~CS)!tWH$nJi>mHG;<rjnqwe4@
zUp?BiR_OWmMHclYlWUp4j3}fmFDszc-FeoI{--Yr>D5VR1G)yI;5E-s0<wtrSlHja
zgr+l5{+{c^`wu at l*+<97CJ_3?Yf|`&>LI80l_UFKX-5Rl$E<*+j0sGzhjEE^0PvfW
z5`6ynqDK|)!Wri1TtyM^#-f3*s5=pf<f!2%VNN*<pw>1fuImc)<Gag#U7XB<Q~5Oh
z6BQ53M3jw~z`{+Ww}SFE{)b6rt5i41*k?88{-TUaotL%j7YO-1!3zZL?xA>xyFf4f
zDnE7^D%%Nk+sa-bYX-!*Ldfi%*Y-2a!@KN~!ybGI2<c(*cNcX#{8((yFRupa9OG=8
zOZ;dB@|tgp>v4VyV4Ty{Uz0md8JVe6hz{<(Q#ohLxFKasPZ<edt{MxGjFcPZo^sBL
zFLHiu=Nk28&fMoldXu6MQ9bTJC$X-_R)1AFyhg)jE}EH}ZRJ#I(!4QKc8dN~rqpfC
z>!hV5J9*~6YG69RcWaCx#@us$wwwpqdFwaF-KiDhy1m%>`2~-3@{N{Y#7EhDSq9)9
zYLvc5qe-q-H~R$zjxPpY3eRbGc;7tNeM(~7LrlC6Y_bNV#CY at WT)V&(tGmep;?-v^
zL2bj}vOo~WI%RlU!P%<ijXi`@u=*5U7!5R@)S9)EmbYKK^Nl`sU)*sUb6#cBD)h>J
z%&g9J%B`6<j7_;38L;q<DAbGZt;Z}YkM~#3=?3S#HcpGy<Wu;>vMH%WO2^HAQM|<9
z8KKRyZb`0YbnMFNWe&M?E9>lh)Psa9t at XOmRItC+9!TOXAj7y3aTX}$c~C at z3eH~i
ze^BAyslXq7uX)#F#23dYbkFcFgtQDl5a>NCK7Qj6Ae?oGz_`$%V>O(1Dm8m-4=^oT
z2yFfQVKS)>jC(rL at ZmW=UrxV&Zy?6OZmV`aHA&+(8Ev--;x6<6v3jFTPCTGIXP){4
zQ2qgkA*j%(>njGN$B|LhHV`_%yz~c%mn%H?KpYq~LWsCfQAtnmzH2KILP&kS_yO~!
z^$R;X5HLW1NSdnrC&4&u52Umt|7cI|wJ|r_6^Ws at soV_#IonSk9b>n7^dm{*(Hf+h
z#lm}tk&eH}AX+j35a at 4w(RBjDGtdAhQwkzrugTJuI)N$7Dd&^8Rq{lMhJ_PFm{82$
z&3WX2=$5`@j{m9oV^W}3U=aFMnRB_>_7G%bqS&oOF|2CTV!&~n{9o*av2E2i_FY5|
z1P=312PrBl(Q^WuK$ltejnLk>e(fir{fCD6F`?&LjjQ9ilv_AUj<{`mCB?rx|MHZ+
zHABq1reD`EYg*sAdq*%|637+q-^Pt4b&AerRlGp{CWFPVS<jDKEt1}=?iq0u-M?KN
z&12}RU7&^gfi&!7<Tzne@}nnK@;4FDj#X!Dh=Jfdaq~EfgaRCR($EHEiT_}o4`vU-
zIOb<=h0=^B3yE$Oa9F at lNVr<IJsdoH>YN?}V}g4`3Z+NIvpNnT*=i{$%JzhH>eOY~
z5-PMzMZZ(s>q#ZS{wDU6i}-@#k5{O}V>zd~H9q7Fbpa}<3nR)Y1K3Yqa>fI(w*dY9
zU+oQq3bN&}%4C!6gWyvlgb5tKNSo}UK!&ivR}itHUU8efqk9O=)HaZ`^-lxuJv{b;
zjVi+8^9DQX6WqWOqCTCneX1#b<q}tm5%U{AFLRqqan$O!Q1_fz#;SZwe|MggnRqgh
zb+u(_-FY}GiuluYR;JXzJ<PW9*_ZFr94r%^g?cB$yG~E?U*rAa6qiCHYV^7N{?O#;
zlcemsx2 at t8hY5Fb<X)%CoMJ6(8N1iF{)HLCCgYSWx!&ZkF{Cp;$s?Xqt%<TvlzbiD
zEnQw)N8Hcrdycw<sr#JcF_ymAUQ(2ggSpH+uXC7l#!2ePNXQ3oDMT4z9KUwQaZb>L
z_kR(4BfKq7-OEe08g7fdv*^#O-Ml7GsxGMpUJ8|itp``2hNpGFN>q9qZT*<oT(y at f
zWFm%QO^3zSqutQoCiUl=LlQ2Ir@)<#)&DeV*WH$9eO>#=!#7*(OH%$yD0HI1fAI7Z
z`?s$%G!TN>)$O8P+At)k_GUMNwT-e--qq9LQ*WheesV~O-MdXjjcrc_%)X%5b!HUe
z_a-|iOMu`D(Cz;MbRboiIZ8p#>HUrHoK~cObBDl=-feGjj5?H8yDweKNdQ_tPH~&$
z-kcN`hk6OIIZqecmYvnffVJW3^P~ArTt#4E4>7aV+1G`oQxU@>p0YVc_XkXgY0L*t
ziOqq<??l^220wpnXG(dWdAxRd9(J>i`}S=z%wiK<guss+y05yD%X^@C2G9u|mU!=@
zK;<3kL)ayAb^rs|%@3O$Jl(~=RUj;`3mI0 at 14fO$sR+~Jl%cF#aUL`T|CeSZFCy=b
zhf99|sK%X7F`$x}j8I?z>=u at n9-~7i{kOX6JVNTAploty3$XqTq-lL3gR6)8hE<Ti
zBwa=VG4QJkv}V;lGN@?-D*Xd{h!vfGEbV<P)TnUcYI9!KTx@`vl+D>rT!Zm|j)8)9
zwMH&aipm>8X|&)aA}AOB)45Q*7(oQG&{}4bCPYTcLvISQx)*{QRNMk*PKN?a2xK9B
zd;iqTSIvnzAxlM1-}TWlq&|hr2rAgAAo~+Q&Hp6>ijj9h_dufNBSnL$N<4o_&mvhW
zfknR$XDS-%A_3;kJ!Fetx#*j#E-$}*COYfyO0`=3b_6<P2*si_>eMgIjS^Hk&38b#
zuDLhXR5jY{&~gfKtH_zrRWA9fk%*s-Pf>H;j-B8u%)EelbjRk7oe}L*%7KHaxaJw1
zJki;<?i~DPPIsF9oF7)yPrbj#BkCsk;cSG1`tyx>KbUB1BH^b8y#QJ1Bs#Atr?g5^
zZEs%FxO-&FPy_agp7PqbtV-V6FIr13Mw<)U<xu^2F+ImFAjo99>=~nNU3sxe$p~(_
zW+19O%0MA`Q_O{)qP^1~?~i&`z?9VTX5oItV>e%NEF(P4DvJCumYS=C`Dq|DPG}$<
z!zS1hZF|6M*5$wKtt?bMIA~l%$a}gmFjRJVD7D>-Nh5SSvAgbJ%1{zBrapsQ*Tg_~
zSD?K%7vc0G-2DG_^&LP>e9^m9Q9w{S(iEg93R0vOk*Y`+kPcD;(m_fnK?DS(OK+h`
zZ_;~{UPBKpgx(<(Lx8kDzc+8 at z4`CX&d%Q5b9UzJ%-wsxbH4Ako+JLkZc75faVAYs
zJ9x6A!G<O2Buji3f9wt{u+bu8hD}9cyNv1(seI_ at i~kQVs~Sw`F}j^!vcfvw&_$U>
zN1gXzqPA1%4Ws(c+hQCi_00IY#wD~eX0<d_f?hLj@(Fu}{Q(NA;%Gh>rN!d)PJ<rZ
zBtP4 at os;)6xze0?C^ceaiM5KX>qSYmiZ_iKSxaBW8%MnUT=^;3{VnNlI(3UJJDRs?
zoIwep%vbWXRv#22B+nhr&ud%WDp|saEP`&Fb-G+r?EnfzLoF}9VDbBHO641PWHG!D
zeEk1<59M%&I0dt)%Z{OW@{r}EYF1kMaK-$uWAF0!i>;M*Q}mQd;Uggd*7{7s7;rY8
zx68`?Z@&;4e`uF8ZOF_PnTqOJ0Gf71!0>Rxa9Wbiv|U&HTd+I at it)ub@@2n&`vX at v
zXY|LYxw;pUchm<LhPZ3%ZUvqMnNKbzrRbur&&z9-c~GLU(vXBF9zT4s&bwRJ4le?F
zzPEq>Fhmms>9;(@$V{1X59-S`GgluKm-@!Mx!b!ACq-rNn+K(nOB<RJXnu~dWmcJn
zu9y9S*KohIOUJxFGQQ4UjH$hEQrQ{7|53s=!5wzjU23`z!OQlYH$8qiR>C$&4kEA9
zViEn-oU-(m`~SJ-1<iy~9-4(yQ%Qn76$<|V8V0$aU>={?rnidfkuBPe2C#9ierxAk
zNF2NOe1$t+DZ|KYA~YiF>#1XE$*pQu;pp%{V2V5>M{?FYmPIa37xWiwqhIQVuC*;Z
zE$2M*j^cgbD!2tr-+;Z at 2f2c~1T@>9S>V6<LT_2eazZo+<-KR`wQ-&#$uVX?86x2L
zt(b at xQ2D(kfC%XP5%;HBXxQX2x~V_DOg%OkMVE|!mDKglJbvp|Fsho_PSBMPgQYwl
zvC<L-l)9CIQkA}5aQ|XV*|^Ui`mevtF22p^;fct{0LVInkuQ{wD#0%p?bp7!?d!s8
zk+#}I_5eTONrCA!E$*^whQdj at w)VgOUAd;3vv;_;b5mA75ci8TY&-Q_C8Ao<oXKOQ
z_jr2}ZTw7?nL}&B=kZ|bEwQgQapr0LoYpvp-o&Fa*Ld1ku3eDnOU~MvGD8p3c)gID
zX+p^)o(?l))*jL)cO`Veh#%9-UChYUj+ at C}n#+9fmV0CWhyPE<B9RvFWR+lJlP}JC
z%+XpjTsnID{<_Ch^-)xg%Zt2fM%>%?4YXO_I0sW)<0N8KOJs!_1cMXXah7+I6$y@`
zOb*G`2CQc~S>K>_ at 1bS~o-TJfMeM!hpA8Ug5~dsglm?#V2Rf*r-#ACFc81D_H*P5{
zPN0>;^%?~gnvGm$I+Jd1hxvc8t~geIxD-47IeR0JJ$eROaGc9rBrL>;(tlt5d%vZm
zFcP&A(ir|}Y>Y&}{=_b^omW!SMDI at Np;Z?V4J46r-}qJju%*)Ind6se*(Mjt0bW?A
zOvq)wECXieX+hu__yjq_^rJKGInfej4w=hDgM-Co0+`~YG$zu;LXFr>2nTscVT0Bs
zP?6J$wQU6)Z4KNw)na7hqT+faT$WN_)C(rtbCkqPEvI^8iiDycKn$bSUP*%Ptu3Z=
z8dM(#<HZ(qSQ0DD{i&P;d-0sj(d-Io$fe)B8HAGQ0L!eetq&nmn4(7Qh}7~hK*^=-
zj>u=A>7BO{gvXZmkNBzz-wk*QeO9}frV)C{6I&<@V&<ejb5yvZQ<ViRvY!SrcX7 at A
zJ&r%4$hMM~cYBWUUjuKXImt1MN=`Vw`Vz$!uDr{&zl)8Z`TP^W57ILyKeKBnfew@>
z`+EP-ki)TDGljDCzg`SzXKEyM-zeGL43EfRLLl{6kyrW~;@gD}M4Il!sSiM8S39%d
zDj3Wkic3z=jZB!C+3Y5YZvz@}`YhHDvjWHuN<Le*cuC|S3>tUeKvDN;b<6e(EnYeI
zAslt4O}0!M0x at 6}O#9ugDY`BOOpy%T2JFj}jM6~$-UqbbmHa83MEa-oIdU?5s#_PS
z!dn%7i*k|JXqzH^Zy;}_m1_HC8~#c!E1Vrg(?ZZ{)x;=`j_6&P7Li;uYMW=MG(5{&
zPo|%wU0xWR`Y~#LN?4u+QX6D(q5|~kj@`&`0=lLI2%e#J<F0JE<o*j@%#{Z4S>G^_
z(>Fgl$LD)s;0smEffaNr>Pja{FW4fphjnvq(73Ofe*M2#T+78ZYvf+VC<V^0?w*pM
zafLs3%+~)4wWQ#$%|%JyYW3D*i=CNv)~))Cjm2Pij4*iJ^goh;S58wLKmZeNrRsh>
zjuGgXfvy>Iyk>dG1{p2Mkzm30?Z)_utu>A5on?M89#%UWlUv4hq*LO({!pMe!KuUZ
zHB2WAJ+>RDozZyO at 2o$|*&$hix!_ at 6%?^WGF*B>>#Y at EfaR{JC_VzRS84<|Ub=#4}
zx0q8E0^f&n2=`at?|LQ}Cef at r>v;X?B5VQ3`!gqGn(Q{%?|z-}E1 at OeJTBY`n9&Ek
zQyA|QsFwTereO#?Dg5nNtBPpx=#{PA;x7DfsLNwPht+?Enj!KTr?f)b1rd_=ZqBVR
zRrS7CbhQlzWK<T%Vp4kqPwm~poBkH$zxHb;e>tIosji(W&pceud9v at m)r-j52vR<%
zIW{W*?T(Ep<PfIEad|M(F<#f6ww=)w;}>~-<`2}J{a*{F{Sva=F=gPywRp at S4Qh5I
zws@;CdyXbF&V6|v{wsN at XJH#Y9|tx$ZDpz^qJ-t3e4BSLE<K3XT7hH2>~AJV(*D)+
zZ?)yQ6CB8wh|5upEa+u^WNy-B1}Ke46wHuSC0i%eloL1$fpY$(LJXJ%X_9rdg4&a-
zUu;$z at ahl9=L=8#Oma84F5JU+s4zp<#5+bEAfUz(U&7V(_t91Mte;|NEc{uMFZq4u
zpXv{w^qAW?ZI8|w{IUN84sDOFc?RfwQ{m`AKzVfPV|tdj84u7lAk)uuKv8=D&S}On
zlDrB(3bmFV*R+sUbKLuWs_OMObJC*b6OUo_L~olO12ZZi$Lj8Wn<zk+C^ppX{1>aq
zfz|dsS=nAC(!UqCMEy)t#q=B#);>h+?#?w*<|@WdPDprwEx$4^MEWO%WVE at WkCMIk
zgn3qOQFWfWq2u1)cm?<WXq0_zV~1Vj>vpAZT29Zm`y0m73O(SB0nfLTcNBAI->Xt6
zNd0rFr=BfJL#deZKx0 at AXOJBapBQtIp=OJ=?2k3T{^^YqLd|2K4z8BrhfAHf#|?>Y
zsg-Ee1-TXmIjsq%NpSS&Z!y<<#)ZJoKRpW2u3T*V7=w&0vLsW)Hf+?Do9+3E4r@{A
zpUtMw3~YTw)c|(}ANCY(^-J(n+A|EwQJc&WF~mWRj}i4D at u3TktFyx?7+=J`;uA;+
z=<YxeI(M`q$X7N!N+i-Y751-4Z>12l+|wB%RWS^(ENaCyyuk?BRk4JP<N1Zz70gy@
zw!5?un#k7jE(Ah=dEL!6oFa9gd>uxom3Jar3x7|G=cuev1^<dxaui|?Arp^8488su
z-2-#A&E=V7^(*4Q&i~x<I$w&UH&K=}ZhoDwa-cCTb^TS%mlin|_Qxc}zYS)s=D%#t
zvr2&48eBNEeU*B#^-O5K!;ty(S}?<NCHm6M`F#Iz%$k(mqx at Zl>BsAV8C<FhJ>x3=
z%Rl`&!28FQ6ao%$nbg<sfMqCNqh`ob(ypL#MlC3XS1_bg;stgXKeZ~?e36bxy@|n1
z-UoiphUS!ErYE#v@<`sG;sye at O_A-Kd6sF)swvv^3qex3oN!a at hjBWL4)C>U!qE*D
zHwa<l9hD4y6wY7)YGaP>JQVqn3;7h?_<hOfOYuJ;$6j*hvG>mT^P+_V(MFKqE`kPI
z#~87srMhl<6_yObR6xOfiVfgGPJl@#xlcK5{q`)c*_#!zbv=JD{k@=Inf|{katDFB
zV&mln<AoCY`_5*LYz0wC3;(FXx;U>6Ulpb<oltcpm_I6zjwE(^V>*uvkiRY5kN`_A
zXu5k6Q57{ciLb{sgLs$b^3yJ#P*)OHeukAy?B>yK8w|0%XP4B{<=%ZKmPfky97;7K
z6R-Lr!IAa9JokBh3-T^N*~XwhBz_-CF2Hxknjmga4J8x1Log*bx$vF?V!u1L5C<6e
zrTM at mQt)syePH~HOr2&7JZt`JOygAY5l*<g9rUO?pxxWPVTG*a9%IaEV+m3MI)qJ=
zwNIdf^BWHa#Pu-UJ$?|QCq^q+adzWS@#~Z8M^0uFZU9G!ko{6PbW$#9KHs_IC!73j
z9`H+%UuIhVrKCW7rAn}$E+1?x*r)>R#{btcz<Vj&>#G1vyaV(|@gK%CHDH)-WG?pA
zXZ9uY)R;Be%ujkFmj6g~tBzAUO#INNfO=}dX{oEo1g}$C<-pO!;N at FGy*<bE!?Vmw
znU%SlMOf4CCeR>-`S1r9*CmrBT(3!6%8H*o5+$rW=u(|?L)sCo90JwyX9q8{L?pTA
zfLYQ!KIcHatPy!y4inE~%L5~-LlI~{VOtDSvU^eUmk+>gr1*TJIGUvc<d=#RuIh93
zOC9{%Xfe{v5g$cUMF&-0wYZsvOmCJ(2Vwr*A5J=}`#4~&bPc;Q1AATlnCGd^S+(tm
z?!D4LoDXxXoTfk9B<0(5)NuZ%3-q>ZaUfAIn6D&mT(P*`wiV~m8<5Wv20z$O<n={d
z-0Yjpk2WJ;-+I^v=Bx+y8824pa;v){34-Dd6PHyn-x~1`I?nEg3+shmg>@Z{j7bAr
zOwM7FK-px;yuc)hQ`+jUh+Zs^8c2KNywA$*;ybyj0X$)AxCwmMc3WP2uev+H7ElQ-
zU1SUJ031(^(FN68K==z at bY&lir^|Pl_ci0!{;@dH_KT2QvlYG4V)qWOL at SPrKS^8`
zr08{SziL$JM}aUC<@7l8W*=&{jo5wDr0{Q<pI6f9iQ850fzSK*PFW^Numos*fY&qe
ztxLZ_wgzgcdibJiEKQYojD!K_QSO!YXr`g6@>r($icaSJiv at k3+12YyJ{{y`Nt{{S
z#mB4cY96Y??k9ayfvU&GO%D-j9Uno<&MS23)A~O2vYv(QB&f~!+u!1Ym=<%gGqgH@
z><cW(5a4*7bJ6+`Tyar77#9-i57;sqbS!Gcr2Ys+8nwP&PlwjuDA?5^uQllnPUA;t
zF|md at 9J($;ra~V*t*aoi!3b^4>9#+(8#I4dz-d>Hi4_g+vX1EGF#PiqtwjF=N{2wN
zWOQ+bZ*;Lh_}a$A8$9ySFIG6Pou5#@_`S?zYBaeKW at +G2*2Ag*G38dTPNDbpIHih<
zE|-_1k at EB@e=;oPw+uhqj<u2Ft9|=gm4F(^I?3ml%+)`*6JOcq<F0*>5V2-9Xr7rL
z`-h{5%1sv}81d#)4+7LNU${!`r?mr;)6P7 at Oe_uZFgY9O6QzfZRCV?)@jM(8K3tt%
zX<3CXNvc0S$Oi4*-!zLMYdas?e|3Ju9ID`Dxsf at 4o`o!G2rTi_bL1$gyd|%CKZV}W
z{Dv3vLOvC|$NNHb8jiC&4^&AUspio$y^yN^7eU1(D_{%HT`dHh`UiaUp9}`jnl06V
z>zR|-7mL3xG!d^h`7wami_e>)B^Fyo>z`2<$EzL~t#q*@&s&PGOTmT1&_5YgHSYFG
z at 5C<sZ2D;8dM-~7F<d{t1w_?d at _YG%IXs{hn42UP5B~@2a<azPk>n^?gP>vN=InR=
zL#)m{*u%eWC{<(yF-lMZ$5z7;g7UW->3Vt6wS)0Nb`;@cDNwt1_AdW+XDo4_cSq-5
zzq)X1fI6a>5wSFduVC`NEg2^)@W9Si68Etlqz&#c!7bAbp6F9Vj4Q~Q>tpsOfgdiS
z7fSwO)_-^D<4GC&Aro@!V99M)2J~Z)#p&wB+;BZ9s?$0-J+c|vSzuOsKcE<0Zz_jz
zolB*JZs^LbWW at ejmyMd?H|(T=j!Puvn3%!V&thz4-^-6<7d&fm@<KgTL42>b*V~@M
z!VpI2 at LE(ot_N?9=@cOIrhQ;=Ocpr^kF}O|tnQlNEB3fL?4ytVwRi(=(8}*jSUM%X
zHTnGmm3WwF{PEHARq>mrZ2_g2?z`fO!=JF7uVeKQCbyC^{WX|CM^->!yeaGG8XOz!
zosJ%t$Nl@>4*r)3rmn#5V6zKakHveR$5`o^mcDo<E6MR`CUMFk2Ta~vUi<E_?^Xlw
znXGuA<#F6kDO!{&oBOoLVFsx?yvL5apoQQ2Lxa*8&HHfLRLLy=1ZqU*Z{%j3rD47e
zj3aqR`XPuNqjNQdow|B?w)uLMWn%7R0^-SA!g$OPOM}0fh;CQ9)WaFhh|6sHH%T?Z
z-c<$Wd0etKrd+gz`y0DLAcuXg)my5+x7<p|Zr-XDIrSmiEJQ#}?Cjg!-0h_z=XS1b
z1&wz$e;9TaZNuw>{H@>e`rHJr_3FH(9;9+@^1a}D8J<5)gLwrq=2=)c{)T5^Cm_?=
zUe4Q4J#$*I``sTwJAL1C213+ea|gums-<QC#k|01v6c*Z);YCZyxqh4uzoA-p$f$?
z^JYI<L^W%^q)li=Qz=U at s}v8W1sX^XxapOG2Yb~y`eVbrl;Va}zaCd$rzTlix2M;+
z#4swZgHNh)TrW8g*r6r4kL;0fx%%V?{hPq4 at Mq;tUgjJQQa>Jr&fKWiJU>*!fL{D%
zjx|Ep)RKUTp0#CI-)X9lw%bmrN|?uhHrQWgxx%dPBL<s(>YFVGa at NUu%>@_C`!VZ!
z48>M)w?)^-g)BpM$<=T8ajkXUJ@`Anrrn)By)dw4jMC2wDNXsK2DYuBqi=HbV4LpT
z-y4J`Di??-q-nL&m5iS=?-#*8LdOw`zu6-7P&hwbr|W+t;-%-O*@yIrr&VIPW4t6m
zEWlLWTXuJ1piO%LM&|dyPkh=XnqW+N^!r?55L1N<2U-m&a&_Fr%hxOAWA*1Is(CMa
zt~cKeRr)H+ECZfjft{9Z!Oo%DH$oBqT!_{a2xc{WJ%|#c%hH5&;fmdIT}L&DYJ|WR
z%h<>_a7k0<%k9{w+Hl*X3q`YeVTfK=ua5h1H^M8q##w7<D`$W;S;u8ZL#!bczhY$K
zm3j#l<yZ#P2RCyhr>~%A^t2c3j8J9hwzkXRtCS$s#KV3>J;DLCZHBJ6amSd$@*Dc?
zq&>63UH{Bq2fC$pjrrPnv)t<Ckj>eGEU4B|jwA3r3rEn=IgkBMvcldA$MQ__#G`X-
zYNK;pk at Y~Tok^_h(;ITSMk9lmRtp$1o*OZ^)&xe?wX**lL5KJC#(e>DIH%rSbkOWF
zprVf4K4im1zS_sRnC at VT06QMSTm;gsRAr;an$-PCiIpeabh{@b`#5VWb;*VeA0@$=
zLKqs_X*u_>dt73HtxtK~KO7!E>#v04bE>N#J}{@&6D&rbEuY1N=z^3DB}%XVsF{=u
z24yEuwE>LT!?}QtjG#$6vbOdPOi at V6srNTXN3+U|p}yC(F6Som4AxSSzyZG~Z&7vG
zvqCN6l;K*dI3eU{zPN412FA8;Y#;EXX_+BCOk=&}k9-X6FT>q(u4IL`7Lt+B=M^5Y
zG7WW?m35-xWU(nlbiojxOYKyp6GT7vV8P&fJvFe!KB4g0vJ70s at 4H%ST(a?bK2g`;
z>=)<MMa{U;U-!;tq;-bJPo8Vk)EoL%U3?)IdDHc9LXH{7JvV>ZB)Ux?@Js*q2JlTw
zDrV&=KK_~6j%c!%(ahGd at U%_i%*@x5sEf_r8jqk?&ozPtxHRbO?g^0dPSR%<vH5xj
zrM}ic at uNH_0l)AnA4~;GJC6#l%Q}<2^={`j^Gy^MwLhF)ng#>wr-m430%bn_9jD2Z
zTu~a5t`!RV%VVU#-FyF{5bxuF+#D1uN?Sfw^aWj2r7zoL|B0jyqc4E^I$9ysWh2l`
zR~qv5+B?dL&$8?#z5bYVZcl%K#fZP(QM`hEwXvQ)cC#gtNA;dGIP^1Q6Ab$f4L}rR
zmc`LDQOk3x)-bQXuwRis+KvDa2$#>-n4X52g2jCZ7cd$vz3brZy{=Ng>aw)U>@lP@
zw+|^a+Mzu?$|?cKK1%I at k8t3h4ZuZw!9G6%eUJa3gDBYR7Fu*50+pazlWW?w6Rohg
zLfJO2pd|!bSJFwKuQ%*9dPY>>kI*)%0K`J8Ne|XS7a6#YziOMqvWEgaU}MhS>mR at 7
z1+>!aN_L1a#D>Dj)&ZPV%h`2}wor$&v at p2V$~nFXB|51?ziYQ>meIG@^S!gAhWAU~
z;~HN3vf#J(h1#3m&gSL~%(y+$t#HUowrB4`t)H86^Ig?Gv7A*yz2<X>@^)m5(&}!A
zE4Jr?5kY9bYN-=1{cEwGj1P at J3WWOr>=0wH79XE$2cXtYmZZo977`%hxjT`a%?(T!
z*f*t;VG)Y}<g?C#UnRrUZBrD1W3-8e!v4hZa+p+;(LWXKLZ0uIjL09xLv|F?!H=P!
z+H1E1)uxp6>IRt=<IxLlb4TEw at o3_f@u>ADN8nS(m(*sCz~%;n_7#FPWJ5~0|0R(7
z at Qc=a$CtQ8D4m%l6wbx4VC}VakP$SftllaiC70v$X0cs>dTVBm^zwG;iaJ5Ykt0~`
zdwS$p`1v6z<FakD&0l#ssbiC1#3MCkO4Jkig#@ml&w!4VH&H?#3h at 4hOUSdPZrsoW
ztMv5wA<aNJTBS*EC$l~~|D<#+le$_~#Gjx0fLuDg&S2phVVjv}`epJVVcH=zBYESe
z>L!Cv^M@>172h7!Z{C1rxen>isW`TlgzTH<Y3pY%Zbpzb9vY%HyJ+ugHNJtvo%3QA
zqO2EAdPy;@pE6Ul1M(ix+;~$h49<JW-tnJzdU{%29p^}45|IdKG&G^Cl`e at M*D(`2
za90GLv-I1lWHk!5{|xYHb34ylrXv=>=(?w0foN(u7U>0dGpJhdO!z0c9ZrVse?<ml
z-=H$H`)xzw&9~DkrsBftNe-|x+kFu3V1v<`npxL6$#0zxZ9<>)2d*6_HQgBre<GhU
z5*tGspH5Ljcq&-&sXF4qZK#UiD0`dJbh)6j2P1v2AdVoYB1ql$`<J2GAjU_X<xIQb
zpXr12Q;jWU7UOY^FFIaOK9iT{(-xbcW+Q03Igb845vls^^1E!Pca&hkm|wu*<>&!?
zht}(SQ`#h(ZS&>sIY27c$=r}(Jp2hgYS~UY#bw2&b!W8QewJ at qu8u7r^HuXIPu<Jq
zEvgVI>zpCoAR(#wpkDzgufS?azuEaN0`rMR3Tcc+Ye7IC%#t$Hm6Gini_8(!mjTsD
zH at HlG^{Q{>L0;sW)mHpotBrHA<76-vV9mmu8O9};X1=luD%S5w^Onn^es?GJ=B?BK
z`6EbC)!m^ccE(oFVzck5Bo_E%x9AGkAlUkH;&Qd7v;Ruktmj8+Vy4O1{0kK`*?5lD
zzm=hL&ik15gJ5BQUbkSj4b!@pfx8DWQ8CS2q~jw;3w7R`pF3cU{Yx6Zt&SVVYhgQ;
ztIZ3T4xrHw+)457qLk+H?g{wIb)2C}z$-#*Y3K`7jz*4-7!^PnfL(2W5z;O$II4Ei
zVdTXBZn?+*qL%Xfwzc<$rN5RE`=1vi(-iWlpDPt*#c22LQQt4Xfi)UPQ2xj?Rfuwm
z^r2PqKH@!gj_~Rwd=41)?O3E<VDl^1ScX;5T5gH7mW}sb>|#1!sDZqgI-#-ujCI{t
zjt8qeA<>%l;k8yY7aV?7ojZrW!F#BC)Id?3)dW>iNMoz2eWrprvmEjUkR$PW^={?h
z+P%+BX!Fk~T{Wzyn%vvvTNTeBC9749v%oSmjQ6~2ek8k#H2q1W*<sl`f8iE|+~F|q
zefuEO5Z5w4Cj+r#iYFP*KgJ$Dtw|hy>+e!RcPx7UE2U=FDD4bfWKN{~jKk1z+mD>u
z9eessIY)*_LPl#(@zIHl6>$UC8{neRYw_;NiQ03-jPVZ~!<{-z`s(xe-kkmZ$LN<I
z#``|(x4pMi&Ul&W$X^baaVa4lxo6!ao at E>O^++qUW`$6gqm0%nDp$+Dgw2}WNhd?Y
z>Ai%7MQy1$d at whV$Ois8a_>TE_)3A5#iYm|O&9LvCk-*|iWpfS-$s3j2vh;uOZx}e
zdhp2Bc1rOd>Cd<4qlL-#RC9CITlC|)jC62&`od3MvaZ`?<*n@=-t~?-qm|aS01lO}
z`1O_V%kDD9*h at QSe$4<~+>F&);G31N5ACr|Lw|09as`4m<K+Xgk4>9|2tb~}@?7!f
z=r;pr54JG;SWsYxoKI3|59Qg4&Z{a{R%Cj$f4qDGOk%LoYtP#MAjp67>+z2O>*E|N
z4TiBb=;3Q^yF;%yB}2Xt8DiV!Z-m|#$eSBQIM-df&?h&6Tj|Wf0pDe9MjK^C6=rn^
z9B)uf4>H8OIL3m}!UvB>ux*0YJtXHxD}=z`sPxH!Rb~Q?A535DE)nXMcsX^nXDO%!
z3$qLoUw}J*4iX0h`P`XCf3WvLxAov$CU7Stmp;Wd@*sX+OHSZUgYuvqIA_1&l5oJz
zxT#|mRNE-;jpeZ#uN{>JZhz<2Ge{{H3H8po`v=E6j3U+gs=@=76`npthXm?8gp%5N
zQ$-F6rSs-EP4J at QMK&<7_xsWWgVoU5ys?S(+_Ae#Nr at V^7)ZvjvFzlfj9SwSg6jis
zO1k-nQSMe^nzZfKK8>xZIa}6Fdn*$Vz5|T8l5|$FW7^1vJB{&zvJ<+iMP6VJME2Hl
z7|o_6(@SLpHF-~4r5rjHvlEBq1rKt^z>G0v_9g@)6su31zx16ctQL9ZYV5i>OYtgX
zPP{ACSp4LmjbJ?b3knOQM4LVK>k>1F7R7uT7FnCl8yg^xvlc$K;J(=YNX+p=R)>g!
zIF^H7fUmCRyRhfud{)NfU~5umrDgsnF>kg8145^**=O!Vp4cc38(v?p(xL*iLVR=`
z<zcS-#r08M>F`^Eh+hEv&IvDKSbDZt1p7c-v0~Y^mLpLGUK)Jo*w^X04(TBcZmi#|
z3~a>+LFIBFaXkYGFP}AVoJ-5ZT-#lljgGsw3xw^+9xzx at +Nn164dlLXsuoS<&~C~K
zQpw4iBy?_pTz~Dn&T1sxseieW)yUm*dlX8JU%jmP0P|8P^Lhh5*2k}pg?#lM)dVo<
z;!HksCB?vLhzZ&XTzP%u1Rsp13QVrAhb(73%x$QubE&JC=#p<9cQD)SDAwNXV4PJL
zD`>Y;>z6_#&jMY^y;d`GC;auwMC2Kt=~zr7rm`U=#dBRivnYGHiW?`4=|?JCZ%rN(
zdS`xzoLUcmmAwfizgf+eY_G?0*@=rI!z!|b5k}Nq-o+1nz8rewj4xTV2Bddks5`ui
z)4RT_VxKLF;h=g3#_JT%%vA;t$=`JD>vg at XxFHRC5`A5MGt<|2T%o_q(*eE%r2TRi
z>!K+(Gef$6AD%eM|EUNrEpZ~!Ravf5tiC<bYr1CZ!=9obH<cYuXwOk6P2F|$WZ|%B
z-G`V|7k9e=rVy~}>=xf2mM|v400-4R>`+y5=5BVeSQ=fz)?V+Y&8==a1$Oie(5!VF
zo!Ip&&nVL at vk-bK6tbowTc{|AaBzgPftcqX_ngt?&(S38M7Z+cF6wEbZh+#^*4Ldk
z*Bz3a?Ay&xQi2keWIXQru9h-%!E#~T4+cA?%S^?at}AX6cEU9%Eqx_d#)Y2zbV@^x
zS+*_9C1kc;VZ<#^dD5g&;MLpu;(+V)&NuPt0BVg)`&P;ROLeiW-~fioy%9o4KBWao
zqaX=u(I=?sd+{QR3jT7f``tC2Y4UIMwwpfz7+f+IEB;*2>i?ruUUkndV%jsK7UgeC
zh?7P|)aT46V7g3A?1LIKk3`M@&u3Iged?dfu$?<t1IU8p_+j$|tq%-*v-Val2-X!=
z=MhmJHDG(!dqo`XaKSv&e+d#~NyHVJxt{#{Ndj))$K?Cz!vDB}jttE4X{l4m%tc=*
zJ+?x}0Q&_2#CNqg=KQh-+cuYMs0%3`?b&!KcjZGUZu(m}v*x@|wmyzfHbW+RZ99&+
zb(Y#H{=}Xcd(YYUPlj((<-Qz0E)6M`@2rX*&~lKv8DHk2a0~x-GW7UN8ZUbv!Q at _1
zo^^`9a4<ei{(VXH1KVg;{nI&x><{+Q(LWUS(Va+Fu)V!b*`35p+9(J7AR_Ci4KThb
zTcGEc8b4&YzD+b7SUsure#bA_Fupn>0P;K-gG(MKDI%?=aRbu-j;d4$t2xl8QWz`x
zL#{TQtr;puaU<0-Gt83MLa#f<g7{iSur!*vGD6lK at P}gejw#pi)WH3OD6y;io<Hh_
zZh*^g_stYHR(h)w>U}uhrw0Ct=D=wdAFlisp#MsV5Q^TOc;aq)`SwNrpD at vJXU@PE
z_@|C6J{29>tE*3HoTaKInYwaF#2BNY&gMTGzh}KroBA=4H at ozs^6+Q%&EtV(^4jQK
z1sPUN5Ior=J?Piui^Bc4YG<ANABF=Bf8)rcT7^vvSjRBUb^J38Czf_(YeBUQ>g9(s
z at e}o0XaFufIDkA^@~(rMo?(SqyxbvBmmL*gSTscD$q|jnadgw|jNI(6;aD~yXklS-
z9dm6h+_GXfyt_}!=$|~)2M|0CzT2^{YeeBv^e at fjQk*|IUJhG6V?t(!E!m#Fs^bP_
zVw{H4EkdqaE`{VxJa&*pGa~r_E{PeH<#R`Xz%^S3i<XSZ+XK$O0gd$+>seHwgQmN`
z=lwN6qa8f+yf*$CvRvgfmmzPHCvB7sxnY1G-1Q~=O6yi-J|aUqsEkHp at bPQlugTOA
zb3Mi(Yk!T0x1B;FX(OvqPP<Iy%i!I91231B=S_3>Pp25J^zISHZ at W?ptna=`F;hq0
zj<?&UTHkw5)lHZ8$^A2|UJsalJ}M`g4NbMfNzY at nOjsQpH&AA;#*%voQ*iI13hsSI
zOfjtce4!w;ThUW(<#@E!jBx%a+VSEINOyRXlk%`X*(WG}w{EXJ8t;m>y*uD7sn_F`
zG}Mm@{a)a~RxsUZdvm+?(;xmhe32UWf)$(A{IJdV568tyOWsvR$!B#57`g0A^j&~_
zNP|_*SsOjH_;*gLOHdZ>PJO=)CQ7vd=RM~c_dKjVkmCMv)&=vVLIsKMV2nBGs8w>e
zAEANF<i-M_Tc{*Kqv_k;`D;qtB4plVx^H#R#kssP^gIMoQLPUSYP@`~MD%Cl2eJWO
z<xuuAIB81%P3K9-?iZn)f9yBAuLSn7J@#bfhv}!wLkIIq{L>yzoz{`tFL8>)%n0!#
za~lIK_TAiVRh8}U8>}o#WygiAj_z5bp54b^t1=Z34uXZ-EYmLPnKm9iZ9*T2!1+%d
zwD>6pnr!!cH!ibX*I4eb?~Hbzi5%wm2h}TFpcBjA-3)}Ve6}vWe=|fD!xCDPM0>`=
zY7+I$Re4HuT*yTY#wgD+=($!o-5kzv&~|1<1Sh<{v`9ZBC&o>_DcuioeQ*k^av+l1
zrI_}%e%!JB-L?NLg*f2-KFr+>&ltIUs~_OLa=9AawHYE|GTHIhMnn5)i>jZLs(<1=
zi+3Cjw^H+cV$~#9W#(q$jf&Tqk;_lWZqD9ZixOv>l;&btW`shNpzQIIVoK-NqLpg{
z3XE&jzHRkK at _3K(Z;8m7`pw^QW at kI&#<Q2t2ri!&ju*CHJkggxe{UOVQ$svF%idz)
z7=Sx>-t~>cG3GgjVk$&`p%A}<{9#n0`dv*$4=)?Pfqv#4a}t#2yw(^onbtQ>S%q&b
zd~IXRA!~-AH<417?8X$$^5a=N{lg<_ at P&MM!*-aAmI+kryxFcBU1t2unP83ACH1i9
zY8nv{82)X-H<dANcT`}~-Dx)|Sw_>&e;V;4mj(LXvGn*zpjwO%4dw*U(d?5`M{Fw-
zEAdo?Xcy&-?2|Ot`uuc|HBnWP+{_K2mf?y%Poxkxxon}CJbeCGv;+?>u7EiA&9nZ(
zi+=L-9T{n(q6Jm-y2N*QJxv%_Y8rnh=gVbbRNvn-vh=94TRWU at q`hVAu}SOD()e}B
zPN==QS&T2VnBo+=lNyDx20OV2s9A;ehRS<rTt9=?%m-|baVz(>vbpf#PaTJ0i}Mth
z>rMEhyeqMnBupT*_{MoIM!38DS-_Lu<j&%x=RR@`azCus^NNQM{{|Icby_r8NB(3#
zs(-iqszT3#YA4?P;1#u5b-j^T!F_EJEaTI7GOvFgIPuSj8rkuxJmB5y-}2-97Bs(+
z7XOGlsvnP62%Nb<9&}4}SF1rufYFYos;PYYo(<C1Vv3R^+lAUE?N at TgC-g~yX at 41r
zG{}(Zv_q04&9b!RuUna_O8sW3)|79ox_vA(4qUdzgC#DPd{?N??;hnmb|%d5h?wyl
zO||UO#8<A8En at UYPv-+_DjA5J!U!7~EVumW?$Mvd>Jtd3W!3V%lYV;ct+ur;EwmXa
zTM({nq^Hmb6F6VTga1(;`X0-3Nn||kejm4Yp;zXaXjlDZf|dvfu_!*g(7TpT!Av}H
z(cC;Jl8yU@!ak^>cSvlY-&J5-X#ODwO at J<>l*)1G0`HvW1s~j3jugDDO7{13s-r<y
zOX7 at Ffv4#X7_6rgy!(3*AP58d8@@XLdAP`xAN at F+7I&=p*FqD^`t2V$Zg`0{5HfJG
zc()nQd#Pya_x-t%R@!m+BgAdy&-4h2Vt(QZ+RfJ-+)cdCmkHet4rpCM*oW|~wk#kf
z5vFvvs8B6v_w#{Ryfh=4Z5V#r+|5*^)9zUVPgu#0!ls}A%(st$QXjHq&$87dTZ|dg
zRHz5Y19#ECseRl%s#jGlOUh$Mv>(e`upK*v at L>dqN5;hI%j{XEIecG^3iO`k-HaT5
zKz(c?;y9bK=S39EZMF%=$h~Fy?`q&xOn#h-^pvXFC_3WoKyLb2V~-1S3ArwLEhRXx
zJiI;r7i=P+b#S7JTMnv{f<)HpFrtqyjLXXJyS2xi=T*dUOo1QqK^ZJuQr9c~8suV6
zVp1u5l2!anSXFW!M_<{1X|2;#rg$$za~{7$(B6VsHmlFjeT<b_`{sw~;ya&ie%~2T
z&NN1B1^%k0VJnHc{vCFpY`n at FraeCxV{h_037>o*zOjMTMg&yFPo8&nTmB2fX;iO9
z-eP5YQGVl$X-zmg6T}BwD(fy~Cq2XdIbMl%!dfj_v+X`O=Oc&rVerm~<^aArIOn+p
z&qaPdnl&JuT2|*R#~r!VI4^CxE at h>3y(jssp)Agh--K~g3D98MB1SzfEtAkrmiJ3<
z7XT7_`eIi|z`adc?4OZo>KWHo$P-kE;YK(o?^#IdO^@R`S#=M!`2 at 9jvCfXN@@95`
z(ZB!Gej1W`5yFUB^ZLKuYfs4XL$0g>K6E9hqC!xVS3Q~C)SG&phWLP2)Hs|s at 5#dt
z2u28D1*tCy205(nhYq^)Dn-7zTHaRv1sg#+0wo=#vV=d8b0RibU2t(xcWZ_*6J(T)
z1WUA2yQLFUGdcNin$=1<PET7S7&(^xCUV-O$o>Y?9#2q3xH^TR7HH2pW!_jxKknE{
zb=j^=Jf3KH0I;K!kbcZ2JA1-9#1wxS9QMcMQ35uI^7KqXq%|P-BJ*E0TQ2G>s_&M}
zPI$CDI$TG5X6FHWEIzJu(wunaK_=M}A%4!ZAJ$>Irfib&EiQ<MUNK!ZQQIy>!S(g&
zn)nioKrm!aWDn{7PZ&EO)ybE4k81xa>|>|8Gj#qIz86O}Yc`SXaX#3M;gZ{Rmt{CE
z>)0f88RI?+FlKQJppPHC()8*|GFS-8l at N<#BkWvu9Byw+{%eB)uj}Q6q^fj0JEIDz
znl_l?sT?mjo{;ZkqL$CrJ}>d*aauverH?dZ_j at +)ewH9Pmc{PQLyloO8{wu*WVLnD
zl&+LV(FqBi<XbPy*@9MGv&s&qF4g3wP>b~~aXT@%r%zUkGxgm;_uc at v6CGaj6`#>w
zbS!9i%`^lu$B}9*JeDT1HSOh$i<U2GG^w%*ah(3bgvAqSs}m9t5YQ125!@x9H at lGH
zm-%YeWI;fH^(G)7CHUW)or9CD at c(Z at b88|x^m=&j5fMR+=l%a>vUKa{KNBHsb<#Wk
R`69aA?QYN8ezz|r_#Y`FUIYLD

literal 0
HcmV?d00001

diff --git a/ext/zip/tests/bug7214.phpt b/ext/zip/tests/bug7214.phpt
index 10271e3..67bd907 100644
--- a/ext/zip/tests/bug7214.phpt
+++ b/ext/zip/tests/bug7214.phpt
@@ -2,7 +2,7 @@
 Bug #7214 (zip_entry_read() binary safe)
 --SKIPIF--
 <?php
-/* $Id: bug7214.phpt,v 1.1.2.1 2007/05/07 18:03:00 tony2001 Exp $ */
+/* $Id: bug7214.phpt 235158 2007-05-07 18:03:01Z tony2001 $ */
 if(!extension_loaded('zip')) die('skip');
  ?>
 --FILE--
diff --git a/ext/zip/tests/bug7658.phpt b/ext/zip/tests/bug7658.phpt
index ddadac3..b976bf8 100644
--- a/ext/zip/tests/bug7658.phpt
+++ b/ext/zip/tests/bug7658.phpt
@@ -2,7 +2,7 @@
 Bug #7658 (modify archive with general bit flag 3 set)
 --SKIPIF--
 <?php
-/* $Id: bug7658.phpt,v 1.1.2.3 2008/11/12 11:59:26 pajoye Exp $ */
+/* $Id: bug7658.phpt 268856 2008-11-12 11:59:26Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/bug8009.phpt b/ext/zip/tests/bug8009.phpt
index 1887c50..f8979c6 100644
--- a/ext/zip/tests/bug8009.phpt
+++ b/ext/zip/tests/bug8009.phpt
@@ -2,7 +2,7 @@
 Bug #8009 (cannot add again same entry to an archive)
 --SKIPIF--
 <?php
-/* $Id: bug8009.phpt,v 1.1.2.1 2007/05/07 18:03:00 tony2001 Exp $ */
+/* $Id: bug8009.phpt 235158 2007-05-07 18:03:01Z tony2001 $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/bug8700.phpt b/ext/zip/tests/bug8700.phpt
index c04f32a..10f9843 100644
--- a/ext/zip/tests/bug8700.phpt
+++ b/ext/zip/tests/bug8700.phpt
@@ -2,7 +2,7 @@
 Bug #8700 (getFromIndex(0) fails)
 --SKIPIF--
 <?php
-/* $Id: bug8700.phpt,v 1.1.2.3 2007/05/07 18:03:00 tony2001 Exp $ */
+/* $Id: bug8700.phpt 235158 2007-05-07 18:03:01Z tony2001 $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_addemptydir.phpt b/ext/zip/tests/oo_addemptydir.phpt
index 0252c6d..5e57c2c 100644
--- a/ext/zip/tests/oo_addemptydir.phpt
+++ b/ext/zip/tests/oo_addemptydir.phpt
@@ -2,7 +2,7 @@
 ziparchive::addEmptyDir
 --SKIPIF--
 <?php
-/* $Id: oo_addemptydir.phpt,v 1.1.2.2 2006/11/03 16:46:19 pajoye Exp $ */
+/* $Id: oo_addemptydir.phpt 222773 2006-11-03 16:46:19Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_addfile.phpt b/ext/zip/tests/oo_addfile.phpt
index aee6154..3df4611 100644
--- a/ext/zip/tests/oo_addfile.phpt
+++ b/ext/zip/tests/oo_addfile.phpt
@@ -2,7 +2,7 @@
 ziparchive::addFile() function
 --SKIPIF--
 <?php
-/* $Id: oo_addfile.phpt,v 1.1.2.1 2006/10/02 14:31:04 tony2001 Exp $ */
+/* $Id: oo_addfile.phpt 220923 2006-10-02 14:31:04Z tony2001 $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_close.phpt b/ext/zip/tests/oo_close.phpt
index 42b7556..efb22eb 100644
--- a/ext/zip/tests/oo_close.phpt
+++ b/ext/zip/tests/oo_close.phpt
@@ -2,7 +2,7 @@
 zip::close() function
 --SKIPIF--
 <?php
-/* $Id: oo_close.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: oo_close.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_delete.phpt b/ext/zip/tests/oo_delete.phpt
index c73a069..eb8c461 100644
--- a/ext/zip/tests/oo_delete.phpt
+++ b/ext/zip/tests/oo_delete.phpt
@@ -2,7 +2,7 @@
 Delete entries
 --SKIPIF--
 <?php
-/* $Id: oo_delete.phpt,v 1.1.2.1 2008/11/12 11:59:26 pajoye Exp $ */
+/* $Id: oo_delete.phpt 268856 2008-11-12 11:59:26Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_ext_zip.phpt b/ext/zip/tests/oo_ext_zip.phpt
index e911ce8..b9c0f6d 100644
--- a/ext/zip/tests/oo_ext_zip.phpt
+++ b/ext/zip/tests/oo_ext_zip.phpt
@@ -2,7 +2,7 @@
 Extending Zip class and array property
 --SKIPIF--
 <?php
-/* $Id: oo_ext_zip.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: oo_ext_zip.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_extract.phpt b/ext/zip/tests/oo_extract.phpt
index 56f2882..5603dea 100644
--- a/ext/zip/tests/oo_extract.phpt
+++ b/ext/zip/tests/oo_extract.phpt
@@ -2,7 +2,7 @@
 extractTo
 --SKIPIF--
 <?php
-/* $Id: oo_extract.phpt,v 1.2.2.2 2006/11/03 16:46:19 pajoye Exp $ */
+/* $Id: oo_extract.phpt 222773 2006-11-03 16:46:19Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_getcomment.phpt b/ext/zip/tests/oo_getcomment.phpt
index b9bc289..5cfc758 100644
--- a/ext/zip/tests/oo_getcomment.phpt
+++ b/ext/zip/tests/oo_getcomment.phpt
@@ -2,7 +2,7 @@
 getComment
 --SKIPIF--
 <?php
-/* $Id: oo_getcomment.phpt,v 1.1.2.3 2007/03/14 11:02:29 pajoye Exp $ */
+/* $Id: oo_getcomment.phpt 231831 2007-03-14 11:02:29Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_getnameindex.phpt b/ext/zip/tests/oo_getnameindex.phpt
index bf2d4c6..91fd8b5 100644
--- a/ext/zip/tests/oo_getnameindex.phpt
+++ b/ext/zip/tests/oo_getnameindex.phpt
@@ -2,7 +2,7 @@
 getNameIndex
 --SKIPIF--
 <?php
-/* $Id: oo_getnameindex.phpt,v 1.1.2.2 2006/11/03 16:46:19 pajoye Exp $ */
+/* $Id: oo_getnameindex.phpt 222773 2006-11-03 16:46:19Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_getstatusstring.phpt b/ext/zip/tests/oo_getstatusstring.phpt
new file mode 100644
index 0000000..efd19e3
--- /dev/null
+++ b/ext/zip/tests/oo_getstatusstring.phpt
@@ -0,0 +1,28 @@
+--TEST--
+This test will test getStatusString method in ZipArchive
+--CREDITS--
+Ole-Petter Wikene <olepw at redpill-linpro.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php if (!extension_loaded("zip")) { echo "skip extension not available"; } ?>
+--FILE--
+<?php
+
+$dirname = dirname(__FILE__) . '/';
+$arch = new ZipArchive;
+$arch->open($dirname.'foo.zip',ZIPARCHIVE::CREATE);
+var_dump($arch->getStatusString());
+//delete an index that does not exist - trigger error
+$arch->deleteIndex(2);
+var_dump($arch->getStatusString());
+$arch->close();
+
+?>
+--CLEAN--
+<?php
+unlink($dirname.'foo.zip');
+?>
+--EXPECT--
+string(8) "No error"
+string(16) "Invalid argument"
+
diff --git a/ext/zip/tests/oo_namelocate.phpt b/ext/zip/tests/oo_namelocate.phpt
index 72ac631..923c97a 100644
--- a/ext/zip/tests/oo_namelocate.phpt
+++ b/ext/zip/tests/oo_namelocate.phpt
@@ -2,7 +2,7 @@
 Locate entries by name
 --SKIPIF--
 <?php
-/* $Id: oo_namelocate.phpt,v 1.1.2.2 2006/10/02 14:31:04 tony2001 Exp $ */
+/* $Id: oo_namelocate.phpt 220923 2006-10-02 14:31:04Z tony2001 $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_open.phpt b/ext/zip/tests/oo_open.phpt
index 9934016..d56317e 100644
--- a/ext/zip/tests/oo_open.phpt
+++ b/ext/zip/tests/oo_open.phpt
@@ -2,7 +2,7 @@
 zip::open() function
 --SKIPIF--
 <?php
-/* $Id: oo_open.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: oo_open.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_properties.phpt b/ext/zip/tests/oo_properties.phpt
index fefab26..1fb5336 100644
--- a/ext/zip/tests/oo_properties.phpt
+++ b/ext/zip/tests/oo_properties.phpt
@@ -2,7 +2,7 @@
 ziparchive::properties isset()/empty() checks
 --SKIPIF--
 <?php
-/* $Id: oo_properties.phpt,v 1.1.2.6 2009/01/08 22:03:40 tony2001 Exp $ */
+/* $Id: oo_properties.phpt 273127 2009-01-08 22:03:40Z tony2001 $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_rename.phpt b/ext/zip/tests/oo_rename.phpt
index ac44146..84458cf 100644
--- a/ext/zip/tests/oo_rename.phpt
+++ b/ext/zip/tests/oo_rename.phpt
@@ -2,7 +2,7 @@
 Rename entries
 --SKIPIF--
 <?php
-/* $Id: oo_rename.phpt,v 1.1.2.1 2006/10/02 14:31:04 tony2001 Exp $ */
+/* $Id: oo_rename.phpt 220923 2006-10-02 14:31:04Z tony2001 $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_setcomment.phpt b/ext/zip/tests/oo_setcomment.phpt
index f0dcf35..56cb793 100644
--- a/ext/zip/tests/oo_setcomment.phpt
+++ b/ext/zip/tests/oo_setcomment.phpt
@@ -2,7 +2,7 @@
 setComment
 --SKIPIF--
 <?php
-/* $Id: oo_setcomment.phpt,v 1.1.2.2 2006/11/03 16:46:19 pajoye Exp $ */
+/* $Id: oo_setcomment.phpt 222773 2006-11-03 16:46:19Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/oo_stream.phpt b/ext/zip/tests/oo_stream.phpt
index c7f5b0d..01be667 100644
--- a/ext/zip/tests/oo_stream.phpt
+++ b/ext/zip/tests/oo_stream.phpt
@@ -2,7 +2,7 @@
 getStream
 --SKIPIF--
 <?php
-/* $Id: oo_stream.phpt,v 1.2.2.2 2006/11/03 16:46:19 pajoye Exp $ */
+/* $Id: oo_stream.phpt 222773 2006-11-03 16:46:19Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/utils.inc b/ext/zip/tests/utils.inc
index a03db17..70fe09f 100644
--- a/ext/zip/tests/utils.inc
+++ b/ext/zip/tests/utils.inc
@@ -1,5 +1,5 @@
 <?php
-/* $Id: utils.inc,v 1.1.2.3 2006/11/03 16:46:19 pajoye Exp $ */
+/* $Id: utils.inc 222773 2006-11-03 16:46:19Z pajoye $ */
 function dump_entries_name($z) {
 	for($i=0; $i<$z->numFiles; $i++) {
 	    $sb = $z->statIndex($i);
diff --git a/ext/zip/tests/zip_close.phpt b/ext/zip/tests/zip_close.phpt
index d7259b3..0ed4039 100644
--- a/ext/zip/tests/zip_close.phpt
+++ b/ext/zip/tests/zip_close.phpt
@@ -2,7 +2,7 @@
 zip_close() function
 --SKIPIF--
 <?php
-/* $Id: zip_close.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: zip_close.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/zip_entry_compressedsize.phpt b/ext/zip/tests/zip_entry_compressedsize.phpt
index 5e0fd9c..a01da09 100644
--- a/ext/zip/tests/zip_entry_compressedsize.phpt
+++ b/ext/zip/tests/zip_entry_compressedsize.phpt
@@ -2,7 +2,7 @@
 zip_entry_compressedsize() function
 --SKIPIF--
 <?php
-/* $Id: zip_entry_compressedsize.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: zip_entry_compressedsize.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/zip_entry_compressionmethod.phpt b/ext/zip/tests/zip_entry_compressionmethod.phpt
index d505a63..875cfa2 100644
--- a/ext/zip/tests/zip_entry_compressionmethod.phpt
+++ b/ext/zip/tests/zip_entry_compressionmethod.phpt
@@ -2,7 +2,7 @@
 zip_entry_compressionmethod() function
 --SKIPIF--
 <?php
-/* $Id: zip_entry_compressionmethod.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: zip_entry_compressionmethod.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/zip_entry_filesize.phpt b/ext/zip/tests/zip_entry_filesize.phpt
index d875062..480d682 100644
--- a/ext/zip/tests/zip_entry_filesize.phpt
+++ b/ext/zip/tests/zip_entry_filesize.phpt
@@ -2,7 +2,7 @@
 zip_entry_filesize() function
 --SKIPIF--
 <?php
-/* $Id: zip_entry_filesize.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: zip_entry_filesize.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/zip_entry_name.phpt b/ext/zip/tests/zip_entry_name.phpt
index b47c89f..175321d 100644
--- a/ext/zip/tests/zip_entry_name.phpt
+++ b/ext/zip/tests/zip_entry_name.phpt
@@ -2,7 +2,7 @@
 zip_entry_name() function
 --SKIPIF--
 <?php
-/* $Id: zip_entry_name.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: zip_entry_name.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/zip_entry_open.phpt b/ext/zip/tests/zip_entry_open.phpt
index 280cb15..d243dee 100644
--- a/ext/zip/tests/zip_entry_open.phpt
+++ b/ext/zip/tests/zip_entry_open.phpt
@@ -2,7 +2,7 @@
 zip_entry_open() function
 --SKIPIF--
 <?php
-/* $Id: zip_entry_open.phpt,v 1.1.2.1 2006/11/03 16:46:19 pajoye Exp $ */
+/* $Id: zip_entry_open.phpt 222773 2006-11-03 16:46:19Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/zip_entry_read.phpt b/ext/zip/tests/zip_entry_read.phpt
index 1dc1eeb..6792f2e 100644
--- a/ext/zip/tests/zip_entry_read.phpt
+++ b/ext/zip/tests/zip_entry_read.phpt
@@ -2,7 +2,7 @@
 zip_entry_read() function
 --SKIPIF--
 <?php
-/* $Id: zip_entry_read.phpt,v 1.1.2.1 2006/11/03 16:46:19 pajoye Exp $ */
+/* $Id: zip_entry_read.phpt 222773 2006-11-03 16:46:19Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/zip_open.phpt b/ext/zip/tests/zip_open.phpt
index 6306543..24af2f5 100644
--- a/ext/zip/tests/zip_open.phpt
+++ b/ext/zip/tests/zip_open.phpt
@@ -2,7 +2,7 @@
 zip_open() function
 --SKIPIF--
 <?php
-/* $Id: zip_open.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: zip_open.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/tests/zip_open_error.phpt b/ext/zip/tests/zip_open_error.phpt
new file mode 100644
index 0000000..eaa1d97
--- /dev/null
+++ b/ext/zip/tests/zip_open_error.phpt
@@ -0,0 +1,28 @@
+--TEST--
+zip_open() error conditions
+--CREDITS--
+Birgitte Kvarme <bitta at redpill-linpro.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php
+if(!extension_loaded('zip')) die('skip');
+?>
+--FILE--
+<?php
+echo "Test case 1:";
+$zip = zip_open("");
+
+echo "Test case 2:";
+$zip = zip_open("i_dont_care_about_this_parameter", "this_is_one_to_many");
+
+echo "Test case 3:\n";
+$zip = zip_open("/non_exisitng_directory/test_procedural.zip");
+echo is_resource($zip) ? "OK" : "Failure";
+?>
+--EXPECTF--
+Test case 1:
+Warning: zip_open(): Empty string as source in %s on line %d
+Test case 2:
+Warning: zip_open() expects exactly 1 parameter, 2 given in %s on line %d
+Test case 3:
+Failure
diff --git a/ext/zip/tests/zip_read.phpt b/ext/zip/tests/zip_read.phpt
index 126fc8b..c1485b5 100644
--- a/ext/zip/tests/zip_read.phpt
+++ b/ext/zip/tests/zip_read.phpt
@@ -2,7 +2,7 @@
 zip_read() function
 --SKIPIF--
 <?php
-/* $Id: zip_read.phpt,v 1.1 2006/07/24 16:58:58 pajoye Exp $ */
+/* $Id: zip_read.phpt 216983 2006-07-24 16:58:58Z pajoye $ */
 if(!extension_loaded('zip')) die('skip');
 ?>
 --FILE--
diff --git a/ext/zip/zip_stream.c b/ext/zip/zip_stream.c
index 8a495d3..7fef0c2 100644
--- a/ext/zip/zip_stream.c
+++ b/ext/zip/zip_stream.c
@@ -1,4 +1,4 @@
-/* $Id: zip_stream.c,v 1.1.2.7 2008/07/23 11:25:50 tony2001 Exp $ */
+/* $Id: zip_stream.c 287095 2009-08-11 15:12:00Z pajoye $ */
 #ifdef HAVE_CONFIG_H
 #   include "config.h"
 #endif
@@ -35,8 +35,14 @@ static size_t php_zip_ops_read(php_stream *stream, char *buf, size_t count TSRML
 
 	if (self->za && self->zf) {
 		n = (size_t)zip_fread(self->zf, buf, (int)count);
-
-		if (n == 0) {
+		if (n < 0) {
+			int ze, se;
+			zip_file_error_get(self->zf, &ze, &se);
+			stream->eof = 1;
+			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Zip stream error: %s", zip_file_strerror(self->zf));
+			return 0;
+		}
+		if (n == 0 || n < count) {
 			stream->eof = 1;
 		} else {
 			self->cursor += n;
diff --git a/ext/zlib/config.w32 b/ext/zlib/config.w32
index 918e70e..f7f1d1b 100644
--- a/ext/zlib/config.w32
+++ b/ext/zlib/config.w32
@@ -1,4 +1,4 @@
-// $Id: config.w32,v 1.8 2004/07/17 00:21:04 pollita Exp $
+// $Id: config.w32 163483 2004-07-17 00:21:04Z pollita $
 // vim:ft=javascript
 
 ARG_ENABLE("zlib", "ZLIB support", "yes");
diff --git a/ext/zlib/config0.m4 b/ext/zlib/config0.m4
index 0e9f4cd..e8f57d8 100644
--- a/ext/zlib/config0.m4
+++ b/ext/zlib/config0.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config0.m4,v 1.17.2.1 2005/11/29 18:35:26 tony2001 Exp $
+dnl $Id: config0.m4 201617 2005-11-29 18:35:26Z tony2001 $
 dnl
 
 PHP_ARG_WITH(zlib,for ZLIB support,
diff --git a/ext/zlib/php_zlib.h b/ext/zlib/php_zlib.h
index bc944fc..a427132 100644
--- a/ext/zlib/php_zlib.h
+++ b/ext/zlib/php_zlib.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_zlib.h,v 1.42.2.1.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_zlib.h 286751 2009-08-03 18:15:30Z jani $ */
 
 #ifndef PHP_ZLIB_H
 #define PHP_ZLIB_H
@@ -35,6 +35,8 @@ ZEND_BEGIN_MODULE_GLOBALS(zlib)
 	char *output_handler;
 ZEND_END_MODULE_GLOBALS(zlib)
 
+PHPAPI ZEND_EXTERN_MODULE_GLOBALS(zlib)
+
 extern php_stream_filter_factory php_zlib_filter_factory;
 extern zend_module_entry php_zlib_module_entry;
 #define zlib_module_ptr &php_zlib_module_entry
diff --git a/ext/zlib/tests/001.phpt b/ext/zlib/tests/001.phpt
index c1e679f..2a14e4e 100644
--- a/ext/zlib/tests/001.phpt
+++ b/ext/zlib/tests/001.phpt
@@ -3,7 +3,7 @@ gzdeflate()/gzinflate()
 --SKIPIF--
 <?php if (!extension_loaded("zlib")) print "skip"; ?>
 --FILE--
-<?php /* $Id: 001.phpt,v 1.4 2004/05/19 08:45:23 helly Exp $ */
+<?php /* $Id: 001.phpt 158952 2004-05-19 08:45:46Z helly $ */
 $original = str_repeat("hallo php",4096);
 $packed=gzdeflate($original);
 echo strlen($packed)." ".strlen($original)."\n";
diff --git a/ext/zlib/tests/002.phpt b/ext/zlib/tests/002.phpt
index 90a5995..143a84b 100644
--- a/ext/zlib/tests/002.phpt
+++ b/ext/zlib/tests/002.phpt
@@ -3,7 +3,7 @@ gzcompress()/gzuncompress()
 --SKIPIF--
 <?php if (!extension_loaded("zlib")) print "skip"; ?>
 --FILE--
-<?php /* $Id: 002.phpt,v 1.3 2004/05/19 08:45:23 helly Exp $ */
+<?php /* $Id: 002.phpt 158952 2004-05-19 08:45:46Z helly $ */
 $original = str_repeat("hallo php",4096);
 $packed=gzcompress($original);
 echo strlen($packed)." ".strlen($original)."\n";
diff --git a/ext/zlib/tests/gzfilegzreadfile.phpt b/ext/zlib/tests/gzfilegzreadfile.phpt
index 36539b7..8d61f4f 100644
--- a/ext/zlib/tests/gzfilegzreadfile.phpt
+++ b/ext/zlib/tests/gzfilegzreadfile.phpt
@@ -1,7 +1,7 @@
 --TEST--
 gzfile(), gzreadfile()
 --SKIPIF--
-<?php /* $Id: gzfilegzreadfile.phpt,v 1.2 2004/05/19 08:45:23 helly Exp $ */
+<?php /* $Id: gzfilegzreadfile.phpt 158952 2004-05-19 08:45:46Z helly $ */
 if (!extension_loaded("zlib")) print "skip"; ?>
 --FILE--
 <?php
diff --git a/ext/zlib/tests/zlib_filter_deflate.phpt b/ext/zlib/tests/zlib_filter_deflate.phpt
index 0f1851e..c317020 100644
--- a/ext/zlib/tests/zlib_filter_deflate.phpt
+++ b/ext/zlib/tests/zlib_filter_deflate.phpt
@@ -3,7 +3,7 @@ zlib.deflate (with convert.base64-encode)
 --SKIPIF--
 <?php if (!extension_loaded("zlib")) print "skip"; ?>
 --FILE--
-<?php /* $Id: zlib_filter_deflate.phpt,v 1.1.2.1 2005/11/24 04:37:47 pollita Exp $ */
+<?php /* $Id: zlib_filter_deflate.phpt 201145 2005-11-24 04:37:47Z pollita $ */
 $text = 'I am the very model of a modern major general, I\'ve information vegetable, animal, and mineral.';
 
 $fp = fopen('php://stdout', 'w');
diff --git a/ext/zlib/tests/zlib_filter_deflate2.phpt b/ext/zlib/tests/zlib_filter_deflate2.phpt
new file mode 100644
index 0000000..764a760
--- /dev/null
+++ b/ext/zlib/tests/zlib_filter_deflate2.phpt
@@ -0,0 +1,16 @@
+--TEST--
+zlib.deflate (with level parameter set)
+--SKIPIF--
+<?php if (!extension_loaded("zlib")) print "skip"; ?>
+--FILE--
+<?php
+$text = 'I am the very model of a modern major general, I\'ve information vegetable, animal, and mineral.';
+
+$fp = fopen('php://stdout', 'w');
+stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, array('level' => 9));
+fwrite($fp, $text);
+fclose($fp);
+
+?> 
+--EXPECT-- 
+ËA€ DÑ«Ì΍ñ£†1´MBâíUvñ_‚(ÆELÆõÌ/•aP¹=Pié;Ò6‰fÅCe4·U9;wˆ5ý±m/ 
diff --git a/ext/zlib/tests/zlib_filter_inflate.phpt b/ext/zlib/tests/zlib_filter_inflate.phpt
index 0220c85..0a5836e 100644
--- a/ext/zlib/tests/zlib_filter_inflate.phpt
+++ b/ext/zlib/tests/zlib_filter_inflate.phpt
@@ -3,7 +3,7 @@ zlib.inflate (with convert.base64-decode)
 --SKIPIF--
 <?php if (!extension_loaded("zlib")) print "skip"; ?>
 --FILE--
-<?php /* $Id: zlib_filter_inflate.phpt,v 1.1.2.1 2005/11/24 04:37:47 pollita Exp $ */
+<?php /* $Id: zlib_filter_inflate.phpt 201145 2005-11-24 04:37:47Z pollita $ */
 $text = 'HctBDoAgDETRq8zOjfEeHKOGATG0TRpC4u1Vdn/xX4IoxkVMxgP1zA4vkJVhULk9UGkM6TvSNolmxUNlNLePVQ45O3eINf0fsQxtCxwv';
 
 $fp = fopen('php://stdout', 'w');
diff --git a/ext/zlib/tests/zlib_filter_inflate2.phpt b/ext/zlib/tests/zlib_filter_inflate2.phpt
index 028e743..b874952 100644
--- a/ext/zlib/tests/zlib_filter_inflate2.phpt
+++ b/ext/zlib/tests/zlib_filter_inflate2.phpt
@@ -3,7 +3,7 @@ zlib.inflate of gzip-encoded stream
 --SKIPIF--
 <?php if (!extension_loaded("zlib")) print "skip"; ?>
 --FILE--
-<?php /* $Id: zlib_filter_inflate2.phpt,v 1.1.2.3 2008/04/08 08:45:04 jani Exp $ */
+<?php /* $Id: zlib_filter_inflate2.phpt 256964 2008-04-08 08:45:04Z jani $ */
 
 $a = gzopen(dirname(__FILE__) . '/test.txt.gz', 'w');
 fwrite($a, "This is quite the thing ain't it\n");
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index b304356..f7dd73f 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: zlib.c,v 1.183.2.6.2.14 2009/05/28 10:14:22 lbarnaud Exp $ */
+/* $Id: zlib.c 287423 2009-08-17 17:30:32Z jani $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -993,6 +993,19 @@ static void php_gzip_output_handler(char *output, uint output_len, char **handle
 	} else {
 		do_start = (mode & PHP_OUTPUT_HANDLER_START ? 1 : 0);
 		do_end = (mode & PHP_OUTPUT_HANDLER_END ? 1 : 0);
+
+		if (do_start && !SG(headers_sent) && !SG(request_info).no_headers) {
+			switch (ZLIBG(compression_coding)) {
+				case CODING_GZIP:
+					sapi_add_header_ex(ZEND_STRL("Content-Encoding: gzip"), 1, 1 TSRMLS_CC);
+					break;
+				case CODING_DEFLATE:
+					sapi_add_header_ex(ZEND_STRL("Content-Encoding: deflate"), 1, 1 TSRMLS_CC);
+					break;
+			}
+			sapi_add_header_ex(ZEND_STRL("Vary: Accept-Encoding"), 1, 1 TSRMLS_CC);
+		}
+
 		if (php_deflate_string(output, output_len, handled_output, handled_output_len, do_start, do_end TSRMLS_CC) != SUCCESS) {
 			zend_error(E_ERROR, "Compression failed");
 		}
diff --git a/ext/zlib/zlib_filter.c b/ext/zlib/zlib_filter.c
index 55943cd..826a6ff 100644
--- a/ext/zlib/zlib_filter.c
+++ b/ext/zlib/zlib_filter.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zlib_filter.c,v 1.6.2.2.2.13 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: zlib_filter.c 287926 2009-08-31 21:18:55Z jani $ */
 
 #include "php.h"
 #include "php_zlib.h"
@@ -353,7 +353,7 @@ static php_stream_filter *php_zlib_filter_create(const char *filtername, zval *f
 
 
 		if (filterparams) {
-			zval **tmpzval;
+			zval **tmpzval, tmp;
 
 			/* filterparams can either be a scalar value to indicate compression level (shortcut method)
                Or can be a hash containing one or more of 'window', 'memory', and/or 'level' members. */
@@ -362,8 +362,6 @@ static php_stream_filter *php_zlib_filter_create(const char *filtername, zval *f
 				case IS_ARRAY:
 				case IS_OBJECT:
 					if (zend_hash_find(HASH_OF(filterparams), "memory", sizeof("memory"), (void**) &tmpzval) == SUCCESS) {
-						zval tmp;
-		
 						tmp = **tmpzval;
 						zval_copy_ctor(&tmp);
 						convert_to_long(&tmp);
@@ -377,8 +375,6 @@ static php_stream_filter *php_zlib_filter_create(const char *filtername, zval *f
 					}
 
 					if (zend_hash_find(HASH_OF(filterparams), "window", sizeof("window"), (void**) &tmpzval) == SUCCESS) {
-						zval tmp;
-		
 						tmp = **tmpzval;
 						zval_copy_ctor(&tmp);
 						convert_to_long(&tmp);
@@ -392,6 +388,8 @@ static php_stream_filter *php_zlib_filter_create(const char *filtername, zval *f
 					}
 
 					if (zend_hash_find(HASH_OF(filterparams), "level", sizeof("level"), (void**) &tmpzval) == SUCCESS) {
+						tmp = **tmpzval;
+
 						/* Psuedo pass through to catch level validating code */
 						goto factory_setlevel;
 					}
@@ -399,19 +397,16 @@ static php_stream_filter *php_zlib_filter_create(const char *filtername, zval *f
 				case IS_STRING:
 				case IS_DOUBLE:
 				case IS_LONG:
-					{
-						zval tmp;
-		
-						tmp = *filterparams;
-						zval_copy_ctor(&tmp);
-						convert_to_long(&tmp);
+					tmp = *filterparams;
 factory_setlevel:
-						/* Set compression level within reason (-1 == default, 0 == none, 1-9 == least to most compression */
-						if (Z_LVAL(tmp) < -1 || Z_LVAL(tmp) > 9) {
-							php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid compression level specified. (%ld)", Z_LVAL(tmp));
-						} else {
-							level = Z_LVAL(tmp);
-						}
+					zval_copy_ctor(&tmp);
+					convert_to_long(&tmp);
+
+					/* Set compression level within reason (-1 == default, 0 == none, 1-9 == least to most compression */
+					if (Z_LVAL(tmp) < -1 || Z_LVAL(tmp) > 9) {
+						php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid compression level specified. (%ld)", Z_LVAL(tmp));
+					} else {
+						level = Z_LVAL(tmp);
 					}
 					break;
 				default:
diff --git a/ext/zlib/zlib_fopen_wrapper.c b/ext/zlib/zlib_fopen_wrapper.c
index 286a523..239bf33 100644
--- a/ext/zlib/zlib_fopen_wrapper.c
+++ b/ext/zlib/zlib_fopen_wrapper.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: zlib_fopen_wrapper.c,v 1.46.2.1.2.7 2009/01/20 15:43:05 felipe Exp $ */
+/* $Id: zlib_fopen_wrapper.c 274035 2009-01-20 15:43:06Z felipe $ */
 
 #define _GNU_SOURCE
 
diff --git a/header b/header
index 421a3bc..10dcf12 100644
--- a/header
+++ b/header
@@ -16,4 +16,4 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: header,v 1.16.2.1.2.1 2007/01/01 19:32:09 iliaa Exp $ */
+/* $Id: header 226204 2007-01-01 19:32:10Z iliaa $ */
diff --git a/main/SAPI.c b/main/SAPI.c
index 8e65fac..e1d9a10 100644
--- a/main/SAPI.c
+++ b/main/SAPI.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: SAPI.c,v 1.202.2.7.2.19 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: SAPI.c 287423 2009-08-17 17:30:32Z jani $ */
 
 #include <ctype.h>
 #include <sys/stat.h>
@@ -32,9 +32,6 @@
 #if (HAVE_PCRE || HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
 #include "ext/pcre/php_pcre.h"
 #endif
-#if HAVE_ZLIB
-#include "ext/zlib/php_zlib.h"
-#endif
 #ifdef ZTS
 #include "TSRM.h"
 #endif
@@ -610,11 +607,12 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC)
 					ptr++;
 					len--;
 				}
-#if HAVE_ZLIB
-				if(!strncmp(ptr, "image/", sizeof("image/")-1)) {
+
+				/* Disable possible output compression for images */
+				if (!strncmp(ptr, "image/", sizeof("image/")-1)) {
 					zend_alter_ini_entry("zlib.output_compression", sizeof("zlib.output_compression"), "0", sizeof("0") - 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
 				}
-#endif
+
 				mimetype = estrdup(ptr);
 				newlen = sapi_apply_default_charset(&mimetype, len TSRMLS_CC);
 				if (!SG(sapi_headers).mimetype){
@@ -764,36 +762,6 @@ SAPI_API int sapi_send_headers(TSRMLS_D)
 		return SUCCESS;
 	}
 
-#if HAVE_ZLIB
-	/* Add output compression headers at this late stage in order to make
-	   it possible to switch it off inside the script. */
-
-	if (zend_ini_long("zlib.output_compression", sizeof("zlib.output_compression"), 0)) {
-		zval nm_zlib_get_coding_type;
-		zval *uf_result = NULL;
-
-		ZVAL_STRINGL(&nm_zlib_get_coding_type, "zlib_get_coding_type", sizeof("zlib_get_coding_type") - 1, 0);
-
-		if (call_user_function_ex(CG(function_table), NULL, &nm_zlib_get_coding_type, &uf_result, 0, NULL, 1, NULL TSRMLS_CC) != FAILURE && uf_result != NULL && Z_TYPE_P(uf_result) == IS_STRING) {
-			char buf[128];
-			int len;
-
-			assert(Z_STRVAL_P(uf_result) != NULL);
-
-			len = slprintf(buf, sizeof(buf), "Content-Encoding: %s", Z_STRVAL_P(uf_result));
-			if (len <= 0 || sapi_add_header(buf, len, 1) == FAILURE) {
-				return FAILURE;
-			}
-			if (sapi_add_header_ex("Vary: Accept-Encoding", sizeof("Vary: Accept-Encoding") - 1, 1, 0 TSRMLS_CC) == FAILURE) {
-				return FAILURE;			
-			}
-		}
-		if (uf_result != NULL) {
-			zval_ptr_dtor(&uf_result);
-		}
-	}
-#endif
-
 	/* Success-oriented.  We set headers_sent to 1 here to avoid an infinite loop
 	 * in case of an error situation.
 	 */
diff --git a/main/SAPI.h b/main/SAPI.h
index 6d49766..16f125c 100644
--- a/main/SAPI.h
+++ b/main/SAPI.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: SAPI.h,v 1.114.2.1.2.5 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: SAPI.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SAPI_H
 #define SAPI_H
diff --git a/main/alloca.c b/main/alloca.c
index ea78856..ca63ee3 100644
--- a/main/alloca.c
+++ b/main/alloca.c
@@ -21,7 +21,7 @@
    allocating any.  It is a good idea to use alloca(0) in
    your main control loop, etc. to force garbage collection.  */
 
-/* $Id: alloca.c,v 1.8 2005/01/09 21:05:06 sniper Exp $ */
+/* $Id: alloca.c 176767 2005-01-09 21:05:06Z sniper $ */
 
 #include <php_config.h>
 
diff --git a/main/build-defs.h.in b/main/build-defs.h.in
index 4e2dca3..912cc08 100644
--- a/main/build-defs.h.in
+++ b/main/build-defs.h.in
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: build-defs.h.in,v 1.15.2.2.2.2 2007/07/15 15:10:04 jani Exp $ */
+/* $Id: build-defs.h.in 239769 2007-07-15 15:10:04Z jani $ */
 
 #define CONFIGURE_COMMAND "@CONFIGURE_COMMAND@"
 #define PHP_ADA_INCLUDE		""
diff --git a/main/config.w32.h b/main/config.w32.h
index 51a66b9..8c1fd7a 100644
--- a/main/config.w32.h
+++ b/main/config.w32.h
@@ -2,7 +2,7 @@
 	Build Configuration for Win32.
 	This has only been tested with MS VisualC++ 6 (and later).
 
-	$Id: config.w32.h,v 1.85.4.1.2.3 2007/07/11 17:36:56 johannes Exp $
+	$Id: config.w32.h 239522 2007-07-11 17:36:56Z johannes $
 */
 
 /* Default PHP / PEAR directories */
diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c
index d2bc9a4..0e25431 100644
--- a/main/fopen_wrappers.c
+++ b/main/fopen_wrappers.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: fopen_wrappers.c,v 1.175.2.3.2.23 2009/02/10 16:14:27 iliaa Exp $ */
+/* $Id: fopen_wrappers.c 275506 2009-02-10 16:14:27Z iliaa $ */
 
 /* {{{ includes
  */
diff --git a/main/fopen_wrappers.h b/main/fopen_wrappers.h
index 42aa96a..fcde5a5 100644
--- a/main/fopen_wrappers.h
+++ b/main/fopen_wrappers.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: fopen_wrappers.h,v 1.44.2.1.2.6 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: fopen_wrappers.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef FOPEN_WRAPPERS_H
 #define FOPEN_WRAPPERS_H
diff --git a/main/internal_functions.c.in b/main/internal_functions.c.in
index 2ee27f8..dc4ec55 100644
--- a/main/internal_functions.c.in
+++ b/main/internal_functions.c.in
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: internal_functions.c.in,v 1.30.2.1.2.2 2007/01/01 19:32:09 iliaa Exp $ */
+/* $Id: internal_functions.c.in 226204 2007-01-01 19:32:10Z iliaa $ */
 
 #include "php.h"
 #include "php_main.h"
diff --git a/main/internal_functions_nw.c b/main/internal_functions_nw.c
index 467615f..f28461a 100644
--- a/main/internal_functions_nw.c
+++ b/main/internal_functions_nw.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: internal_functions_nw.c,v 1.9.2.1.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: internal_functions_nw.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* {{{ includes
  */
diff --git a/main/internal_functions_win32.c b/main/internal_functions_win32.c
index 4eeb142..8d8f728 100644
--- a/main/internal_functions_win32.c
+++ b/main/internal_functions_win32.c
@@ -17,7 +17,7 @@
 	+----------------------------------------------------------------------+
 */
 
-/* $Id: internal_functions_win32.c,v 1.87.2.1.2.5 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: internal_functions_win32.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* {{{ includes
  */
diff --git a/main/logos.h b/main/logos.h
index 2a16d0c..58d65f2 100644
--- a/main/logos.h
+++ b/main/logos.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: logos.h,v 1.14.2.3.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: logos.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define CONTEXT_TYPE_IMAGE_GIF "Content-Type: image/gif"
 
diff --git a/main/main.c b/main/main.c
index c746940..320dcb4 100644
--- a/main/main.c
+++ b/main/main.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: main.c,v 1.640.2.23.2.70 2009/05/04 19:55:42 derick Exp $ */
+/* $Id: main.c 283946 2009-07-12 16:42:16Z iliaa $ */
 
 /* {{{ includes
  */
@@ -309,8 +309,7 @@ static PHP_INI_DISP(display_errors_mode)
 static PHP_INI_MH(OnUpdateErrorLog)
 {
 	/* Only do the safemode/open_basedir check at runtime */
-	if ((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) &&
-		strcmp(new_value, "syslog")) {
+	if ((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) && new_value && strcmp(new_value, "syslog")) {
 		if (PG(safe_mode) && (!php_checkuid(new_value, NULL, CHECKUID_CHECK_FILE_AND_DIR))) {
 			return FAILURE;
 		}
@@ -469,6 +468,20 @@ static int module_initialized = 0;
 static int module_startup = 1;
 static int module_shutdown = 0;
 
+/* {{{ php_during_module_startup */
+static int php_during_module_startup(void)
+{
+	return module_startup;
+}
+/* }}} */
+
+/* {{{ php_during_module_shutdown */
+static int php_during_module_shutdown(void)
+{
+	return module_shutdown;
+}
+/* }}} */
+
 /* {{{ php_log_err
  */
 PHPAPI void php_log_err(char *log_message TSRMLS_DC)
@@ -491,7 +504,7 @@ PHPAPI void php_log_err(char *log_message TSRMLS_DC)
 			char *error_time_str;
 
 			time(&error_time);
-			error_time_str = php_format_date("d-M-Y H:i:s", 11, error_time, 1 TSRMLS_CC);
+			error_time_str = php_format_date("d-M-Y H:i:s", 11, error_time, php_during_module_startup() TSRMLS_CC);
 			len = spprintf(&tmp, 0, "[%s] %s%s", error_time_str, log_message, PHP_EOL);
 #ifdef PHP_WIN32
 			php_flock(fd, 2);
@@ -540,24 +553,6 @@ PHPAPI int php_printf(const char *format, ...)
 }
 /* }}} */
 
-/* {{{ php_verror helpers */
-
-/* {{{ php_during_module_startup */
-static int php_during_module_startup(void)
-{
-	return module_startup;
-}
-/* }}} */
-
-/* {{{ php_during_module_shutdown */
-static int php_during_module_shutdown(void)
-{
-	return module_shutdown;
-}
-/* }}} */
-
-/* }}} */
-
 /* {{{ php_verror */
 /* php_verror is called from php_error_docref<n> functions.
  * Its purpose is to unify error messages and automatically generate clickable
diff --git a/main/mergesort.c b/main/mergesort.c
index 9954d76..246d955 100644
--- a/main/mergesort.c
+++ b/main/mergesort.c
@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  */
 
-/* $Id: mergesort.c,v 1.15 2004/09/23 15:57:30 hyanantha Exp $ */
+/* $Id: mergesort.c 169047 2004-09-23 15:57:30Z hyanantha $ */
 
 #if defined(LIBC_SCCS) && !defined(lint)
 static char sccsid[] = "@(#)merge.c	8.2 (Berkeley) 2/14/94";
diff --git a/main/network.c b/main/network.c
index c1ce25a..4ac6333 100644
--- a/main/network.c
+++ b/main/network.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: network.c,v 1.118.2.2.2.20 2009/05/04 14:46:37 tony2001 Exp $ */
+/* $Id: network.c 288034 2009-09-04 07:59:48Z srinatar $ */
 
 /*#define DEBUG_MAIN_NETWORK 1*/
 
@@ -308,7 +308,7 @@ PHPAPI int php_network_connect_socket(php_socket_t sockfd,
 
 	SET_SOCKET_BLOCKING_MODE(sockfd, orig_flags);
 	
-	if ((n = connect(sockfd, addr, addrlen)) < 0) {
+	if ((n = connect(sockfd, addr, addrlen)) != 0) {
 		error = php_socket_errno();
 
 		if (error_code) {
@@ -342,7 +342,7 @@ PHPAPI int php_network_connect_socket(php_socket_t sockfd,
 		   BSD-derived systems set errno correctly
 		   Solaris returns -1 from getsockopt in case of error
 		   */
-		if (getsockopt(sockfd, SOL_SOCKET, SO_ERROR, (char*)&error, &len) < 0) {
+		if (getsockopt(sockfd, SOL_SOCKET, SO_ERROR, (char*)&error, &len) != 0) {
 			ret = -1;
 		}
 	} else {
@@ -369,7 +369,7 @@ ok:
 	if (asynchronous) {
 		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Asynchronous connect() not supported on this platform");
 	}
-	return connect(sockfd, addr, addrlen);
+	return (connect(sockfd, addr, addrlen) == 0) ? 0 : -1;
 #endif
 }
 /* }}} */
@@ -709,7 +709,7 @@ PHPAPI php_socket_t php_network_accept_incoming(php_socket_t srvsock,
 
 		clisock = accept(srvsock, (struct sockaddr*)&sa, &sl);
 
-		if (clisock >= 0) {
+		if (clisock != SOCK_ERR) {
 			php_network_populate_name_from_sockaddr((struct sockaddr*)&sa, sl,
 					textaddr, textaddrlen,
 					addr, addrlen
@@ -861,7 +861,7 @@ skip_bind:
 					timeout ? &working_timeout : NULL,
 					error_string, error_code);
 
-			if (n != SOCK_CONN_ERR) {
+			if (n != -1) {
 				goto connected;
 			}
 
diff --git a/main/output.c b/main/output.c
index ba4d7cc..56ce6c1 100644
--- a/main/output.c
+++ b/main/output.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: output.c,v 1.167.2.3.2.9 2009/03/26 00:00:18 cseiler Exp $ */
+/* $Id: output.c 277793 2009-03-26 00:00:18Z cseiler $ */
 
 #include "php.h"
 #include "ext/standard/head.h"
diff --git a/main/php.h b/main/php.h
index dd47c5f..db5a0e4 100644
--- a/main/php.h
+++ b/main/php.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php.h,v 1.221.2.4.2.10 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_H
 #define PHP_H
diff --git a/main/php3_compat.h b/main/php3_compat.h
index 56bf565..88b653a 100644
--- a/main/php3_compat.h
+++ b/main/php3_compat.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php3_compat.h,v 1.20.2.1.2.3 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php3_compat.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP3_COMPAT_H
 #define PHP3_COMPAT_H
diff --git a/main/php_compat.h b/main/php_compat.h
index 346a60a..ea8523c 100644
--- a/main/php_compat.h
+++ b/main/php_compat.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_compat.h,v 1.25.2.3.2.7 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_compat.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_COMPAT_H
 #define PHP_COMPAT_H
diff --git a/main/php_config.h.in b/main/php_config.h.in
index c72ba22..e5bff3b 100644
--- a/main/php_config.h.in
+++ b/main/php_config.h.in
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: acconfig.h,v 1.40.2.1.2.3 2008/12/31 11:17:32 sebastian Exp $ */
+/* $Id: acconfig.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_API
 #define ZEND_DLEXPORT
diff --git a/main/php_content_types.c b/main/php_content_types.c
index 1c3bd5b..c476288 100644
--- a/main/php_content_types.c
+++ b/main/php_content_types.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_content_types.c,v 1.32.2.1.2.6 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_content_types.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "SAPI.h"
diff --git a/main/php_content_types.h b/main/php_content_types.h
index a433a2c..a01d5a8 100644
--- a/main/php_content_types.h
+++ b/main/php_content_types.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_content_types.h,v 1.12.2.1.2.3 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_content_types.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_CONTENT_TYPES_H
 #define PHP_CONTENT_TYPES_H
diff --git a/main/php_globals.h b/main/php_globals.h
index 9876306..3ccaf86 100644
--- a/main/php_globals.h
+++ b/main/php_globals.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_globals.h,v 1.98.2.1.2.9 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_globals.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_GLOBALS_H
 #define PHP_GLOBALS_H
diff --git a/main/php_ini.c b/main/php_ini.c
index cfa8503..3afff11 100644
--- a/main/php_ini.c
+++ b/main/php_ini.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_ini.c,v 1.136.2.4.2.19 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_ini.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "ext/standard/info.h"
diff --git a/main/php_ini.h b/main/php_ini.h
index 0ac3464..8d361ff 100644
--- a/main/php_ini.h
+++ b/main/php_ini.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_ini.h,v 1.45.2.3.2.5 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_ini.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_INI_H
 #define PHP_INI_H
diff --git a/main/php_logos.c b/main/php_logos.c
index 02cde06..eec1157 100644
--- a/main/php_logos.c
+++ b/main/php_logos.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_logos.c,v 1.19.2.1.2.7 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_logos.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "logos.h"
diff --git a/main/php_logos.h b/main/php_logos.h
index b64c1d1..70b5e5f 100644
--- a/main/php_logos.h
+++ b/main/php_logos.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_logos.h,v 1.9.2.1.2.5 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_logos.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #ifndef _PHP_LOGOS_H
diff --git a/main/php_main.h b/main/php_main.h
index 86a144b..67f0a8f 100644
--- a/main/php_main.h
+++ b/main/php_main.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_main.h,v 1.34.2.1.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_main.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_MAIN_H
 #define PHP_MAIN_H
diff --git a/main/php_memory_streams.h b/main/php_memory_streams.h
index ddd6aa7..1f2bf6a 100644
--- a/main/php_memory_streams.h
+++ b/main/php_memory_streams.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_memory_streams.h,v 1.13.2.1.2.5 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_memory_streams.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_MEMORY_STREAM_H
 #define PHP_MEMORY_STREAM_H
diff --git a/main/php_network.h b/main/php_network.h
index dca01b6..4300afa 100644
--- a/main/php_network.h
+++ b/main/php_network.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_network.h,v 1.56.2.1.2.4 2009/01/07 20:41:47 felipe Exp $ */
+/* $Id: php_network.h 273018 2009-01-07 20:41:47Z felipe $ */
 
 #ifndef _PHP_NETWORK_H
 #define _PHP_NETWORK_H
diff --git a/main/php_open_temporary_file.c b/main/php_open_temporary_file.c
index 91a472d..9c471ec 100644
--- a/main/php_open_temporary_file.c
+++ b/main/php_open_temporary_file.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_open_temporary_file.c,v 1.34.2.1.2.12 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_open_temporary_file.c 282742 2009-06-25 01:35:05Z iliaa $ */
 
 #include "php.h"
 
@@ -199,8 +199,15 @@ PHPAPI const char* php_get_temporary_directory(void)
 	/* On Unix use the (usual) TMPDIR environment variable. */
 	{
 		char* s = getenv("TMPDIR");
-		if (s) {
-			temporary_directory = strdup(s);
+		if (s && *s) {
+			int len = strlen(s);
+
+			if (s[len - 1] == DEFAULT_SLASH) {
+				temporary_directory = zend_strndup(s, len - 1);
+			} else {
+				temporary_directory = zend_strndup(s, len);
+			}
+
 			return temporary_directory;
 		}
 	}
diff --git a/main/php_open_temporary_file.h b/main/php_open_temporary_file.h
index b756469..e2b44e8 100644
--- a/main/php_open_temporary_file.h
+++ b/main/php_open_temporary_file.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_open_temporary_file.h,v 1.13.2.1.2.6 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_open_temporary_file.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_OPEN_TEMPORARY_FILE_H
 #define PHP_OPEN_TEMPORARY_FILE_H
diff --git a/main/php_output.h b/main/php_output.h
index 8aab620..6af8cb6 100644
--- a/main/php_output.h
+++ b/main/php_output.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_output.h,v 1.53.2.1.2.3 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_output.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_OUTPUT_H
 #define PHP_OUTPUT_H
diff --git a/main/php_reentrancy.h b/main/php_reentrancy.h
index 2c15621..f64aafc 100644
--- a/main/php_reentrancy.h
+++ b/main/php_reentrancy.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_reentrancy.h,v 1.23.2.1.2.3 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_reentrancy.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_REENTRANCY_H
 #define PHP_REENTRANCY_H
diff --git a/main/php_regex.h b/main/php_regex.h
index b00b101..f1016c2 100644
--- a/main/php_regex.h
+++ b/main/php_regex.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_regex.h,v 1.16.2.1.2.3 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_regex.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_REGEX_H
 #define PHP_REGEX_H
diff --git a/main/php_scandir.c b/main/php_scandir.c
index e832fa8..6d78805 100644
--- a/main/php_scandir.c
+++ b/main/php_scandir.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_scandir.c,v 1.12.2.1.2.8 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_scandir.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_scandir.h"
diff --git a/main/php_scandir.h b/main/php_scandir.h
index eb097d1..b9c7f90 100644
--- a/main/php_scandir.h
+++ b/main/php_scandir.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_scandir.h,v 1.12.2.1.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_scandir.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SCANDIR_H
 #define PHP_SCANDIR_H
diff --git a/main/php_sprintf.c b/main/php_sprintf.c
index 76d61b7..ff4313d 100644
--- a/main/php_sprintf.c
+++ b/main/php_sprintf.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_sprintf.c,v 1.23.2.1.2.4 2009/05/14 08:21:38 dmitry Exp $ */
+/* $Id: php_sprintf.c 280500 2009-05-14 08:21:38Z dmitry $ */
 
 #include <stdio.h>
 #include <stdarg.h>
diff --git a/main/php_streams.h b/main/php_streams.h
index 2f6a87d..e40d6cc 100755
--- a/main/php_streams.h
+++ b/main/php_streams.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_streams.h,v 1.103.2.1.2.11 2009/04/19 17:10:52 lbarnaud Exp $ */
+/* $Id: php_streams.h 279003 2009-04-19 17:10:52Z lbarnaud $ */
 
 #ifndef PHP_STREAMS_H
 #define PHP_STREAMS_H
diff --git a/main/php_syslog.h b/main/php_syslog.h
index 48933ad..084e85d 100644
--- a/main/php_syslog.h
+++ b/main/php_syslog.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_syslog.h,v 1.12.2.1.2.3 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_syslog.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_SYSLOG_H
 #define PHP_SYSLOG_H
diff --git a/main/php_ticks.c b/main/php_ticks.c
index 21d10f2..7cb2bc9 100644
--- a/main/php_ticks.c
+++ b/main/php_ticks.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_ticks.c,v 1.20.2.1.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_ticks.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_ticks.h"
diff --git a/main/php_ticks.h b/main/php_ticks.h
index a51e6d9..92fcbea 100644
--- a/main/php_ticks.h
+++ b/main/php_ticks.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_ticks.h,v 1.14.2.1.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_ticks.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_TICKS_H
 #define PHP_TICKS_H
diff --git a/main/php_variables.c b/main/php_variables.c
index 2f3098c..c744095 100644
--- a/main/php_variables.c
+++ b/main/php_variables.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_variables.c,v 1.104.2.10.2.15 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_variables.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdio.h>
 #include "php.h"
diff --git a/main/php_variables.h b/main/php_variables.h
index 6b16028..e7b3af9 100644
--- a/main/php_variables.h
+++ b/main/php_variables.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_variables.h,v 1.22.2.3.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: php_variables.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_VARIABLES_H
 #define PHP_VARIABLES_H
diff --git a/main/php_version.h b/main/php_version.h
index 24e47f4..1c11828 100644
--- a/main/php_version.h
+++ b/main/php_version.h
@@ -2,7 +2,7 @@
 /* edit configure.in to change version number */
 #define PHP_MAJOR_VERSION 5
 #define PHP_MINOR_VERSION 2
-#define PHP_RELEASE_VERSION 10
+#define PHP_RELEASE_VERSION 11
 #define PHP_EXTRA_VERSION ""
-#define PHP_VERSION "5.2.10"
-#define PHP_VERSION_ID 50210
+#define PHP_VERSION "5.2.11"
+#define PHP_VERSION_ID 50211
diff --git a/main/reentrancy.c b/main/reentrancy.c
index b514b51..f60f580 100644
--- a/main/reentrancy.c
+++ b/main/reentrancy.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: reentrancy.c,v 1.43.2.1.2.4 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: reentrancy.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <sys/types.h>
 #include <string.h>
diff --git a/main/rfc1867.c b/main/rfc1867.c
index 1305f89..bae45e7 100644
--- a/main/rfc1867.c
+++ b/main/rfc1867.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: rfc1867.c,v 1.173.2.1.2.15 2008/12/31 11:17:47 sebastian Exp $ */
+/* $Id: rfc1867.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /*
  *  This product includes software developed by the Apache Group
diff --git a/main/rfc1867.h b/main/rfc1867.h
index e32f516..1d5e767 100644
--- a/main/rfc1867.h
+++ b/main/rfc1867.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: rfc1867.h,v 1.13.2.1.2.5 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: rfc1867.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef RFC1867_H
 #define RFC1867_H
diff --git a/main/safe_mode.c b/main/safe_mode.c
index 4928399..83e8a25 100644
--- a/main/safe_mode.c
+++ b/main/safe_mode.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: safe_mode.c,v 1.62.2.1.2.18 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: safe_mode.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/main/safe_mode.h b/main/safe_mode.h
index 02f1b83..b701699 100644
--- a/main/safe_mode.h
+++ b/main/safe_mode.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: safe_mode.h,v 1.13.2.1.2.4 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: safe_mode.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SAFE_MODE_H
 #define SAFE_MODE_H
diff --git a/main/snprintf.c b/main/snprintf.c
index f9150ca..c508768 100644
--- a/main/snprintf.c
+++ b/main/snprintf.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: snprintf.c,v 1.37.2.4.2.18 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: snprintf.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #include "php.h"
diff --git a/main/snprintf.h b/main/snprintf.h
index 35b09a8..f32df88 100644
--- a/main/snprintf.h
+++ b/main/snprintf.h
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: snprintf.h,v 1.32.2.3.2.7 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: snprintf.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /*
 
diff --git a/main/spprintf.c b/main/spprintf.c
index 8b81003..bf0c37c 100644
--- a/main/spprintf.c
+++ b/main/spprintf.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: spprintf.c,v 1.25.2.2.2.16 2009/03/30 19:59:07 iliaa Exp $ */
+/* $Id: spprintf.c 278043 2009-03-30 19:59:08Z iliaa $ */
 
 /* This is the spprintf implementation.
  * It has emerged from apache snprintf. See original header:
diff --git a/main/spprintf.h b/main/spprintf.h
index d63816e..e9e5aaf 100644
--- a/main/spprintf.h
+++ b/main/spprintf.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spprintf.h,v 1.11.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: spprintf.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* 
 
diff --git a/main/streams/cast.c b/main/streams/cast.c
index 5e31aaa..53b5d91 100644
--- a/main/streams/cast.c
+++ b/main/streams/cast.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: cast.c,v 1.12.2.1.2.6 2009/06/03 08:59:19 kalle Exp $ */
+/* $Id: cast.c 281581 2009-06-03 08:59:19Z kalle $ */
 
 #define _GNU_SOURCE
 #include "php.h"
diff --git a/main/streams/filter.c b/main/streams/filter.c
index b74d2de..244e839 100644
--- a/main/streams/filter.c
+++ b/main/streams/filter.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: filter.c,v 1.17.2.3.2.14 2009/01/08 17:03:42 lbarnaud Exp $ */
+/* $Id: filter.c 273088 2009-01-08 17:03:42Z lbarnaud $ */
 
 #include "php.h"
 #include "php_globals.h"
diff --git a/main/streams/memory.c b/main/streams/memory.c
index 512d809..95b054d 100644
--- a/main/streams/memory.c
+++ b/main/streams/memory.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: memory.c,v 1.8.2.6.2.21 2009/05/16 20:28:02 lbarnaud Exp $ */
+/* $Id: memory.c 280638 2009-05-16 20:28:02Z lbarnaud $ */
 
 #define _GNU_SOURCE
 #include "php.h"
diff --git a/main/streams/mmap.c b/main/streams/mmap.c
index 71fb2e6..66dc17b 100644
--- a/main/streams/mmap.c
+++ b/main/streams/mmap.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mmap.c,v 1.8.2.1.2.4 2009/05/17 14:59:24 lbarnaud Exp $ */
+/* $Id: mmap.c 280679 2009-05-17 14:59:24Z lbarnaud $ */
 
 /* Memory Mapping interface for streams */
 #include "php.h"
diff --git a/main/streams/php_stream_context.h b/main/streams/php_stream_context.h
index 995d415..d29d474 100644
--- a/main/streams/php_stream_context.h
+++ b/main/streams/php_stream_context.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_stream_context.h,v 1.11.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_stream_context.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Stream context and status notification related definitions */
 
diff --git a/main/streams/php_stream_filter_api.h b/main/streams/php_stream_filter_api.h
index d4030d6..7815a0f 100644
--- a/main/streams/php_stream_filter_api.h
+++ b/main/streams/php_stream_filter_api.h
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_stream_filter_api.h,v 1.13.2.1.2.5 2009/01/08 17:03:42 lbarnaud Exp $ */
+/* $Id: php_stream_filter_api.h 273088 2009-01-08 17:03:42Z lbarnaud $ */
 
 /* The filter API works on the principle of "Bucket-Brigades".  This is
  * partially inspired by the Apache 2 method of doing things, although
diff --git a/main/streams/php_stream_mmap.h b/main/streams/php_stream_mmap.h
index 7132d57..26806c2 100644
--- a/main/streams/php_stream_mmap.h
+++ b/main/streams/php_stream_mmap.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_stream_mmap.h,v 1.5.2.1.2.4 2009/05/17 14:59:24 lbarnaud Exp $ */
+/* $Id: php_stream_mmap.h 280679 2009-05-17 14:59:24Z lbarnaud $ */
 
 /* Memory Mapping interface for streams.
  * The intention is to provide a uniform interface over the most common
diff --git a/main/streams/php_stream_plain_wrapper.h b/main/streams/php_stream_plain_wrapper.h
index 262f3f5..957f09f 100644
--- a/main/streams/php_stream_plain_wrapper.h
+++ b/main/streams/php_stream_plain_wrapper.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_stream_plain_wrapper.h,v 1.7.2.2.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_stream_plain_wrapper.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* definitions for the plain files wrapper */
 
diff --git a/main/streams/php_stream_transport.h b/main/streams/php_stream_transport.h
index 7bafbbd..a4f1713 100644
--- a/main/streams/php_stream_transport.h
+++ b/main/streams/php_stream_transport.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_stream_transport.h,v 1.10.2.1.2.6 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_stream_transport.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #if HAVE_SYS_SOCKET_H
 # include <sys/socket.h>
diff --git a/main/streams/php_stream_userspace.h b/main/streams/php_stream_userspace.h
index 3016c15..fcede03 100644
--- a/main/streams/php_stream_userspace.h
+++ b/main/streams/php_stream_userspace.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_stream_userspace.h,v 1.5.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_stream_userspace.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 /* for user-space streams */
diff --git a/main/streams/php_streams_int.h b/main/streams/php_streams_int.h
index 4b98268..fccd5cd 100644
--- a/main/streams/php_streams_int.h
+++ b/main/streams/php_streams_int.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_streams_int.h,v 1.7.2.2.2.4 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_streams_int.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #if ZEND_DEBUG
diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c
index d70f5f9..dcfbfbf 100644
--- a/main/streams/plain_wrapper.c
+++ b/main/streams/plain_wrapper.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: plain_wrapper.c,v 1.52.2.6.2.32 2009/02/10 16:14:27 iliaa Exp $ */
+/* $Id: plain_wrapper.c 275506 2009-02-10 16:14:27Z iliaa $ */
 
 #include "php.h"
 #include "php_globals.h"
diff --git a/main/streams/streams.c b/main/streams/streams.c
index 4ccf4a7..b89c874 100755
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: streams.c,v 1.82.2.6.2.38 2009/05/17 14:59:24 lbarnaud Exp $ */
+/* $Id: streams.c 280679 2009-05-17 14:59:24Z lbarnaud $ */
 
 #define _GNU_SOURCE
 #include "php.h"
diff --git a/main/streams/transports.c b/main/streams/transports.c
index fb337a2..68d0d6b 100644
--- a/main/streams/transports.c
+++ b/main/streams/transports.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: transports.c,v 1.16.2.1.2.6 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: transports.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_streams_int.h"
diff --git a/main/streams/userspace.c b/main/streams/userspace.c
index 16d433c..4e3e8cc 100644
--- a/main/streams/userspace.c
+++ b/main/streams/userspace.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: userspace.c,v 1.31.2.3.2.10 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: userspace.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_globals.h"
diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c
index 5e7e41a..edc028a 100644
--- a/main/streams/xp_socket.c
+++ b/main/streams/xp_socket.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: xp_socket.c,v 1.33.2.2.2.15 2009/02/08 16:54:43 iliaa Exp $ */
+/* $Id: xp_socket.c 288034 2009-09-04 07:59:48Z srinatar $ */
 
 #include "php.h"
 #include "ext/standard/file.h"
@@ -181,6 +181,10 @@ static int php_sockop_close(php_stream *stream, int close_handle TSRMLS_DC)
 
 	if (close_handle) {
 
+#ifdef PHP_WIN32
+		if (sock->socket == -1)
+			sock->socket = SOCK_ERR;
+#endif
 		if (sock->socket != SOCK_ERR) {
 #ifdef PHP_WIN32
 			/* prevent more data from coming in */
@@ -226,10 +230,12 @@ static inline int sock_sendto(php_netstream_data_t *sock, char *buf, size_t bufl
 		struct sockaddr *addr, socklen_t addrlen
 		TSRMLS_DC)
 {
+	int ret;
 	if (addr) {
-		return sendto(sock->socket, buf, buflen, flags, addr, addrlen);
+		ret = sendto(sock->socket, buf, buflen, flags, addr, addrlen);
+		return (ret == SOCK_CONN_ERR) ? -1 : ret;
 	}
-	return send(sock->socket, buf, buflen, flags);
+	return ((ret = send(sock->socket, buf, buflen, flags)) == SOCK_CONN_ERR) ? -1 : ret;
 }
 
 static inline int sock_recvfrom(php_netstream_data_t *sock, char *buf, size_t buflen, int flags,
@@ -244,10 +250,12 @@ static inline int sock_recvfrom(php_netstream_data_t *sock, char *buf, size_t bu
 
 	if (want_addr) {
 		ret = recvfrom(sock->socket, buf, buflen, flags, (struct sockaddr*)&sa, &sl);
+		ret = (ret == SOCK_CONN_ERR) ? -1 : ret;
 		php_network_populate_name_from_sockaddr((struct sockaddr*)&sa, sl,
 			textaddr, textaddrlen, addr, addrlen TSRMLS_CC);
 	} else {
 		ret = recv(sock->socket, buf, buflen, flags);
+		ret = (ret == SOCK_CONN_ERR) ? -1 : ret;
 	}
 
 	return ret;
@@ -281,7 +289,7 @@ static int php_sockop_set_option(php_stream *stream, int option, int value, void
 				if (sock->socket == -1) {
 					alive = 0;
 				} else if (php_pollfd_for(sock->socket, PHP_POLLREADABLE|POLLPRI, &tv) > 0) {
-					if (0 >= recv(sock->socket, &buf, sizeof(buf), MSG_PEEK) && php_socket_errno() != EWOULDBLOCK) {
+					if (recv(sock->socket, &buf, sizeof(buf), MSG_PEEK) != SOCK_CONN_ERR && php_socket_errno() != EWOULDBLOCK) {
 						alive = 0;
 					}
 				}
@@ -312,7 +320,7 @@ static int php_sockop_set_option(php_stream *stream, int option, int value, void
 
 			switch (xparam->op) {
 				case STREAM_XPORT_OP_LISTEN:
-					xparam->outputs.returncode = listen(sock->socket, 5);
+					xparam->outputs.returncode = (listen(sock->socket, 5) == 0) ?  0: -1;
 					return PHP_STREAM_OPTION_RETURN_OK;
 
 				case STREAM_XPORT_OP_GET_NAME:
diff --git a/main/strlcat.c b/main/strlcat.c
index b431915..0e24fda 100644
--- a/main/strlcat.c
+++ b/main/strlcat.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: strlcat.c,v 1.13.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: strlcat.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/main/strlcpy.c b/main/strlcpy.c
index 61d5537..a4a6393 100644
--- a/main/strlcpy.c
+++ b/main/strlcpy.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: strlcpy.c,v 1.13.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: strlcpy.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/main/win95nt.h b/main/win95nt.h
index cd23370..58d75b6 100644
--- a/main/win95nt.h
+++ b/main/win95nt.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: win95nt.h,v 1.20.2.2.2.4 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: win95nt.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Defines and types for Windows 95/NT */
 #define HAVE_DECLARED_TIMEZONE
diff --git a/makedist b/makedist
index 3f67a49..84ab743 100755
--- a/makedist
+++ b/makedist
@@ -1,30 +1,27 @@
 #!/bin/sh
 #
-# Distribution generator for CVS based packages.
+# Distribution generator for SVN based packages.
 # To work, this script needs a consistent tagging of all releases.
 # Each release of a package should have a tag of the form
 #
 #  <package>_<version>
 #
-# where <package> is the package name and the CVS module
+# where <package> is the package name and the SVN module
 # and <version> s the version number with underscores instead of dots.
 #
-# For example: cvs tag php_5_0_1
+# For example: svn cp $PHPROOT/php/php-src/trunk $PHPROOT/php/php-src/tags/php_5_0_1
 #
 # The distribution ends up in a .tar.gz file that contains the distribution
 # in a directory called <package>-<version>.  The distribution contains all
-# directories from the CVS module except the one called "nodist", but only
+# directories from the SVN module except the one called "nodist", but only
 # the files INSTALL, README and config* are included.
-#
-# Since you can no longer set the CVS password via an env variable, you
-# need to have previously done a cvs login for the server and user id
-# this script uses so it will have an entry in your ~/.cvspasswd file.
+# A .tar.bz2 file is also created.
 #
 # Usage: makedist <package> <version>
 #
 # Written by Stig Bakken <ssb at guardian.no> 1997-05-28.
 #
-# $Id: makedist,v 1.31.6.1 2006/05/12 14:54:10 iliaa Exp $
+# $Id: makedist 284086 2009-07-14 21:49:36Z gwynne $
 #
 
 if test "$#" != "2"; then
@@ -44,8 +41,8 @@ if test "${1}" = "1" -a "${2}" -lt "28"; then
 fi
 IFS="$old_IFS"
 
-PHPROOT=:pserver:cvsread at cvs.php.net:/repository
-PHPMOD=php-src
+PHPROOT=http://svn.php.net/repository
+PHPMOD=php/php-src
 LT_TARGETS='ltconfig ltmain.sh config.guess config.sub'
 
 if echo '\c' | grep -s c >/dev/null 2>&1
@@ -62,7 +59,7 @@ MY_OLDPWD=`pwd`
 # the destination .tar.gz file
 ARCHIVE=$MY_OLDPWD/$PKG-$VER.tar
 
-# temporary directory used to check out files from CVS
+# temporary directory used to check out files from SVN
 DIR=$PKG-$VER
 DIRPATH=$MY_OLDPWD/$DIR
 
@@ -72,28 +69,28 @@ if test -d "$DIRPATH"; then
     exit 1
 fi
 
-# version part of the CVS release tag
-CVSVER=`echo $VER | sed -e 's/[\.\-]/_/g'`
+# version part of the SVN release tag
+SVNVER=`echo $VER | sed -e 's/[\.\-]/_/g'`
 
-# CVS release tag
-if test "$VER" != "HEAD"; then
-  CVSTAG=${PKG}_$CVSVER
+# SVN release tag
+if test "$VER" != "HEAD" -a "$VER" != "trunk"; then
+  SVNTAG=tags/${PKG}_$SVNVER
 else
-  CVSTAG=HEAD
+  SVNTAG=trunk
 fi
 
-if test ! -d $DIRPATH; then
-    mkdir -p $DIRPATH || exit 2
-fi
+#if test ! -d $DIRPATH; then
+#    mkdir -p $DIRPATH || exit 2
+#fi
 
 # Export PHP
-$ECHO_N "makedist: exporting tag '$CVSTAG' from '$PHPMOD'...$ECHO_C"
-cvs -z 9 -d $PHPROOT export -d $DIR -r $CVSTAG $PHPMOD || exit 4
+$ECHO_N "makedist: exporting tag '$SVNTAG' from '$PHPMOD'...$ECHO_C"
+svn export $PHPROOT/$PHPMOD/$SVNTAG $DIRPATH || exit 4
 echo ""
 
-# remove CVS stuff...
+# remove SVN stuff...
 cd $DIR || exit 5
-find . \( \( -name CVS -type d \) -o -name .cvsignore \) -exec rm -rf {} \;
+find . \( -name .svn -type d \) -exec rm -rf {} \;
 
 # The full ChangeLog is available separately from lxr.php.net
 rm -f ChangeLog*
diff --git a/pear/Makefile.frag b/pear/Makefile.frag
index 4a54562..1f6f70e 100644
--- a/pear/Makefile.frag
+++ b/pear/Makefile.frag
@@ -3,12 +3,15 @@
 peardir=$(PEAR_INSTALLDIR)
 
 # Skip all php.ini files altogether
-PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dsafe_mode=0 -dopen_basedir= -derror_reporting=E_ALL -dmemory_limit=-1 -ddetect_unicode=0
+PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dsafe_mode=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0
+
 WGET = `which wget 2>/dev/null`
 FETCH = `which fetch 2>/dev/null`
+PEAR_PREFIX = -dp a${program_prefix}
+PEAR_SUFFIX = -ds a$(program_suffix)
 
 install-pear-installer: $(SAPI_CLI_PATH)
-	@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)"
+	@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
 
 install-pear:
 	@echo "Installing PEAR environment:      $(INSTALL_ROOT)$(peardir)/"
@@ -21,9 +24,7 @@ install-pear:
 			elif test ! -z "$(FETCH)" && test -x "$(FETCH)"; then \
 				"$(FETCH)" -o $(builddir)/ http://pear.php.net/install-pear-nozlib.phar; \
 			else \
-				echo ""; \
-				echo "No download utilities found. Don't know how to download PEAR archive."; \
-				echo ""; \
+				$(top_builddir)/sapi/cli/php -n $(srcdir)/fetch.php http://pear.php.net/install-pear-nozlib.phar $(builddir)/install-pear-nozlib.phar; \
 			fi \
 		fi \
 	fi
diff --git a/pear/fetch.php b/pear/fetch.php
new file mode 100644
index 0000000..01d2233
--- /dev/null
+++ b/pear/fetch.php
@@ -0,0 +1,76 @@
+<?php
+
+function usage($argv) {
+    echo "Usage:\n";
+    printf("\tphp %s <http://example.com/file> <localfile>\n", $argv[0]);
+    exit(1);
+}
+
+function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {
+    static $filesize = null;
+
+    switch($notification_code) {
+    case STREAM_NOTIFY_RESOLVE:
+    case STREAM_NOTIFY_AUTH_REQUIRED:
+    case STREAM_NOTIFY_COMPLETED:
+    case STREAM_NOTIFY_FAILURE:
+    case STREAM_NOTIFY_AUTH_RESULT:
+        /* Ignore */
+        break;
+
+    case STREAM_NOTIFY_REDIRECTED:
+        echo "Being redirected to: ", $message, "\n";
+        break;
+
+    case STREAM_NOTIFY_CONNECT:
+        echo "Connected...\n";
+        break;
+
+    case STREAM_NOTIFY_FILE_SIZE_IS:
+        $filesize = $bytes_max;
+        echo "Filesize: ", $filesize, "\n";
+        break;
+
+    case STREAM_NOTIFY_MIME_TYPE_IS:
+        echo "Mime-type: ", $message, "\n";
+        break;
+
+    case STREAM_NOTIFY_PROGRESS:
+        if ($bytes_transferred > 0) {
+            if (!isset($filesize)) {
+                printf("\rUnknown filesize.. %2d kb done..", $bytes_transferred/1024);
+            } else {
+                $length = (int)(($bytes_transferred/$filesize)*100);
+                printf("\r[%-100s] %d%% (%2d/%2d kb)", str_repeat("=", $length). ">", $length, ($bytes_transferred/1024), $filesize/1024);
+            }
+        }
+        break;
+    }
+}
+
+isset($argv[1], $argv[2]) or usage($argv);
+
+if (!isset($_ENV['http_proxy'])) {
+    $copt = null;
+} else {
+    $copt = array(
+        'http' => array(
+            'proxy' => preg_replace('/^http/i', 'tcp', $_ENV['http_proxy']),
+            'request_fulluri' => true,
+        ),
+    );
+}
+
+$ctx = stream_context_create($copt, array("notification" => "stream_notification_callback"));
+
+$fp = fopen($argv[1], "r", false, $ctx);
+if (is_resource($fp) && file_put_contents($argv[2], $fp)) {
+    echo "\nDone!\n";
+    exit(0);
+}
+
+$err = error_get_last();
+echo "\nError..\n", $err["message"], "\n";
+exit(1);
+
+
diff --git a/regex/regex.dsw b/regex/regex.dsw
index 2450921..7b7df81 100644
--- a/regex/regex.dsw
+++ b/regex/regex.dsw
@@ -1,29 +1,29 @@
-Microsoft Developer Studio Workspace File, Format Version 5.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "regex"=.\regex.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "regex"=.\regex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/run-tests.php b/run-tests.php
index b38a7b5..81f218b 100755
--- a/run-tests.php
+++ b/run-tests.php
@@ -24,7 +24,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: run-tests.php,v 1.226.2.37.2.65 2009/05/20 09:23:15 lbarnaud Exp $ */
+/* $Id: run-tests.php 286503 2009-07-29 10:06:55Z cellog $ */
 
 /* Sanity check to ensure that pcre extension needed by this script is available.
  * In the event it is not, print a nice error message indicating that this script will
@@ -634,7 +634,7 @@ if (isset($argc) && $argc > 1) {
 					$html_output = is_resource($html_file);
 					break;
 				case '--version':
-					echo '$Revision: 1.226.2.37.2.65 $' . "\n";
+					echo '$Revision: 286503 $' . "\n";
 					exit(1);
 
 				default:
@@ -1023,7 +1023,7 @@ function system_with_timeout($commandline, $env = null, $stdin = null)
 {
 	global $leak_check, $cwd;
 
-	$data = '';
+	$data = b'';
 
 	$bin_env = array();
 	foreach((array)$env as $key => $value) {
@@ -1059,23 +1059,23 @@ function system_with_timeout($commandline, $env = null, $stdin = null)
 			break;
 		} else if ($n === 0) {
 			/* timed out */
-			$data .= "\n ** ERROR: process timed out **\n";
+			$data .= b"\n ** ERROR: process timed out **\n";
 			proc_terminate($proc);
 			return $data;
 		} else if ($n > 0) {
-			$line = fread($pipes[1], 8192);
+			$line = (binary) fread($pipes[1], 8192);
 			if (strlen($line) == 0) {
 				/* EOF */
 				break;
 			}
-			$data .= (binary) $line;
+			$data .= $line;
 		}
 	}
 
 	$stat = proc_get_status($proc);
 
 	if ($stat['signaled']) {
-		$data .= "\nTermsig=" . $stat['stopsig'];
+		$data .= b"\nTermsig=" . $stat['stopsig'];
 	}
 
 	$code = proc_close($proc);
@@ -1140,7 +1140,6 @@ function run_test($php, $file, $env)
 	global $leak_check, $temp_source, $temp_target, $cfg, $environment;
 	global $no_clean;
 	global $valgrind_version;
-
 	$temp_filenames = null;
 	$org_file = $file;
 
@@ -1379,6 +1378,7 @@ TEST $file
 	$env['REQUEST_METHOD']  = '';
 	$env['CONTENT_TYPE']    = '';
 	$env['CONTENT_LENGTH']  = '';
+	$env['TZ']              = '';
 
 	if (!empty($section_text['ENV'])) {
 
@@ -1648,7 +1648,7 @@ HTTP_COOKIE     = " . $env['HTTP_COOKIE'] . "
 COMMAND $cmd
 ";
 
-	$out = system_with_timeout($cmd, $env, isset($section_text['STDIN']) ? $section_text['STDIN'] : null);
+	$out = (binary) system_with_timeout($cmd, $env, isset($section_text['STDIN']) ? $section_text['STDIN'] : null);
 
 	if (array_key_exists('CLEAN', $section_text) && (!$no_clean || $cfg['keep']['clean'])) {
 
@@ -1685,19 +1685,19 @@ COMMAND $cmd
 	}
 
 	// Does the output match what is expected?
-	$output = preg_replace("/\r\n/", "\n", trim($out));
+	$output = preg_replace(b"/\r\n/", b"\n", trim($out));
 
 	/* when using CGI, strip the headers from the output */
-	$headers = "";
+	$headers = b"";
 
-	if (isset($old_php) && preg_match("/^(.*?)\r?\n\r?\n(.*)/s", $out, $match)) {
+	if (isset($old_php) && preg_match(b"/^(.*?)\r?\n\r?\n(.*)/s", $out, $match)) {
 		$output = trim($match[2]);
-		$rh = preg_split("/[\n\r]+/", $match[1]);
+		$rh = preg_split(b"/[\n\r]+/", $match[1]);
 		$headers = array();
 
 		foreach ($rh as $line) {
-			if (strpos($line, ':') !== false) {
-				$line = explode(':', $line, 2);
+			if (strpos($line, b':') !== false) {
+				$line = explode(b':', $line, 2);
 				$headers[trim($line[0])] = trim($line[1]);
 			}
 		}
@@ -1708,13 +1708,13 @@ COMMAND $cmd
 	if (isset($section_text['EXPECTHEADERS'])) {
 		$want = array();
 		$wanted_headers = array();
-		$lines = preg_split("/[\n\r]+/", $section_text['EXPECTHEADERS']);
+		$lines = preg_split(b"/[\n\r]+/", (binary) $section_text['EXPECTHEADERS']);
 
 		foreach($lines as $line) {
-			if (strpos($line, ':') !== false) {
-				$line = explode(':', $line, 2);
+			if (strpos($line, b':') !== false) {
+				$line = explode(b':', $line, 2);
 				$want[trim($line[0])] = trim($line[1]);
-				$wanted_headers[] = trim($line[0]) . ': ' . trim($line[1]);
+				$wanted_headers[] = trim($line[0]) . b': ' . trim($line[1]);
 			}
 		}
 
@@ -1726,7 +1726,7 @@ COMMAND $cmd
 
 			if (isset($org_headers[$k])) {
 				$headers = $org_headers[$k];
-				$output_headers[] = $k . ': ' . $org_headers[$k];
+				$output_headers[] = $k . b': ' . $org_headers[$k];
 			}
 
 			if (!isset($org_headers[$k]) || $org_headers[$k] != $v) {
@@ -1735,9 +1735,9 @@ COMMAND $cmd
 		}
 
 		ksort($wanted_headers);
-		$wanted_headers = join("\n", $wanted_headers);
+		$wanted_headers = join(b"\n", $wanted_headers);
 		ksort($output_headers);
-		$output_headers = join("\n", $output_headers);
+		$output_headers = join(b"\n", $output_headers);
 	}
 
 	show_file_block('out', $output);
@@ -1751,13 +1751,13 @@ COMMAND $cmd
 		}
 
 		show_file_block('exp', $wanted);
-		$wanted_re = preg_replace('/\r\n/', "\n", $wanted);
+		$wanted_re = preg_replace(b'/\r\n/', b"\n", $wanted);
 
 		if (isset($section_text['EXPECTF'])) {
 
 			// do preg_quote, but miss out any %r delimited sections
-			$temp = "";
-			$r = "%r";
+			$temp = b"";
+			$r = b"%r";
 			$startOffset = 0;
 			$length = strlen($wanted_re);
 			while($startOffset < $length) {
@@ -1774,45 +1774,45 @@ COMMAND $cmd
 					$start = $end = $length;
 				}
 				// quote a non re portion of the string
-				$temp = $temp . preg_quote(substr($wanted_re, $startOffset, ($start - $startOffset)),  '/');
+				$temp = $temp . preg_quote(substr($wanted_re, $startOffset, ($start - $startOffset)),  b'/');
 				// add the re unquoted.
-				$temp = $temp . '(' . substr($wanted_re, $start+2, ($end - $start-2)). ')';
+				$temp = $temp . b'(' . substr($wanted_re, $start+2, ($end - $start-2)). b')';
 				$startOffset = $end + 2;
 			}
 			$wanted_re = $temp;
 		
 			$wanted_re = str_replace(
-				array('%binary_string_optional%'),
-				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? 'string' : 'binary string',
+				array(b'%binary_string_optional%'),
+				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? b'string' : b'binary string',
 				$wanted_re
 			);
 			$wanted_re = str_replace(
-				array('%unicode_string_optional%'),
-				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? 'string' : 'Unicode string',
+				array(b'%unicode_string_optional%'),
+				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? b'string' : b'Unicode string',
 				$wanted_re
 			);
 			$wanted_re = str_replace(
-				array('%unicode\|string%', '%string\|unicode%'),
-				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? 'string' : 'unicode',
+				array(b'%unicode\|string%', b'%string\|unicode%'),
+				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? b'string' : b'unicode',
 				$wanted_re
 			);
 			$wanted_re = str_replace(
-				array('%u\|b%', '%b\|u%'),
-				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? '' : 'u',
+				array(b'%u\|b%', b'%b\|u%'),
+				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? b'' : b'u',
 				$wanted_re
 			);
 			// Stick to basics
-			$wanted_re = str_replace('%e', '\\' . DIRECTORY_SEPARATOR, $wanted_re);
-			$wanted_re = str_replace('%s', '[^\r\n]+', $wanted_re);
-			$wanted_re = str_replace('%S', '[^\r\n]*', $wanted_re);
-			$wanted_re = str_replace('%a', '.+', $wanted_re);
-			$wanted_re = str_replace('%A', '.*', $wanted_re);
-			$wanted_re = str_replace('%w', '\s*', $wanted_re);
-			$wanted_re = str_replace('%i', '[+-]?\d+', $wanted_re);
-			$wanted_re = str_replace('%d', '\d+', $wanted_re);
-			$wanted_re = str_replace('%x', '[0-9a-fA-F]+', $wanted_re);
-			$wanted_re = str_replace('%f', '[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?', $wanted_re);
-			$wanted_re = str_replace('%c', '.', $wanted_re);
+			$wanted_re = str_replace(b'%e', b'\\' . DIRECTORY_SEPARATOR, $wanted_re);
+			$wanted_re = str_replace(b'%s', b'[^\r\n]+', $wanted_re);
+			$wanted_re = str_replace(b'%S', b'[^\r\n]*', $wanted_re);
+			$wanted_re = str_replace(b'%a', b'.+', $wanted_re);
+			$wanted_re = str_replace(b'%A', b'.*', $wanted_re);
+			$wanted_re = str_replace(b'%w', b'\s*', $wanted_re);
+			$wanted_re = str_replace(b'%i', b'[+-]?\d+', $wanted_re);
+			$wanted_re = str_replace(b'%d', b'\d+', $wanted_re);
+			$wanted_re = str_replace(b'%x', b'[0-9a-fA-F]+', $wanted_re);
+			$wanted_re = str_replace(b'%f', b'[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?', $wanted_re);
+			$wanted_re = str_replace(b'%c', b'.', $wanted_re);
 			// %f allows two points "-.0.0" but that is the best *simple* expression
 		}
 /* DEBUG YOUR REGEX HERE
@@ -1820,7 +1820,7 @@ COMMAND $cmd
 		print(str_repeat('=', 80) . "\n");
 		var_dump($output);
 */
-		if (preg_match((binary) "/^$wanted_re\$/s", $output)) {
+		if (preg_match(b"/^$wanted_re\$/s", $output)) {
 			$passed = true;
 			if (!$cfg['keep']['php']) {
 				@unlink($test_file);
@@ -1842,8 +1842,8 @@ COMMAND $cmd
 
 	} else {
 
-		$wanted = trim($section_text['EXPECT']);
-		$wanted = preg_replace('/\r\n/',"\n", $wanted);
+		$wanted = (binary) trim($section_text['EXPECT']);
+		$wanted = preg_replace(b'/\r\n/',b"\n", $wanted);
 		show_file_block('exp', $wanted);
 
 		// compare and leave on success
@@ -1875,8 +1875,8 @@ COMMAND $cmd
 	// Test failed so we need to report details.
 	if ($failed_headers) {
 		$passed = false;
-		$wanted = $wanted_headers . "\n--HEADERS--\n" . $wanted;
-		$output = $output_headers . "\n--HEADERS--\n" . $output;
+		$wanted = (binary) $wanted_headers . b"\n--HEADERS--\n" . (binary) $wanted;
+		$output = (binary) $output_headers . b"\n--HEADERS--\n" . (binary) $output;
 
 		if (isset($wanted_re)) {
 			$wanted_re = preg_quote($wanted_headers . "\n--HEADERS--\n", '/') . $wanted_re;
diff --git a/sapi/aolserver/README b/sapi/aolserver/README
index 80559fa..0d1c998 100644
--- a/sapi/aolserver/README
+++ b/sapi/aolserver/README
@@ -1,4 +1,4 @@
-AOLserver README ($Id: README,v 1.6 2004/01/17 13:00:03 sniper Exp $)
+AOLserver README ($Id: README 149024 2004-01-17 13:00:38Z sniper $)
 
 To compile PHP 4.0 as a module for AOLserver, you need:
 
diff --git a/sapi/aolserver/aolserver.c b/sapi/aolserver/aolserver.c
index 92b4da8..aed00ff 100644
--- a/sapi/aolserver/aolserver.c
+++ b/sapi/aolserver/aolserver.c
@@ -22,7 +22,7 @@
  * - CGI/1.1 conformance
  */
 
-/* $Id: aolserver.c,v 1.81.2.2.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: aolserver.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* conflict between PHP and AOLserver headers */
 #define Debug php_Debug
@@ -205,7 +205,7 @@ static void php_info_aolserver(ZEND_MODULE_INFO_FUNC_ARGS)
 	int i;
 	
 	php_info_print_table_start();
-	php_info_print_table_row(2, "SAPI module version", "$Id: aolserver.c,v 1.81.2.2.2.3 2008/12/31 11:17:48 sebastian Exp $");
+	php_info_print_table_row(2, "SAPI module version", "$Id: aolserver.c 272374 2008-12-31 11:17:49Z sebastian $");
 	php_info_print_table_row(2, "Build date", Ns_InfoBuildDate());
 	php_info_print_table_row(2, "Config file path", Ns_InfoConfigFile());
 	php_info_print_table_row(2, "Error Log path", Ns_InfoErrorLog());
diff --git a/sapi/aolserver/config.m4 b/sapi/aolserver/config.m4
index 003ec90..5fa68e5 100644
--- a/sapi/aolserver/config.m4
+++ b/sapi/aolserver/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.15.22.1 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(aolserver,,
diff --git a/sapi/aolserver/config.w32 b/sapi/aolserver/config.w32
index 676d38e..5ffc49d 100644
--- a/sapi/aolserver/config.w32
+++ b/sapi/aolserver/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.1 2003/12/19 20:39:02 wez Exp $
+// $Id: config.w32 146950 2003-12-19 20:39:04Z wez $
 
 ARG_WITH('aolserver', 'Build AOLserver support', 'no');
 
diff --git a/sapi/apache/config.m4 b/sapi/apache/config.m4
index 0f5ed6b..2db1b68 100644
--- a/sapi/apache/config.m4
+++ b/sapi/apache/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.75.4.2 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 AC_DEFUN([PHP_APACHE_FD_CHECK], [
 AC_CACHE_CHECK([for member fd in BUFF *],ac_cv_php_fd_in_buff,[
diff --git a/sapi/apache/config.w32 b/sapi/apache/config.w32
index d3ba676..e3bc80a 100644
--- a/sapi/apache/config.w32
+++ b/sapi/apache/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.7 2004/01/17 13:00:04 sniper Exp $
+// $Id: config.w32 149024 2004-01-17 13:00:38Z sniper $
 
 ARG_ENABLE('apache', 'Build Apache 1.3.x version of PHP', 'no');
 
diff --git a/sapi/apache/libpre.c b/sapi/apache/libpre.c
index e375424..5a015df 100644
--- a/sapi/apache/libpre.c
+++ b/sapi/apache/libpre.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: libpre.c,v 1.6.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: libpre.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifdef NETWARE
 
diff --git a/sapi/apache/mod_php5.c b/sapi/apache/mod_php5.c
index 325c295..9ae3541 100644
--- a/sapi/apache/mod_php5.c
+++ b/sapi/apache/mod_php5.c
@@ -17,7 +17,7 @@
    | PHP 4.0 patches by Zeev Suraski <zeev at zend.com>                      |
    +----------------------------------------------------------------------+
  */
-/* $Id: mod_php5.c,v 1.19.2.7.2.17 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: mod_php5.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_apache_http.h"
 #include "http_conf_globals.h"
diff --git a/sapi/apache/mod_php5.h b/sapi/apache/mod_php5.h
index fecdbf9..a389b88 100644
--- a/sapi/apache/mod_php5.h
+++ b/sapi/apache/mod_php5.h
@@ -15,7 +15,7 @@
    | Author: Rasmus Lerdorf <rasmus at php.net>                              |
    +----------------------------------------------------------------------+
  */
-/* $Id: mod_php5.h,v 1.4.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: mod_php5.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef MOD_PHP5_H
 #define MOD_PHP5_H
diff --git a/sapi/apache/php_apache.c b/sapi/apache/php_apache.c
index 5941615..5caf3be 100644
--- a/sapi/apache/php_apache.c
+++ b/sapi/apache/php_apache.c
@@ -17,7 +17,7 @@
    |          David Sklar <sklar at student.net>                             |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_apache.c,v 1.89.2.4.2.8 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_apache.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_apache_http.h"
 
diff --git a/sapi/apache/php_apache_http.h b/sapi/apache/php_apache_http.h
index 848485d..0020a1f 100644
--- a/sapi/apache/php_apache_http.h
+++ b/sapi/apache/php_apache_http.h
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_apache_http.h,v 1.13.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_apache_http.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define NO_REGEX_EXTRA_H
 
diff --git a/sapi/apache/sapi_apache.c b/sapi/apache/sapi_apache.c
index 2ead2f8..632cd96 100644
--- a/sapi/apache/sapi_apache.c
+++ b/sapi/apache/sapi_apache.c
@@ -19,7 +19,7 @@
    | Stig Bakken <ssb at php.net>                                            |
    +----------------------------------------------------------------------+
  */
-/* $Id: sapi_apache.c,v 1.47.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: sapi_apache.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_apache_http.h"
 
diff --git a/sapi/apache2filter/apache_config.c b/sapi/apache2filter/apache_config.c
index 97d6825..c3a9d6c 100644
--- a/sapi/apache2filter/apache_config.c
+++ b/sapi/apache2filter/apache_config.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: apache_config.c,v 1.34.2.1.2.5 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: apache_config.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
diff --git a/sapi/apache2filter/config.m4 b/sapi/apache2filter/config.m4
index f967733..2c8ff58 100644
--- a/sapi/apache2filter/config.m4
+++ b/sapi/apache2filter/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.41.2.1.2.2 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(apxs2filter,,
diff --git a/sapi/apache2filter/config.w32 b/sapi/apache2filter/config.w32
index 2bef33b..68579a8 100755
--- a/sapi/apache2filter/config.w32
+++ b/sapi/apache2filter/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.1.2.1 2007/05/04 18:17:55 edink Exp $
+// $Id: config.w32 234960 2007-05-04 18:17:55Z edink $
 
 ARG_ENABLE('apache2filter', 'Build Apache 2.x filter', 'no');
 
diff --git a/sapi/apache2filter/php_apache.h b/sapi/apache2filter/php_apache.h
index 681f19f..243377b 100644
--- a/sapi/apache2filter/php_apache.h
+++ b/sapi/apache2filter/php_apache.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_apache.h,v 1.25.2.1.2.4 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_apache.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_APACHE_H
 #define PHP_APACHE_H
diff --git a/sapi/apache2filter/php_functions.c b/sapi/apache2filter/php_functions.c
index d01196f..822f2e1 100644
--- a/sapi/apache2filter/php_functions.c
+++ b/sapi/apache2filter/php_functions.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_functions.c,v 1.44.2.2.2.4 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_functions.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c
index 6e91647..b2faf90 100644
--- a/sapi/apache2filter/sapi_apache2.c
+++ b/sapi/apache2filter/sapi_apache2.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: sapi_apache2.c,v 1.136.2.2.2.11 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: sapi_apache2.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <fcntl.h>
 
diff --git a/sapi/apache2handler/apache_config.c b/sapi/apache2handler/apache_config.c
index 1e96108..aeafa33 100644
--- a/sapi/apache2handler/apache_config.c
+++ b/sapi/apache2handler/apache_config.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: apache_config.c,v 1.7.2.1.2.7 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: apache_config.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
diff --git a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4
index 41ace4e..6238470 100644
--- a/sapi/apache2handler/config.m4
+++ b/sapi/apache2handler/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.14.2.1.2.2 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(apxs2,,
diff --git a/sapi/apache2handler/config.w32 b/sapi/apache2handler/config.w32
index b35dd33..4ccf57a 100644
--- a/sapi/apache2handler/config.w32
+++ b/sapi/apache2handler/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.1.6.2 2007/05/04 18:17:55 edink Exp $
+// $Id: config.w32 234960 2007-05-04 18:17:55Z edink $
 
 ARG_ENABLE('apache2handler', 'Build Apache 2.x handler', 'no');
 
diff --git a/sapi/apache2handler/mod_php5.c b/sapi/apache2handler/mod_php5.c
index 0a3ed7a..8111c88 100644
--- a/sapi/apache2handler/mod_php5.c
+++ b/sapi/apache2handler/mod_php5.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mod_php5.c,v 1.5.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: mod_php5.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
diff --git a/sapi/apache2handler/php_apache.h b/sapi/apache2handler/php_apache.h
index c1c9474..8b1ddd6 100644
--- a/sapi/apache2handler/php_apache.h
+++ b/sapi/apache2handler/php_apache.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_apache.h,v 1.8.2.1.2.4 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_apache.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_APACHE_H
 #define PHP_APACHE_H
diff --git a/sapi/apache2handler/php_functions.c b/sapi/apache2handler/php_functions.c
index 7db52a5..673d8e0 100644
--- a/sapi/apache2handler/php_functions.c
+++ b/sapi/apache2handler/php_functions.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_functions.c,v 1.18.2.6.2.7 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_functions.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c
index c7733b4..4cdad3a 100644
--- a/sapi/apache2handler/sapi_apache2.c
+++ b/sapi/apache2handler/sapi_apache2.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: sapi_apache2.c,v 1.57.2.10.2.19 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: sapi_apache2.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
diff --git a/sapi/apache_hooks/config.m4 b/sapi/apache_hooks/config.m4
index 12fc9fd..9c367c0 100644
--- a/sapi/apache_hooks/config.m4
+++ b/sapi/apache_hooks/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.7.4.2 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 AC_DEFUN([PHP_APACHE_FD_CHECK], [
 AC_CACHE_CHECK([for member fd in BUFF *],ac_cv_php_fd_in_buff,[
diff --git a/sapi/apache_hooks/config.w32 b/sapi/apache_hooks/config.w32
index f2ff89e..2f33df6 100644
--- a/sapi/apache_hooks/config.w32
+++ b/sapi/apache_hooks/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.2 2004/01/17 13:00:08 sniper Exp $
+// $Id: config.w32 149024 2004-01-17 13:00:38Z sniper $
 
 ARG_WITH('apache-hooks', 'Build Apache 1.3.x (hooks) version of PHP', 'no');
 
diff --git a/sapi/apache_hooks/mod_php5.c b/sapi/apache_hooks/mod_php5.c
index 0f9d8a1..5c8533f 100644
--- a/sapi/apache_hooks/mod_php5.c
+++ b/sapi/apache_hooks/mod_php5.c
@@ -17,7 +17,7 @@
    | PHP 4.0 patches by Zeev Suraski <zeev at zend.com>					  |
    +----------------------------------------------------------------------+
  */
-/* $Id: mod_php5.c,v 1.11.2.1.2.7 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: mod_php5.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_apache_http.h"
 
diff --git a/sapi/apache_hooks/mod_php5.h b/sapi/apache_hooks/mod_php5.h
index ffa815f..52b1023 100644
--- a/sapi/apache_hooks/mod_php5.h
+++ b/sapi/apache_hooks/mod_php5.h
@@ -15,7 +15,7 @@
    | Author: Rasmus Lerdorf <rasmus at php.net>                              |
    +----------------------------------------------------------------------+
  */
-/* $Id: mod_php5.h,v 1.2.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: mod_php5.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef MOD_PHP5_H
 #define MOD_PHP5_H
diff --git a/sapi/apache_hooks/php_apache.c b/sapi/apache_hooks/php_apache.c
index 982e72a..e26f66d 100644
--- a/sapi/apache_hooks/php_apache.c
+++ b/sapi/apache_hooks/php_apache.c
@@ -17,7 +17,7 @@
    |          David Sklar <sklar at student.net>                             |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_apache.c,v 1.19.2.3.2.7 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_apache.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_apache_http.h"
 
diff --git a/sapi/apache_hooks/sapi_apache.c b/sapi/apache_hooks/sapi_apache.c
index f7ac1d7..df6353c 100644
--- a/sapi/apache_hooks/sapi_apache.c
+++ b/sapi/apache_hooks/sapi_apache.c
@@ -19,7 +19,7 @@
    | Stig Bakken <ssb at php.net>                                            |
    +----------------------------------------------------------------------+
  */
-/* $Id: sapi_apache.c,v 1.9.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: sapi_apache.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php_apache_http.h"
 
diff --git a/sapi/caudium/caudium.c b/sapi/caudium/caudium.c
index 3b7d85e..21b975b 100644
--- a/sapi/caudium/caudium.c
+++ b/sapi/caudium/caudium.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: caudium.c,v 1.36.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: caudium.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #ifdef HAVE_CAUDIUM
@@ -444,7 +444,7 @@ static void php_info_caudium(ZEND_MODULE_INFO_FUNC_ARGS)
 {
   /*  char buf[512]; */
   php_info_print_table_start();
-  php_info_print_table_row(2, "SAPI module version", "$Id: caudium.c,v 1.36.2.1.2.3 2008/12/31 11:17:48 sebastian Exp $");
+  php_info_print_table_row(2, "SAPI module version", "$Id: caudium.c 272374 2008-12-31 11:17:49Z sebastian $");
   /*  php_info_print_table_row(2, "Build date", Ns_InfoBuildDate());
       php_info_print_table_row(2, "Config file path", Ns_InfoConfigFile());
       php_info_print_table_row(2, "Error Log path", Ns_InfoErrorLog());
diff --git a/sapi/caudium/config.m4 b/sapi/caudium/config.m4
index c1d32d8..46467b0 100644
--- a/sapi/caudium/config.m4
+++ b/sapi/caudium/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.14.2.1.2.2 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl 
 
 RESULT=no
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
index 9f18bbb..b38a645 100644
--- a/sapi/cgi/cgi_main.c
+++ b/sapi/cgi/cgi_main.c
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: cgi_main.c,v 1.267.2.15.2.71 2009/06/09 13:29:39 dsp Exp $ */
+/* $Id: cgi_main.c 281870 2009-06-09 13:29:39Z dsp $ */
 
 #include "php.h"
 #include "php_globals.h"
diff --git a/sapi/cgi/config.w32 b/sapi/cgi/config.w32
index edd43ee..3e36b0e 100644
--- a/sapi/cgi/config.w32
+++ b/sapi/cgi/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.2.4.1.2.2 2006/09/28 09:37:52 dmitry Exp $
+// $Id: config.w32 220680 2006-09-28 09:37:52Z dmitry $
 
 ARG_ENABLE('cgi', 'Build CGI version of PHP', 'yes');
 ARG_ENABLE('fastcgi', 'Build FastCGI support into CGI binary', 'yes');
diff --git a/sapi/cgi/config9.m4 b/sapi/cgi/config9.m4
index 26ed766..4ff90fd 100644
--- a/sapi/cgi/config9.m4
+++ b/sapi/cgi/config9.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config9.m4,v 1.17.2.2.2.6 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config9.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_ENABLE(cgi,,
diff --git a/sapi/cgi/fastcgi.c b/sapi/cgi/fastcgi.c
index f94d82d..58d5391 100644
--- a/sapi/cgi/fastcgi.c
+++ b/sapi/cgi/fastcgi.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.35 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: fastcgi.c 287776 2009-08-26 19:15:13Z pajoye $ */
 
 #include "php.h"
 #include "fastcgi.h"
@@ -397,21 +397,21 @@ int fcgi_listen(const char *path, int backlog)
 		}
 	} else {
 #ifdef _WIN32
-	    SECURITY_DESCRIPTOR  sd;
-    	SECURITY_ATTRIBUTES  sa;
-	    PACL                 acl;
+		SECURITY_DESCRIPTOR  sd;
+		SECURITY_ATTRIBUTES  saw;
+		PACL                 acl;
 		HANDLE namedPipe;
 
-		memset(&sa, 0, sizeof(sa));
-		sa.nLength = sizeof(sa);
-		sa.bInheritHandle = FALSE;
-		acl = prepare_named_pipe_acl(&sd, &sa);
+		memset(&sa, 0, sizeof(saw));
+		saw.nLength = sizeof(saw);
+		saw.bInheritHandle = FALSE;
+		acl = prepare_named_pipe_acl(&sd, &saw);
 
 		namedPipe = CreateNamedPipe(path,
 			PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
 			PIPE_TYPE_BYTE | PIPE_WAIT | PIPE_READMODE_BYTE,
 			PIPE_UNLIMITED_INSTANCES,
-			8192, 8192, 0, &sa);
+			8192, 8192, 0, &saw);
 		if (namedPipe == INVALID_HANDLE_VALUE) {
 			return -1;
 		}		
diff --git a/sapi/cgi/fastcgi.h b/sapi/cgi/fastcgi.h
index 6df3180..cfb3641 100644
--- a/sapi/cgi/fastcgi.h
+++ b/sapi/cgi/fastcgi.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: fastcgi.h,v 1.2.2.4.2.8 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: fastcgi.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* FastCGI protocol */
 
diff --git a/sapi/cgi/getopt.c b/sapi/cgi/getopt.c
index 1e2182f..b103e31 100644
--- a/sapi/cgi/getopt.c
+++ b/sapi/cgi/getopt.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: getopt.c,v 1.9.2.1.2.6 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: getopt.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdio.h>
 #include <string.h>
diff --git a/sapi/cgi/php_getopt.h b/sapi/cgi/php_getopt.h
index ac6cf51..eb4743d 100644
--- a/sapi/cgi/php_getopt.h
+++ b/sapi/cgi/php_getopt.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_getopt.h,v 1.7.2.1.2.4 2008/12/31 11:17:48 sebastian Exp $ */
+/* $Id: php_getopt.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/sapi/cgi/tests/006.phpt b/sapi/cgi/tests/006.phpt
index 107ddc7..a2b2b29 100644
--- a/sapi/cgi/tests/006.phpt
+++ b/sapi/cgi/tests/006.phpt
@@ -2,6 +2,8 @@
 syntax check
 --SKIPIF--
 <?php include "skipif.inc"; ?>
+--INI--
+display_errors=stdout
 --FILE--
 <?php
 include "include.inc";
diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
index 104b1a7..3ac11ce 100644
--- a/sapi/cli/config.m4
+++ b/sapi/cli/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.22.2.1.2.2 2008/09/01 13:15:15 dmitry Exp $
+dnl $Id: config.m4 265789 2008-09-01 13:15:15Z dmitry $
 dnl
 
 PHP_ARG_ENABLE(cli,,
diff --git a/sapi/cli/config.w32 b/sapi/cli/config.w32
index 37b1ca6..47fc7af 100644
--- a/sapi/cli/config.w32
+++ b/sapi/cli/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.4.4.1 2006/05/18 21:46:12 edink Exp $
+// $Id: config.w32 213267 2006-05-18 21:46:12Z edink $
 
 ARG_ENABLE('cli', 'Build CLI version of PHP', 'yes');
 ARG_ENABLE('crt-debug', 'Extra CRT debugging', 'no');
diff --git a/sapi/cli/getopt.c b/sapi/cli/getopt.c
index bf9012b..bd0d2dd 100644
--- a/sapi/cli/getopt.c
+++ b/sapi/cli/getopt.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: getopt.c,v 1.8.2.1.2.8 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: getopt.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include <stdio.h>
 #include <string.h>
diff --git a/sapi/cli/php.1.in b/sapi/cli/php.1.in
index e2d5b93..68a24f5 100644
--- a/sapi/cli/php.1.in
+++ b/sapi/cli/php.1.in
@@ -1,4 +1,4 @@
-.TH PHP 1 "2008" "The PHP Group" "Scripting Language"
+.TH PHP 1 "2009" "The PHP Group" "Scripting Language"
 .SH NAME
 .TP 15
 php \- PHP Command Line Interface 'CLI'
diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c
index 80a0961..ba767f5 100644
--- a/sapi/cli/php_cli.c
+++ b/sapi/cli/php_cli.c
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_cli.c,v 1.129.2.13.2.34 2009/04/09 10:20:39 bjori Exp $ */
+/* $Id: php_cli.c 284649 2009-07-23 14:54:04Z jani $ */
 
 #include "php.h"
 #include "php_globals.h"
@@ -298,7 +298,7 @@ static int sapi_cli_ub_write(const char *str, uint str_length TSRMLS_DC) /* {{{
 		remaining -= ret;
 	}
 
-	return str_length;
+	return (ptr - str);
 }
 /* }}} */
 
diff --git a/sapi/cli/php_cli_readline.c b/sapi/cli/php_cli_readline.c
index dd76c35..e6398f2 100644
--- a/sapi/cli/php_cli_readline.c
+++ b/sapi/cli/php_cli_readline.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_cli_readline.c,v 1.3.2.5.2.5 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: php_cli_readline.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/sapi/cli/php_cli_readline.h b/sapi/cli/php_cli_readline.h
index cdf4e5a..c2599aa 100644
--- a/sapi/cli/php_cli_readline.h
+++ b/sapi/cli/php_cli_readline.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_cli_readline.h,v 1.2.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: php_cli_readline.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/sapi/cli/php_getopt.h b/sapi/cli/php_getopt.h
index ef10db0..eb4743d 100644
--- a/sapi/cli/php_getopt.h
+++ b/sapi/cli/php_getopt.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_getopt.h,v 1.7.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: php_getopt.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
diff --git a/sapi/continuity/capi.c b/sapi/continuity/capi.c
index b570089..f81255c 100644
--- a/sapi/continuity/capi.c
+++ b/sapi/continuity/capi.c
@@ -110,7 +110,7 @@ PHP_MSHUTDOWN_FUNCTION(continuity)
 PHP_MINFO_FUNCTION(continuity)
 {
         php_info_print_table_start();
-        php_info_print_table_row(2, "Continuity Module Revision", "$Revision: 1.11.2.2.2.3 $");
+        php_info_print_table_row(2, "Continuity Module Revision", "$Revision: 272374 $");
         php_info_print_table_row(2, "Server Version", conFget_build());
 #ifdef CONTINUITY_CDPEXT
 	php_info_print_table_row(2,"CDP Extensions", "enabled");
diff --git a/sapi/continuity/config.m4 b/sapi/continuity/config.m4
index b22ac5b..b91dd63 100644
--- a/sapi/continuity/config.m4
+++ b/sapi/continuity/config.m4
@@ -1,4 +1,4 @@
-dnl ## $Id: config.m4,v 1.3.4.1 2007/07/11 23:20:36 jani Exp $ -*- sh -*-
+dnl ## $Id: config.m4 239540 2007-07-11 23:20:37Z jani $ -*- sh -*-
 
 PHP_ARG_WITH(continuity, for Continuity support,
 [  --with-continuity=DIR   Build PHP as Continuity Server module. 
diff --git a/sapi/embed/config.m4 b/sapi/embed/config.m4
index a02cdd2..2a9fb63 100644
--- a/sapi/embed/config.m4
+++ b/sapi/embed/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.9.4.2 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_ENABLE(embed,,
diff --git a/sapi/embed/config.w32 b/sapi/embed/config.w32
index 673c7e0..8effedd 100644
--- a/sapi/embed/config.w32
+++ b/sapi/embed/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.1 2003/12/19 23:19:19 wez Exp $
+// $Id: config.w32 146968 2003-12-19 23:19:19Z wez $
 
 ARG_ENABLE('embed', 'Embedded SAPI library', 'no');
 
diff --git a/sapi/embed/php_embed.c b/sapi/embed/php_embed.c
index d5e4363..f7013da 100644
--- a/sapi/embed/php_embed.c
+++ b/sapi/embed/php_embed.c
@@ -15,7 +15,7 @@
    | Author: Edin Kadribasic <edink at php.net>                              |
    +----------------------------------------------------------------------+
 */
-/* $Id: php_embed.c,v 1.11.2.1.2.8 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: php_embed.c 286569 2009-07-30 20:20:56Z garretts $ */
 
 #include "php_embed.h"
 
@@ -107,7 +107,7 @@ static int php_embed_startup(sapi_module_struct *sapi_module)
 	return SUCCESS;
 }
 
-sapi_module_struct php_embed_module = {
+extern EMBED_SAPI_API sapi_module_struct php_embed_module = {
 	"embed",                       /* name */
 	"PHP Embedded Library",        /* pretty name */
 	
@@ -139,7 +139,7 @@ sapi_module_struct php_embed_module = {
 };
 /* }}} */
 
-int php_embed_init(int argc, char **argv PTSRMLS_DC)
+EMBED_SAPI_API int php_embed_init(int argc, char **argv PTSRMLS_DC)
 {
 	zend_llist global_vars;
 #ifdef ZTS
@@ -202,7 +202,7 @@ int php_embed_init(int argc, char **argv PTSRMLS_DC)
   return SUCCESS;
 }
 
-void php_embed_shutdown(TSRMLS_D)
+EMBED_SAPI_API void php_embed_shutdown(TSRMLS_D)
 {
 	php_request_shutdown((void *) 0);
 	php_module_shutdown(TSRMLS_C);
diff --git a/sapi/embed/php_embed.h b/sapi/embed/php_embed.h
index 9f729ba..19d1c98 100644
--- a/sapi/embed/php_embed.h
+++ b/sapi/embed/php_embed.h
@@ -15,7 +15,7 @@
    | Author: Edin Kadribasic <edink at php.net>                              |
    +----------------------------------------------------------------------+
 */
-/* $Id: php_embed.h,v 1.6.2.2.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: php_embed.h 286569 2009-07-30 20:20:56Z garretts $ */
 
 #ifndef _PHP_EMBED_H_
 #define _PHP_EMBED_H_
@@ -57,10 +57,16 @@
   php_embed_shutdown(TSRMLS_C); \
 }
 
+#ifndef PHP_WIN32
+    #define EMBED_SAPI_API SAPI_API
+#else
+    #define EMBED_SAPI_API 
+#endif 
+
 BEGIN_EXTERN_C() 
-int php_embed_init(int argc, char **argv PTSRMLS_DC);
-void php_embed_shutdown(TSRMLS_D);
-extern sapi_module_struct php_embed_module;
+EMBED_SAPI_API int php_embed_init(int argc, char **argv PTSRMLS_DC);
+EMBED_SAPI_API void php_embed_shutdown(TSRMLS_D);
+extern EMBED_SAPI_API sapi_module_struct php_embed_module;
 END_EXTERN_C()
 
 
diff --git a/sapi/isapi/config.m4 b/sapi/isapi/config.m4
index acf3831..fa8f990 100644
--- a/sapi/isapi/config.m4
+++ b/sapi/isapi/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.17.4.3 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(isapi, for Zeus ISAPI support,
diff --git a/sapi/isapi/config.w32 b/sapi/isapi/config.w32
index cb7398e..823d039 100644
--- a/sapi/isapi/config.w32
+++ b/sapi/isapi/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.4 2004/01/17 13:00:13 sniper Exp $
+// $Id: config.w32 149024 2004-01-17 13:00:38Z sniper $
 
 ARG_ENABLE('isapi', 'Build ISAPI version of PHP', 'no');
 
diff --git a/sapi/isapi/php5isapi.c b/sapi/isapi/php5isapi.c
index 36303c5..8a490b4 100644
--- a/sapi/isapi/php5isapi.c
+++ b/sapi/isapi/php5isapi.c
@@ -16,7 +16,7 @@
    |          Ben Mansell <ben at zeus.com> (Zeus Support)                   |
    +----------------------------------------------------------------------+
  */
-/* $Id: php5isapi.c,v 1.8.2.2.2.6 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: php5isapi.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include <httpext.h>
diff --git a/sapi/milter/config.m4 b/sapi/milter/config.m4
index a34563a..1cfa794 100644
--- a/sapi/milter/config.m4
+++ b/sapi/milter/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.6.6.2 2007/07/11 23:20:36 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(milter, for Milter support,
diff --git a/sapi/milter/php_milter.c b/sapi/milter/php_milter.c
index 0ae314f..0af265a 100644
--- a/sapi/milter/php_milter.c
+++ b/sapi/milter/php_milter.c
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_milter.c,v 1.14.2.2.2.6 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: php_milter.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_globals.h"
diff --git a/sapi/nsapi/config.m4 b/sapi/nsapi/config.m4
index a117438..ffaec5a 100644
--- a/sapi/nsapi/config.m4
+++ b/sapi/nsapi/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.17.6.2 2007/07/11 23:20:37 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(nsapi, for NSAPI support,
diff --git a/sapi/nsapi/config.w32 b/sapi/nsapi/config.w32
index cb183c4..f69964b 100644
--- a/sapi/nsapi/config.w32
+++ b/sapi/nsapi/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.4 2004/01/07 20:06:31 wez Exp $
+// $Id: config.w32 148090 2004-01-07 20:06:32Z wez $
 
 ARG_ENABLE('nsapi', 'Build NSAPI for Netscape/iPlanet/SunONE webservers', 'no');
 
diff --git a/sapi/nsapi/nsapi-readme.txt b/sapi/nsapi/nsapi-readme.txt
index a93d69e..88962ff 100644
--- a/sapi/nsapi/nsapi-readme.txt
+++ b/sapi/nsapi/nsapi-readme.txt
@@ -151,4 +151,4 @@ for the correct DLL name. The DLL with the biggest filesize is the right one.
 But be warned: SUPPORT FOR nsapi_virtual() IS EXPERIMENTAL !!!
 
 
-$Id: nsapi-readme.txt,v 1.12.6.1 2006/10/27 07:29:51 thetaphi Exp $
+$Id: nsapi-readme.txt 222416 2006-10-27 07:29:51Z thetaphi $
diff --git a/sapi/nsapi/nsapi.c b/sapi/nsapi/nsapi.c
index bea8dc5..88c1549 100644
--- a/sapi/nsapi/nsapi.c
+++ b/sapi/nsapi/nsapi.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: nsapi.c,v 1.69.2.3.2.18 2009/03/20 15:54:36 thetaphi Exp $ */
+/* $Id: nsapi.c 286723 2009-08-03 10:14:20Z thetaphi $ */
 
 /*
  * PHP includes
@@ -57,6 +57,13 @@
 #endif
 
 /*
+ * The manual define of HPUX is to fix bug #46020, nsapi.h needs this to detect HPUX
+ */
+#ifdef __hpux
+#define HPUX
+#endif
+ 
+/*
  * NSAPI includes
  */
 #include "nsapi.h"
@@ -294,7 +301,7 @@ PHP_MSHUTDOWN_FUNCTION(nsapi)
 PHP_MINFO_FUNCTION(nsapi)
 {
 	php_info_print_table_start();
-	php_info_print_table_row(2, "NSAPI Module Revision", "$Revision: 1.69.2.3.2.18 $");
+	php_info_print_table_row(2, "NSAPI Module Revision", "$Revision: 286723 $");
 	php_info_print_table_row(2, "Server Software", system_version());
 	php_info_print_table_row(2, "Sub-requests with nsapi_virtual()",
 	 (nsapi_servact_service)?((zend_ini_long("zlib.output_compression", sizeof("zlib.output_compression"), 0))?"not supported with zlib.output_compression":"enabled"):"not supported on this platform" );
diff --git a/sapi/phttpd/config.m4 b/sapi/phttpd/config.m4
index ca5cd80..a18c140 100644
--- a/sapi/phttpd/config.m4
+++ b/sapi/phttpd/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.7.22.3 2007/07/11 23:20:37 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl 
 
 PHP_ARG_WITH(phttpd, for PHTTPD support,
diff --git a/sapi/pi3web/config.m4 b/sapi/pi3web/config.m4
index 633d7bb..323b489 100644
--- a/sapi/pi3web/config.m4
+++ b/sapi/pi3web/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.10.6.2 2007/07/11 23:20:37 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(pi3web, for Pi3Web support,
diff --git a/sapi/pi3web/config.w32 b/sapi/pi3web/config.w32
index b9bd29c..107a5d0 100644
--- a/sapi/pi3web/config.w32
+++ b/sapi/pi3web/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.3 2004/01/17 13:00:15 sniper Exp $
+// $Id: config.w32 149024 2004-01-17 13:00:38Z sniper $
 
 ARG_WITH('pi3web', 'Pi3Web', 'no');
 
diff --git a/sapi/pi3web/pi3web_sapi.c b/sapi/pi3web/pi3web_sapi.c
index 746b8bb..d9e091a 100644
--- a/sapi/pi3web/pi3web_sapi.c
+++ b/sapi/pi3web/pi3web_sapi.c
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: pi3web_sapi.c,v 1.60.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: pi3web_sapi.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -57,7 +57,7 @@ static void php_info_pi3web(ZEND_MODULE_INFO_FUNC_ARGS)
 	PUTS("<table border=0 cellpadding=3 cellspacing=1 width=600 align=center>\n");
 	PUTS("<tr><th colspan=2 bgcolor=\"" PHP_HEADER_COLOR "\">Pi3Web Server Information</th></tr>\n");
 	php_info_print_table_header(2, "Information Field", "Value");
-	php_info_print_table_row(2, "Pi3Web SAPI module version", "$Id: pi3web_sapi.c,v 1.60.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $");
+	php_info_print_table_row(2, "Pi3Web SAPI module version", "$Id: pi3web_sapi.c 272374 2008-12-31 11:17:49Z sebastian $");
 	php_info_print_table_row(2, "Server Name Stamp", HTTPCore_getServerStamp());
 	snprintf(variable_buf, 511, "%d", HTTPCore_debugEnabled());
 	php_info_print_table_row(2, "Debug Enabled", variable_buf);
diff --git a/sapi/roxen/config.m4 b/sapi/roxen/config.m4
index 1e32d94..1eed0d4 100644
--- a/sapi/roxen/config.m4
+++ b/sapi/roxen/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.17.2.1.2.2 2007/07/11 23:20:37 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(roxen,, 
diff --git a/sapi/roxen/roxen.c b/sapi/roxen/roxen.c
index 558268a..d6b1b74 100644
--- a/sapi/roxen/roxen.c
+++ b/sapi/roxen/roxen.c
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: roxen.c,v 1.61.2.2.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: roxen.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #ifdef HAVE_ROXEN
@@ -438,7 +438,7 @@ static void php_info_roxen(ZEND_MODULE_INFO_FUNC_ARGS)
 {
   /*  char buf[512]; */
   php_info_print_table_start();
-  php_info_print_table_row(2, "SAPI module version", "$Id: roxen.c,v 1.61.2.2.2.3 2008/12/31 11:17:49 sebastian Exp $");
+  php_info_print_table_row(2, "SAPI module version", "$Id: roxen.c 272374 2008-12-31 11:17:49Z sebastian $");
   /*  php_info_print_table_row(2, "Build date", Ns_InfoBuildDate());
       php_info_print_table_row(2, "Config file path", Ns_InfoConfigFile());
       php_info_print_table_row(2, "Error Log path", Ns_InfoErrorLog());
diff --git a/sapi/thttpd/README b/sapi/thttpd/README
index 4be522f..b024584 100644
--- a/sapi/thttpd/README
+++ b/sapi/thttpd/README
@@ -1,5 +1,5 @@
 README FOR THTTPD MODULE (by Sascha Schumann)        
-($Date: 2003/02/19 10:57:21 $)
+($Date: 2003-02-19 11:57:21 +0100 (Wed, 19 Feb 2003) $)
 
 	This is a SAPI module for PHP 4.x supporting thttpd, the tiny,
 	turbo, throttling HTTP server by Jef Poskanzer.
diff --git a/sapi/thttpd/config.m4 b/sapi/thttpd/config.m4
index c0500b8..157ad16 100644
--- a/sapi/thttpd/config.m4
+++ b/sapi/thttpd/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.23.6.2 2007/07/11 23:20:37 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(thttpd,,
diff --git a/sapi/thttpd/thttpd.c b/sapi/thttpd/thttpd.c
index ec26ac6..0d01b15 100644
--- a/sapi/thttpd/thttpd.c
+++ b/sapi/thttpd/thttpd.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: thttpd.c,v 1.95.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: thttpd.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "SAPI.h"
diff --git a/sapi/tux/README b/sapi/tux/README
index aac26cc..3a5294c 100644
--- a/sapi/tux/README
+++ b/sapi/tux/README
@@ -1,5 +1,5 @@
 README FOR THE TUX MODULE (by Sascha Schumann)        
-($Date: 2004/01/17 13:00:17 $)
+($Date: 2004-01-17 14:00:38 +0100 (Sat, 17 Jan 2004) $)
 
     This is a SAPI module for the TUX web-server by Ingo Molnar.
 
diff --git a/sapi/tux/config.m4 b/sapi/tux/config.m4
index 3233185..b85016c 100644
--- a/sapi/tux/config.m4
+++ b/sapi/tux/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.4.6.2 2007/07/11 23:20:37 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(tux,,
diff --git a/sapi/webjames/config.m4 b/sapi/webjames/config.m4
index 351781a..cf01901 100644
--- a/sapi/webjames/config.m4
+++ b/sapi/webjames/config.m4
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.5.22.2 2007/07/11 23:20:37 jani Exp $
+dnl $Id: config.m4 239540 2007-07-11 23:20:37Z jani $
 dnl
 
 PHP_ARG_WITH(webjames,,
diff --git a/scripts/apache/conffix.awk b/scripts/apache/conffix.awk
index 30d488d..2b506e5 100644
--- a/scripts/apache/conffix.awk
+++ b/scripts/apache/conffix.awk
@@ -1,4 +1,4 @@
-# $Id: conffix.awk,v 1.2 1999/08/07 15:31:57 zeev Exp $
+# $Id: conffix.awk 11765 1999-08-07 15:31:57Z zeev $
 
 /^[ \t]*php3_*/ {
 	phpcommand=substr($1,6)
diff --git a/scripts/apache/htaccessfix.awk b/scripts/apache/htaccessfix.awk
index 2523472..e43668c 100644
--- a/scripts/apache/htaccessfix.awk
+++ b/scripts/apache/htaccessfix.awk
@@ -1,4 +1,4 @@
-# $Id: htaccessfix.awk,v 1.2 1999/08/07 15:31:57 zeev Exp $
+# $Id: htaccessfix.awk 11765 1999-08-07 15:31:57Z zeev $
 
 /^[ \t]*php3_*/ {
 	phpcommand=substr($1,6)
diff --git a/scripts/dev/check_parameters.php b/scripts/dev/check_parameters.php
index c04d4b8..1cde038 100644
--- a/scripts/dev/check_parameters.php
+++ b/scripts/dev/check_parameters.php
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: check_parameters.php,v 1.1.2.4 2007/01/01 19:32:09 iliaa Exp $ */
+/* $Id: check_parameters.php 226204 2007-01-01 19:32:10Z iliaa $ */
 
 
 define('REPORT_LEVEL', 2); // 0 reports less false-positives. up to level 5.
diff --git a/scripts/dev/conv_z_macros b/scripts/dev/conv_z_macros
index fa17005..100dd93 100755
--- a/scripts/dev/conv_z_macros
+++ b/scripts/dev/conv_z_macros
@@ -16,7 +16,7 @@
 #  | Author: Sascha Schumann <sascha at schumann.cx>                         |
 #  +----------------------------------------------------------------------+
 #
-# $Id: conv_z_macros,v 1.4.2.1.2.1 2007/01/01 19:32:09 iliaa Exp $
+# $Id: conv_z_macros 226204 2007-01-01 19:32:10Z iliaa $
 
 for i in $@; do
 	echo -n "Processing $i... "
diff --git a/scripts/phpize.in b/scripts/phpize.in
index 3adb8c8..40ccc77 100644
--- a/scripts/phpize.in
+++ b/scripts/phpize.in
@@ -121,7 +121,7 @@ phpize_check_autotools()
   test -z "$PHP_AUTOCONF" && PHP_AUTOCONF=autoconf
   test -z "$PHP_AUTOHEADER" && PHP_AUTOHEADER=autoheader
   
-  if ! test -x "$PHP_AUTOCONF" && ! test -x "`$php_shtool path $PHP_AUTOCONF`"; then
+  if test ! -x "$PHP_AUTOCONF" && test ! -x "`$php_shtool path $PHP_AUTOCONF`"; then
     cat <<EOF
 Cannot find autoconf. Please check your autoconf installation and the
 \$PHP_AUTOCONF environment variable. Then, rerun this script.
@@ -129,7 +129,7 @@ Cannot find autoconf. Please check your autoconf installation and the
 EOF
     exit 1
   fi
-  if ! test -x "$PHP_AUTOHEADER" && ! test -x "`$php_shtool path $PHP_AUTOHEADER`"; then
+  if test ! -x "$PHP_AUTOHEADER" && test ! -x "`$php_shtool path $PHP_AUTOHEADER`"; then
     cat <<EOF
 Cannot find autoheader. Please check your autoconf installation and the
 \$PHP_AUTOHEADER environment variable. Then, rerun this script.
diff --git a/svnclean.bat b/svnclean.bat
new file mode 100755
index 0000000..4c0118d
--- /dev/null
+++ b/svnclean.bat
@@ -0,0 +1,2 @@
+ at echo off
+cscript /nologo win32\build\cvsclean.js
diff --git a/tests/basic/002.phpt b/tests/basic/002.phpt
index e9330c8..25dc513 100644
--- a/tests/basic/002.phpt
+++ b/tests/basic/002.phpt
@@ -1,7 +1,5 @@
 --TEST--
 Simple POST Method test
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a=Hello+World
 --FILE--
diff --git a/tests/basic/003.phpt b/tests/basic/003.phpt
index ae6603f..43d3be1 100644
--- a/tests/basic/003.phpt
+++ b/tests/basic/003.phpt
@@ -1,7 +1,5 @@
 --TEST--
 GET and POST Method combined
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a=Hello+World
 --GET--
diff --git a/tests/basic/004.phpt b/tests/basic/004.phpt
index 86bf431..c381e50 100644
--- a/tests/basic/004.phpt
+++ b/tests/basic/004.phpt
@@ -1,7 +1,5 @@
 --TEST--
 Two variables in POST data
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a=Hello+World&b=Hello+Again+World
 --FILE--
diff --git a/tests/basic/005.phpt b/tests/basic/005.phpt
index aa1d199..742e0ca 100644
--- a/tests/basic/005.phpt
+++ b/tests/basic/005.phpt
@@ -1,7 +1,5 @@
 --TEST--
 Three variables in POST data
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a=Hello+World&b=Hello+Again+World&c=1
 --FILE--
diff --git a/tests/basic/011.phpt b/tests/basic/011.phpt
index 34eed79..2ec7a6e 100644
--- a/tests/basic/011.phpt
+++ b/tests/basic/011.phpt
@@ -1,7 +1,5 @@
 --TEST--
 Testing $argc and $argv handling (GET)
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --INI--
 register_argc_argv=1
 --GET--
diff --git a/tests/basic/013.phpt b/tests/basic/013.phpt
index a4155dc..376cc06 100644
--- a/tests/basic/013.phpt
+++ b/tests/basic/013.phpt
@@ -1,7 +1,5 @@
 --TEST--
 POST Method test and arrays
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a[]=1
 --FILE--
diff --git a/tests/basic/014.phpt b/tests/basic/014.phpt
index 9b7e59f..7288c44 100644
--- a/tests/basic/014.phpt
+++ b/tests/basic/014.phpt
@@ -1,7 +1,5 @@
 --TEST--
 POST Method test and arrays - 2
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a[]=1&a[]=1
 --FILE--
diff --git a/tests/basic/015.phpt b/tests/basic/015.phpt
index b297265..eecbaf1 100644
--- a/tests/basic/015.phpt
+++ b/tests/basic/015.phpt
@@ -1,7 +1,5 @@
 --TEST--
 POST Method test and arrays - 3 
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a[]=1&a[0]=5
 --FILE--
diff --git a/tests/basic/016.phpt b/tests/basic/016.phpt
index 2772531..b34fd1b 100644
--- a/tests/basic/016.phpt
+++ b/tests/basic/016.phpt
@@ -1,7 +1,5 @@
 --TEST--
 POST Method test and arrays - 4 
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a[a]=1&a[b]=3
 --FILE--
diff --git a/tests/basic/017.phpt b/tests/basic/017.phpt
index 69424ca..d514726 100644
--- a/tests/basic/017.phpt
+++ b/tests/basic/017.phpt
@@ -1,7 +1,5 @@
 --TEST--
 POST Method test and arrays - 5 
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a[]=1&a[a]=1&a[b]=3
 --FILE--
diff --git a/tests/basic/018.phpt b/tests/basic/018.phpt
index 5cae5e8..45996b2 100644
--- a/tests/basic/018.phpt
+++ b/tests/basic/018.phpt
@@ -1,7 +1,5 @@
 --TEST--
 POST Method test and arrays - 6 
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a[][]=1&a[][]=3&b[a][b][c]=1&b[a][b][d]=1
 --FILE--
diff --git a/tests/basic/019.phpt b/tests/basic/019.phpt
index 467d4e6..3bece24 100644
--- a/tests/basic/019.phpt
+++ b/tests/basic/019.phpt
@@ -1,7 +1,5 @@
 --TEST--
 POST Method test and arrays - 7 
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a[]=1&a[]]=3&a[[]=4
 --FILE--
diff --git a/tests/basic/020.phpt b/tests/basic/020.phpt
index 0d4704e..c94a604 100644
--- a/tests/basic/020.phpt
+++ b/tests/basic/020.phpt
@@ -1,7 +1,5 @@
 --TEST--
 POST Method test and arrays - 8 
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a[a[]]=1&a[b[]]=3
 --FILE--
diff --git a/tests/basic/021.phpt b/tests/basic/021.phpt
index 3010a1b..bce6bb3 100644
--- a/tests/basic/021.phpt
+++ b/tests/basic/021.phpt
@@ -2,8 +2,6 @@
 Bug #37276 (problems witch $_POST array)
 --INI--
 file_upload=1
---SKIPIF--
-<?php if (php_sapi_name()=='cli') die('skip'); ?>
 --POST_RAW--
 Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
 -----------------------------20896060251896012921717172737
diff --git a/tests/basic/024.phpt b/tests/basic/024.phpt
index c3336c7..847eeac 100644
--- a/tests/basic/024.phpt
+++ b/tests/basic/024.phpt
@@ -3,8 +3,6 @@ Test HTTP_RAW_POST_DATA creation
 --INI--
 magic_quotes_gpc=0
 always_populate_raw_post_data=1
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a=ABC&y=XYZ&c[]=1&c[]=2&c[a]=3
 --FILE--
diff --git a/tests/basic/025.phpt b/tests/basic/025.phpt
index fea9468..bafcac8 100644
--- a/tests/basic/025.phpt
+++ b/tests/basic/025.phpt
@@ -4,8 +4,6 @@ Test HTTP_RAW_POST_DATA with excessive post length
 magic_quotes_gpc=0
 always_populate_raw_post_data=1
 post_max_size=1K
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 --FILE--
diff --git a/tests/basic/026.phpt b/tests/basic/026.phpt
index ec93ae5..957aa19 100644
--- a/tests/basic/026.phpt
+++ b/tests/basic/026.phpt
@@ -3,8 +3,6 @@ Registration of HTTP_RAW_POST_DATA due to unknown content-type
 --INI--
 magic_quotes_gpc=0
 always_populate_raw_post_data=0
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST_RAW--
 Content-Type: unknown/type
 a=1&b=ZYX
diff --git a/tests/basic/027.phpt b/tests/basic/027.phpt
index 248507b..ae5d78d 100644
--- a/tests/basic/027.phpt
+++ b/tests/basic/027.phpt
@@ -7,8 +7,6 @@ display_errors=0
 max_input_nesting_level=10
 track_errors=1
 log_errors=0
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --POST--
 a=1&b=ZYX&c[][][][][][][][][][][][][][][][][][][][][][]=123&d=123&e[][]][]=3
 --FILE--
diff --git a/tests/basic/bug45986.phpt b/tests/basic/bug45986.phpt
new file mode 100644
index 0000000..97dd923
--- /dev/null
+++ b/tests/basic/bug45986.phpt
@@ -0,0 +1,13 @@
+--TEST--
+Bug #45986 (wrong error messag for a non existant file on rename)
+--CREDITS--
+Sebastian Schürmann
+sebs at php.net
+Testfest 2009 Munich 
+--FILE--
+<?php
+rename('foo', 'bar');
+?>
+--CLEAN--
+--EXPECTREGEX--
+.*No such.*
diff --git a/tests/basic/bug46759.phpt b/tests/basic/bug46759.phpt
index fdbd595..c5db2b9 100644
--- a/tests/basic/bug46759.phpt
+++ b/tests/basic/bug46759.phpt
@@ -1,7 +1,5 @@
 --TEST--
 Testing magic_quotes_gpc
---SKIPIF--
-<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
 --INI--
 magic_quotes_gpc=1
 --GET--
diff --git a/tests/basic/php_egg_logo_guid.phpt b/tests/basic/php_egg_logo_guid.phpt
new file mode 100644
index 0000000..b3c5d7b
--- /dev/null
+++ b/tests/basic/php_egg_logo_guid.phpt
@@ -0,0 +1,13 @@
+--TEST--
+Testing php_egg_logo_guid() function
+--FILE--
+<?php
+echo php_egg_logo_guid();
+?>
+--EXPECT--
+PHPE9568F36-D428-11d2-A769-00AA001ACF42
+
+--CREDITS--
+Jason Easter <easter at phpug-wuerzburg.de>
+PHPUG Würzburg <phpug-wuerzburg.de>
+Testfest 2009 2009-06-20
\ No newline at end of file
diff --git a/tests/basic/php_logo_guid.phpt b/tests/basic/php_logo_guid.phpt
new file mode 100644
index 0000000..b5724a9
--- /dev/null
+++ b/tests/basic/php_logo_guid.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Testing php_logo_guid() function
+--FILE--
+<?php
+echo php_logo_guid();
+?>
+--EXPECT--
+PHPE9568F34-D428-11d2-A769-00AA001ACF42
+--CREDITS--
+Testfest 2009 2009-06-20
\ No newline at end of file
diff --git a/tests/basic/php_real_logo_guid.phpt b/tests/basic/php_real_logo_guid.phpt
new file mode 100644
index 0000000..2b9003a
--- /dev/null
+++ b/tests/basic/php_real_logo_guid.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Testing php_real_logo_guid() function
+--FILE--
+<?php
+echo php_real_logo_guid();
+?>
+--EXPECT--
+PHPE9568F34-D428-11d2-A769-00AA001ACF42
+--CREDITS--
+Jason Easter <easter at phpug-wuerzburg.de>
+PHPUG Würzburg <phpug-wuerzburg.de>
+Testfest 2009 2009-06-20
\ No newline at end of file
diff --git a/tests/basic/zend_logo_guid.phpt b/tests/basic/zend_logo_guid.phpt
new file mode 100644
index 0000000..23ca016
--- /dev/null
+++ b/tests/basic/zend_logo_guid.phpt
@@ -0,0 +1,13 @@
+--TEST--
+Testing zend_logo_guid() function
+--FILE--
+<?php
+echo zend_logo_guid();
+?>
+--EXPECT--
+PHPE9568F35-D428-11d2-A769-00AA001ACF42
+
+--CREDITS--
+Jason Easter <easter at phpug-wuerzburg.de>
+PHPUG Würzburg <phpug-wuerzburg.de>
+Testfest 2009 2009-06-20
\ No newline at end of file
diff --git a/tests/classes/autoload_derived.p5c b/tests/classes/autoload_derived.p5c
index a24c6f9..93a4b35 100755
--- a/tests/classes/autoload_derived.p5c
+++ b/tests/classes/autoload_derived.p5c
@@ -1,6 +1,6 @@
-<?php
-
-class autoload_derived extends autoload_root {
-}
-
+<?php
+
+class autoload_derived extends autoload_root {
+}
+
 ?>
\ No newline at end of file
diff --git a/tests/classes/autoload_implements.p5c b/tests/classes/autoload_implements.p5c
index 66c8f7e..2c3479c 100755
--- a/tests/classes/autoload_implements.p5c
+++ b/tests/classes/autoload_implements.p5c
@@ -1,10 +1,10 @@
-<?php
-
-class autoload_implements implements autoload_interface {
-	function testFunction()
-	{
-		return true;
-	}
-}
-
+<?php
+
+class autoload_implements implements autoload_interface {
+	function testFunction()
+	{
+		return true;
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/tests/classes/autoload_interface.p5c b/tests/classes/autoload_interface.p5c
index 3f9a4e7..6908155 100755
--- a/tests/classes/autoload_interface.p5c
+++ b/tests/classes/autoload_interface.p5c
@@ -1,7 +1,7 @@
-<?php
-
-interface autoload_interface {
-	function testFunction();
-}
-
+<?php
+
+interface autoload_interface {
+	function testFunction();
+}
+
 ?>
\ No newline at end of file
diff --git a/tests/classes/autoload_root.p5c b/tests/classes/autoload_root.p5c
index ab02838..9559d36 100755
--- a/tests/classes/autoload_root.p5c
+++ b/tests/classes/autoload_root.p5c
@@ -1,10 +1,10 @@
-<?php
-
-class autoload_root {
-	function testFunction()
-	{
-		return true;
-	}
-}
-
+<?php
+
+class autoload_root {
+	function testFunction()
+	{
+		return true;
+	}
+}
+
 ?>
\ No newline at end of file
diff --git a/tests/classes/destructor_and_exceptions.phpt b/tests/classes/destructor_and_exceptions.phpt
index 947aa5b..8100c92 100755
--- a/tests/classes/destructor_and_exceptions.phpt
+++ b/tests/classes/destructor_and_exceptions.phpt
@@ -1,60 +1,60 @@
---TEST--
-ZE2 catch exception thrown in destructor
---FILE--
-<?php
-
-class FailClass
-{
-	public $fatal;
-
-	function __destruct()
-	{
-		echo __METHOD__ . "\n";
-		throw new exception("FailClass");
-		echo "Done: " . __METHOD__ . "\n";
-	}
-}
-
-try
-{
-	$a = new FailClass;
-	unset($a);
-}
-catch(Exception $e)
-{
-	echo "Caught: " . $e->getMessage() . "\n";
-}
-
-class FatalException extends Exception
-{
-	function __construct($what)
-	{
-		echo __METHOD__ . "\n";
-		$o = new FailClass;
-		unset($o);
-		echo "Done: " . __METHOD__ . "\n";
-	}
-}
-
-try
-{
-	throw new FatalException("Damn");
-}
-catch(Exception $e)
-{
-	echo "Caught Exception: " . $e->getMessage() . "\n";
-}
-catch(FatalException $e)
-{
-	echo "Caught FatalException: " . $e->getMessage() . "\n";
-}
-
-?>
-===DONE===
---EXPECTF--
-FailClass::__destruct
-Caught: FailClass
-FatalException::__construct
-FailClass::__destruct
-Caught Exception: FailClass
-===DONE===
+--TEST--
+ZE2 catch exception thrown in destructor
+--FILE--
+<?php
+
+class FailClass
+{
+	public $fatal;
+
+	function __destruct()
+	{
+		echo __METHOD__ . "\n";
+		throw new exception("FailClass");
+		echo "Done: " . __METHOD__ . "\n";
+	}
+}
+
+try
+{
+	$a = new FailClass;
+	unset($a);
+}
+catch(Exception $e)
+{
+	echo "Caught: " . $e->getMessage() . "\n";
+}
+
+class FatalException extends Exception
+{
+	function __construct($what)
+	{
+		echo __METHOD__ . "\n";
+		$o = new FailClass;
+		unset($o);
+		echo "Done: " . __METHOD__ . "\n";
+	}
+}
+
+try
+{
+	throw new FatalException("Damn");
+}
+catch(Exception $e)
+{
+	echo "Caught Exception: " . $e->getMessage() . "\n";
+}
+catch(FatalException $e)
+{
+	echo "Caught FatalException: " . $e->getMessage() . "\n";
+}
+
+?>
+===DONE===
+--EXPECTF--
+FailClass::__destruct
+Caught: FailClass
+FatalException::__construct
+FailClass::__destruct
+Caught Exception: FailClass
+===DONE===
diff --git a/tests/classes/interface_optional_arg.phpt b/tests/classes/interface_optional_arg.phpt
index 5efabd0..05f2fc4 100755
--- a/tests/classes/interface_optional_arg.phpt
+++ b/tests/classes/interface_optional_arg.phpt
@@ -1,27 +1,27 @@
---TEST--
-ZE2 An interface method allows additional default arguments
---SKIPIF--
-<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
---FILE--
-<?php
-
-error_reporting(4095);
-
-interface test {
-	public function bar();
-}
-
-class foo implements test {
-
-	public function bar($foo = NULL) {
-		echo "foo\n";
-	}
-}
-
-$foo = new foo;
-$foo->bar();
-
-?>
---EXPECT--
-foo
-
+--TEST--
+ZE2 An interface method allows additional default arguments
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+
+error_reporting(4095);
+
+interface test {
+	public function bar();
+}
+
+class foo implements test {
+
+	public function bar($foo = NULL) {
+		echo "foo\n";
+	}
+}
+
+$foo = new foo;
+$foo->bar();
+
+?>
+--EXPECT--
+foo
+
diff --git a/tests/classes/iterators_006.phpt b/tests/classes/iterators_006.phpt
index b2ebfb3..47fa690 100644
--- a/tests/classes/iterators_006.phpt
+++ b/tests/classes/iterators_006.phpt
@@ -1,87 +1,87 @@
---TEST--
-ZE2 iterators and array wrapping
+--TEST--
+ZE2 iterators and array wrapping
 --SKIPIF--
-<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?> 
---FILE--
-<?php
-
-class ai implements Iterator {
-
-	private $array;
-
-	function __construct() {
-		$this->array = array('foo', 'bar', 'baz');
-	}
-
-	function rewind() {
-		reset($this->array);
-		$this->next();
-	}
-
-	function valid() {
-		return $this->key !== NULL;
-	}
-
-	function key() {
-		return $this->key;
-	}
-
-	function current() {
-		return $this->current;
-	}
-
-	function next() {
-		list($this->key, $this->current) = each($this->array);
-//		list($key, $current) = each($this->array);
-//		$this->key = $key;
-//		$this->current = $current;
-	}
-}
-
-class a implements IteratorAggregate {
-
-	public function getIterator() {
-		return new ai();
-	}
-}
-
-$array = new a();
-
-foreach ($array as $property => $value) {
-	print "$property: $value\n";    
-}
-
-#$array = $array->getIterator();
-#$array->rewind();
-#$array->valid();
-#var_dump($array->key());
-#var_dump($array->current());
-echo "===2nd===\n";
-
-$array = new ai();
-
-foreach ($array as $property => $value) {
-	print "$property: $value\n";    
-}
-
-echo "===3rd===\n";
-
-foreach ($array as $property => $value) {
-	print "$property: $value\n";    
-}
-
-?>
-===DONE===
---EXPECT--
-0: foo
-1: bar
-2: baz
-===2nd===
-0: foo
-1: bar
-2: baz
-===3rd===
-0: foo
-1: bar
-2: baz
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?> 
+--FILE--
+<?php
+
+class ai implements Iterator {
+
+	private $array;
+
+	function __construct() {
+		$this->array = array('foo', 'bar', 'baz');
+	}
+
+	function rewind() {
+		reset($this->array);
+		$this->next();
+	}
+
+	function valid() {
+		return $this->key !== NULL;
+	}
+
+	function key() {
+		return $this->key;
+	}
+
+	function current() {
+		return $this->current;
+	}
+
+	function next() {
+		list($this->key, $this->current) = each($this->array);
+//		list($key, $current) = each($this->array);
+//		$this->key = $key;
+//		$this->current = $current;
+	}
+}
+
+class a implements IteratorAggregate {
+
+	public function getIterator() {
+		return new ai();
+	}
+}
+
+$array = new a();
+
+foreach ($array as $property => $value) {
+	print "$property: $value\n";    
+}
+
+#$array = $array->getIterator();
+#$array->rewind();
+#$array->valid();
+#var_dump($array->key());
+#var_dump($array->current());
+echo "===2nd===\n";
+
+$array = new ai();
+
+foreach ($array as $property => $value) {
+	print "$property: $value\n";    
+}
+
+echo "===3rd===\n";
+
+foreach ($array as $property => $value) {
+	print "$property: $value\n";    
+}
+
+?>
+===DONE===
+--EXPECT--
+0: foo
+1: bar
+2: baz
+===2nd===
+0: foo
+1: bar
+2: baz
+===3rd===
+0: foo
+1: bar
+2: baz
 ===DONE===
\ No newline at end of file
diff --git a/tests/classes/visibility_005.phpt b/tests/classes/visibility_005.phpt
index ef5daa1..859a5f7 100755
--- a/tests/classes/visibility_005.phpt
+++ b/tests/classes/visibility_005.phpt
@@ -1,59 +1,59 @@
---TEST--
-ZE2 foreach and property visibility
---FILE--
-<?php
-
-class base
-{
-	public $a=1;
-	protected $b=2;
-	private $c=3;
-
-	function f()
-	{
-		foreach($this as $k=>$v) {
-			echo "$k=>$v\n";
-		}
-	}
-}
-
-class derived extends base
-{
-}
-
-$o = new base;
-$o->d = 4;
-echo "===base::function===\n";
-$o->f();
-echo "===base,foreach===\n";
-foreach($o as $k=>$v) {
-	echo "$k=>$v\n";
-}
-
-$o = new derived;
-$o->d = 4;
-echo "===derived::function===\n";
-$o->f();
-echo "===derived,foreach===\n";
-foreach($o as $k=>$v) {
-	echo "$k=>$v\n";
-}
-
-?>
---EXPECT--
-===base::function===
-a=>1
-b=>2
-c=>3
-d=>4
-===base,foreach===
-a=>1
-d=>4
-===derived::function===
-a=>1
-b=>2
-c=>3
-d=>4
-===derived,foreach===
-a=>1
-d=>4
+--TEST--
+ZE2 foreach and property visibility
+--FILE--
+<?php
+
+class base
+{
+	public $a=1;
+	protected $b=2;
+	private $c=3;
+
+	function f()
+	{
+		foreach($this as $k=>$v) {
+			echo "$k=>$v\n";
+		}
+	}
+}
+
+class derived extends base
+{
+}
+
+$o = new base;
+$o->d = 4;
+echo "===base::function===\n";
+$o->f();
+echo "===base,foreach===\n";
+foreach($o as $k=>$v) {
+	echo "$k=>$v\n";
+}
+
+$o = new derived;
+$o->d = 4;
+echo "===derived::function===\n";
+$o->f();
+echo "===derived,foreach===\n";
+foreach($o as $k=>$v) {
+	echo "$k=>$v\n";
+}
+
+?>
+--EXPECT--
+===base::function===
+a=>1
+b=>2
+c=>3
+d=>4
+===base,foreach===
+a=>1
+d=>4
+===derived::function===
+a=>1
+b=>2
+c=>3
+d=>4
+===derived,foreach===
+a=>1
+d=>4
diff --git a/tests/lang/038.phpt b/tests/lang/038.phpt
index c3de20c..195050b 100755
--- a/tests/lang/038.phpt
+++ b/tests/lang/038.phpt
@@ -1,41 +1,41 @@
---TEST--
-Convert warnings to exceptions
---FILE--
-<?php
-
-class MyException extends Exception
-{
-	function __construct($errstr, $errno=0, $errfile='', $errline='')
-	{
-		parent::__construct($errstr, $errno);
-		$this->file = $errfile;
-		$this->line = $errline;
-	}
-}
-
-function Error2Exception($errno, $errstr, $errfile, $errline)
-{
-	throw new MyException($errstr, $errno);//, $errfile, $errline);
-}
-
-$err_msg = 'no exception';
-set_error_handler('Error2Exception');
-
-try
-{
-	$con = fopen("/tmp/a_file_that_does_not_exist",'r');
-}
-catch (Exception $e)
-{
-	$trace = $e->getTrace();
-	var_dump($trace[0]['function']);
-	var_dump($trace[1]['function']);
-}
-
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-string(15) "Error2Exception"
-string(5) "fopen"
-===DONE===
+--TEST--
+Convert warnings to exceptions
+--FILE--
+<?php
+
+class MyException extends Exception
+{
+	function __construct($errstr, $errno=0, $errfile='', $errline='')
+	{
+		parent::__construct($errstr, $errno);
+		$this->file = $errfile;
+		$this->line = $errline;
+	}
+}
+
+function Error2Exception($errno, $errstr, $errfile, $errline)
+{
+	throw new MyException($errstr, $errno);//, $errfile, $errline);
+}
+
+$err_msg = 'no exception';
+set_error_handler('Error2Exception');
+
+try
+{
+	$con = fopen("/tmp/a_file_that_does_not_exist",'r');
+}
+catch (Exception $e)
+{
+	$trace = $e->getTrace();
+	var_dump($trace[0]['function']);
+	var_dump($trace[1]['function']);
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+string(15) "Error2Exception"
+string(5) "fopen"
+===DONE===
diff --git a/tests/lang/039.phpt b/tests/lang/039.phpt
index ea2cccb..aa4b591 100755
--- a/tests/lang/039.phpt
+++ b/tests/lang/039.phpt
@@ -1,45 +1,45 @@
---TEST--
-Catch Interfaces
---FILE--
-<?php
-
-interface Catchable
-{
-}
-
-class MyException extends Exception implements Catchable
-{
-	function __construct($errstr, $errno, $errfile, $errline)
-	{
-		parent::__construct($errstr, $errno);
-		$this->file = $errfile;
-		$this->line = $errline;
-	}
-}
-
-function Error2Exception($errno, $errstr, $errfile, $errline)
-{
-	throw new MyException($errstr, $errno, $errfile, $errline);
-}
-
-$err_msg = 'no exception';
-set_error_handler('Error2Exception');
-
-try
-{
-	$con = fopen('/tmp/a_file_that_does_not_exist','r');
-}
-catch (Catchable $e)
-{
-	echo "Catchable\n";
-}
-catch (Exception $e)
-{
-	echo "Exception\n";
-}
-
-?>
-===DONE===
---EXPECTF--
-Catchable
-===DONE===
+--TEST--
+Catch Interfaces
+--FILE--
+<?php
+
+interface Catchable
+{
+}
+
+class MyException extends Exception implements Catchable
+{
+	function __construct($errstr, $errno, $errfile, $errline)
+	{
+		parent::__construct($errstr, $errno);
+		$this->file = $errfile;
+		$this->line = $errline;
+	}
+}
+
+function Error2Exception($errno, $errstr, $errfile, $errline)
+{
+	throw new MyException($errstr, $errno, $errfile, $errline);
+}
+
+$err_msg = 'no exception';
+set_error_handler('Error2Exception');
+
+try
+{
+	$con = fopen('/tmp/a_file_that_does_not_exist','r');
+}
+catch (Catchable $e)
+{
+	echo "Catchable\n";
+}
+catch (Exception $e)
+{
+	echo "Exception\n";
+}
+
+?>
+===DONE===
+--EXPECTF--
+Catchable
+===DONE===
diff --git a/tests/lang/040.phpt b/tests/lang/040.phpt
index 7f6eafd..6d8ece9 100755
--- a/tests/lang/040.phpt
+++ b/tests/lang/040.phpt
@@ -1,15 +1,15 @@
---TEST--
-foreach into array
---FILE--
-<?php
-$a = array(0,1);
-$b[0]=2;
-foreach($a as $b[0]) {
-  echo $b[0]."\n";
-}
-?>
-===DONE===
---EXPECT--
-0
-1
-===DONE===
+--TEST--
+foreach into array
+--FILE--
+<?php
+$a = array(0,1);
+$b[0]=2;
+foreach($a as $b[0]) {
+  echo $b[0]."\n";
+}
+?>
+===DONE===
+--EXPECT--
+0
+1
+===DONE===
diff --git a/tests/lang/bug23524.phpt b/tests/lang/bug23524.phpt
index f1a41e6..512c714 100755
--- a/tests/lang/bug23524.phpt
+++ b/tests/lang/bug23524.phpt
@@ -1,29 +1,29 @@
---TEST--
-Bug #23524 (Improper handling of constants in array indices)
---FILE--
-<?php
-  echo "Begin\n";
-  define("THE_CONST",123);
-  function f($a=array(THE_CONST=>THE_CONST)) {
-    print_r($a);
-  }
-  f();
-  f();
-  f();
-  echo "Done";
-?>
---EXPECT--
-Begin
-Array
-(
-    [123] => 123
-)
-Array
-(
-    [123] => 123
-)
-Array
-(
-    [123] => 123
-)
-Done
+--TEST--
+Bug #23524 (Improper handling of constants in array indices)
+--FILE--
+<?php
+  echo "Begin\n";
+  define("THE_CONST",123);
+  function f($a=array(THE_CONST=>THE_CONST)) {
+    print_r($a);
+  }
+  f();
+  f();
+  f();
+  echo "Done";
+?>
+--EXPECT--
+Begin
+Array
+(
+    [123] => 123
+)
+Array
+(
+    [123] => 123
+)
+Array
+(
+    [123] => 123
+)
+Done
diff --git a/tests/lang/bug24054.phpt b/tests/lang/bug24054.phpt
index 3c9d746..9f027e4 100644
--- a/tests/lang/bug24054.phpt
+++ b/tests/lang/bug24054.phpt
@@ -1,7 +1,7 @@
 --TEST--
 Bug #24054 (Assignment operator *= broken)
 --FILE--
-<?php // $Id: bug24054.phpt,v 1.3 2003/09/13 19:49:50 abies Exp $
+<?php // $Id: bug24054.phpt 140237 2003-09-13 19:49:50Z abies $
 
 define('LONG_MAX', is_int(5000000000)? 9223372036854775807 : 0x7FFFFFFF);
 define('LONG_MIN', -LONG_MAX - 1);
diff --git a/tests/lang/bug25145.phpt b/tests/lang/bug25145.phpt
index e33580a..9c53387 100755
--- a/tests/lang/bug25145.phpt
+++ b/tests/lang/bug25145.phpt
@@ -1,7 +1,5 @@
 --TEST--
 Bug #25145 (SEGV on recpt of form input with name like "123[]")
---SKIPIF--
-<?php if (php_sapi_name() == 'cli') echo 'skip'; ?>
 --GET--
 123[]=SEGV
 --FILE--
diff --git a/tests/lang/bug27439.phpt b/tests/lang/bug27439.phpt
index 5b7d875..4bcadb7 100755
--- a/tests/lang/bug27439.phpt
+++ b/tests/lang/bug27439.phpt
@@ -1,76 +1,76 @@
---TEST--
-Bug #27439 (foreach() with $this segfaults)
---FILE--
-<?php
-
-class test_props {
-	public $a = 1;
-	public $b = 2;
-	public $c = 3;
-}
-
-class test {
-	public $array = array(1,2,3);
-	public $string = "string";
-
-	public function __construct() {
-		$this->object = new test_props;
-	}
-
-	public function getArray() {
-		return $this->array;
-	}
-
-	public function getString() {
-		return $this->string;
-	}
-
-	public function case1() {
-		foreach ($this->array as $foo) {
-			echo $foo;
-		}
-	}
-
-	public function case2() {
-		foreach ($this->foobar as $foo);
-	}
-
-	public function case3() {
-		foreach ($this->string as $foo);
-	}
-
-	public function case4() {
-		foreach ($this->getArray() as $foo);
-	}
-
-	public function case5() {
-		foreach ($this->getString() as $foo);
-	}
-
-	public function case6() {
-		foreach ($this->object as $foo) {
-			echo $foo;
-		}
-	}
-}
-$test = new test();
-$test->case1();
-$test->case2();
-$test->case3();
-$test->case4();
-$test->case5();
-$test->case6();
-echo "\n";
-echo "===DONE===";
-?>
---EXPECTF--
-123
-Notice: Undefined property: test::$foobar in %s on line %d
-
-Warning: Invalid argument supplied for foreach() in %s on line %d
-
-Warning: Invalid argument supplied for foreach() in %s on line %d
-
-Warning: Invalid argument supplied for foreach() in %s on line %d
-123
-===DONE===
+--TEST--
+Bug #27439 (foreach() with $this segfaults)
+--FILE--
+<?php
+
+class test_props {
+	public $a = 1;
+	public $b = 2;
+	public $c = 3;
+}
+
+class test {
+	public $array = array(1,2,3);
+	public $string = "string";
+
+	public function __construct() {
+		$this->object = new test_props;
+	}
+
+	public function getArray() {
+		return $this->array;
+	}
+
+	public function getString() {
+		return $this->string;
+	}
+
+	public function case1() {
+		foreach ($this->array as $foo) {
+			echo $foo;
+		}
+	}
+
+	public function case2() {
+		foreach ($this->foobar as $foo);
+	}
+
+	public function case3() {
+		foreach ($this->string as $foo);
+	}
+
+	public function case4() {
+		foreach ($this->getArray() as $foo);
+	}
+
+	public function case5() {
+		foreach ($this->getString() as $foo);
+	}
+
+	public function case6() {
+		foreach ($this->object as $foo) {
+			echo $foo;
+		}
+	}
+}
+$test = new test();
+$test->case1();
+$test->case2();
+$test->case3();
+$test->case4();
+$test->case5();
+$test->case6();
+echo "\n";
+echo "===DONE===";
+?>
+--EXPECTF--
+123
+Notice: Undefined property: test::$foobar in %s on line %d
+
+Warning: Invalid argument supplied for foreach() in %s on line %d
+
+Warning: Invalid argument supplied for foreach() in %s on line %d
+
+Warning: Invalid argument supplied for foreach() in %s on line %d
+123
+===DONE===
diff --git a/tests/lang/bug29566.phpt b/tests/lang/bug29566.phpt
index f814958..5f292bd 100755
--- a/tests/lang/bug29566.phpt
+++ b/tests/lang/bug29566.phpt
@@ -1,16 +1,16 @@
---TEST--
-Bug #29566 (foreach/string handling strangeness)
---FILE--
-<?php
-$var="This is a string";
-
-$dummy="";
-unset($dummy);
-
-foreach($var['nosuchkey'] as $v) {
-}
-?>
-===DONE===
---EXPECTF--
-Warning: Invalid argument supplied for foreach() in %sbug29566.php on line %d
-===DONE===
+--TEST--
+Bug #29566 (foreach/string handling strangeness)
+--FILE--
+<?php
+$var="This is a string";
+
+$dummy="";
+unset($dummy);
+
+foreach($var['nosuchkey'] as $v) {
+}
+?>
+===DONE===
+--EXPECTF--
+Warning: Invalid argument supplied for foreach() in %sbug29566.php on line %d
+===DONE===
diff --git a/tests/lang/bug35176.phpt b/tests/lang/bug35176.phpt
index 1d1e80d..dd56c76 100755
--- a/tests/lang/bug35176.phpt
+++ b/tests/lang/bug35176.phpt
@@ -1,14 +1,14 @@
---TEST--
-Bug #35176 (include()/require()/*_once() produce wrong error messages about main())
---INI--
-html_errors=1
-error_reporting=4095
---FILE--
-<?php
-require_once('nonexisiting.php');
-?>
---EXPECTF--
-<br />
-<b>Warning</b>:  require_once(nonexisiting.php) [<a href='function.require-once.html'>function.require-once.html</a>]: failed to open stream: No such file or directory in <b>%sbug35176.php</b> on line <b>2</b><br />
-<br />
-<b>Fatal error</b>:  require_once() [<a href='function.require.html'>function.require.html</a>]: Failed opening required 'nonexisiting.php' (%s) in <b>%sbug35176.php</b> on line <b>2</b><br />
+--TEST--
+Bug #35176 (include()/require()/*_once() produce wrong error messages about main())
+--INI--
+html_errors=1
+error_reporting=4095
+--FILE--
+<?php
+require_once('nonexisiting.php');
+?>
+--EXPECTF--
+<br />
+<b>Warning</b>:  require_once(nonexisiting.php) [<a href='function.require-once.html'>function.require-once.html</a>]: failed to open stream: No such file or directory in <b>%sbug35176.php</b> on line <b>2</b><br />
+<br />
+<b>Fatal error</b>:  require_once() [<a href='function.require.html'>function.require.html</a>]: Failed opening required 'nonexisiting.php' (%s) in <b>%sbug35176.php</b> on line <b>2</b><br />
diff --git a/tests/lang/bug38579.inc b/tests/lang/bug38579.inc
index f822e6d..8ecc558 100755
--- a/tests/lang/bug38579.inc
+++ b/tests/lang/bug38579.inc
@@ -1,3 +1,3 @@
-<?php
-echo "ok\n";
-?>
+<?php
+echo "ok\n";
+?>
diff --git a/tests/lang/bug38579.phpt b/tests/lang/bug38579.phpt
index fbf98a9..445296c 100755
--- a/tests/lang/bug38579.phpt
+++ b/tests/lang/bug38579.phpt
@@ -1,16 +1,16 @@
---TEST--
-Bug #38579 (include_once() may include the same file twice)
---SKIPIF--
-<?php
-if (substr(PHP_OS, 0, 3) != 'WIN') {
-    die('skip only for Windows');
-}
-?>
---FILE--
-<?php
-$file = dirname(__FILE__)."/bug38579.inc";
-include_once(strtolower($file));
-include_once(strtoupper($file));
-?>
---EXPECT--
-ok
+--TEST--
+Bug #38579 (include_once() may include the same file twice)
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) != 'WIN') {
+    die('skip only for Windows');
+}
+?>
+--FILE--
+<?php
+$file = dirname(__FILE__)."/bug38579.inc";
+include_once(strtolower($file));
+include_once(strtoupper($file));
+?>
+--EXPECT--
+ok
diff --git a/tests/lang/bug44827.phpt b/tests/lang/bug44827.phpt
new file mode 100644
index 0000000..38e1d45
--- /dev/null
+++ b/tests/lang/bug44827.phpt
@@ -0,0 +1,14 @@
+--TEST--
+Bug #44827 (Class error when trying to access :: as constant)
+--CREDITS--
+Sebastian Schürmann 
+sebs at php.net
+Testfest Munich 2009
+--FILE--
+<?php
+define('::', true);
+var_dump(constant('::'));
+?>
+--EXPECTREGEX--
+.*Fatal.*
+
diff --git a/tests/lang/compare_objects_basic1.phpt b/tests/lang/compare_objects_basic1.phpt
new file mode 100644
index 0000000..fe312fc
--- /dev/null
+++ b/tests/lang/compare_objects_basic1.phpt
@@ -0,0 +1,60 @@
+--TEST--
+Test standard 'compare' object handler 
+--FILE--
+
+<?php
+
+echo "Simple test for standard compare object handler\n";
+
+class class1{}
+
+class class2{}
+
+class class3{
+	public $aaa;
+	private $bbb;
+	protected $ccc;
+}
+
+class class4 extends class3{
+}
+
+class class5 extends class3{
+	public $ddd;
+	private $eee;
+}
+
+// Define a bunch of objects all of which will use standard compare object handler
+$obj1 = new class1();
+$obj2 = new class2();
+$obj3 = new class3();
+$obj4 = new class4();
+$obj5 = new class5();
+
+echo "\n-- The following compare should return TRUE --\n"; 
+var_dump($obj1 == $obj1);
+
+echo "\n-- All the following compares should return FALSE --\n"; 
+var_dump($obj1 == $obj2);
+var_dump($obj1 == $obj3);
+var_dump($obj1 == $obj4);
+var_dump($obj1 == $obj5);
+var_dump($obj4 == $obj3);
+var_dump($obj5 == $obj3);
+
+?>
+===DONE===
+--EXPECT--
+Simple test for standard compare object handler
+
+-- The following compare should return TRUE --
+bool(true)
+
+-- All the following compares should return FALSE --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/tests/lang/compare_objects_basic2.phpt b/tests/lang/compare_objects_basic2.phpt
new file mode 100644
index 0000000..a2c34d0
--- /dev/null
+++ b/tests/lang/compare_objects_basic2.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Test object compare when object handler different 
+--FILE--
+
+<?php 
+
+//Set the default time zone 
+date_default_timezone_set("Europe/London");
+
+echo "Simple test comparing two objects with different compare callback handler\n";
+
+class X {
+}
+
+$obj1 = new X();
+$obj2 = new DateTime(("2009-02-12 12:47:41 GMT"));
+
+var_dump($obj1 == $obj2);
+?>
+===DONE===
+--EXPECTF--
+Simple test comparing two objects with different compare callback handler
+
+Notice: Object of class X could not be converted to int in %s on line %d
+
+Notice: Object of class DateTime could not be converted to int in %s on line %d
+bool(true)
+===DONE===
\ No newline at end of file
diff --git a/tests/lang/engine_assignExecutionOrder_001.phpt b/tests/lang/engine_assignExecutionOrder_001.phpt
index bb197af..627e69f 100644
--- a/tests/lang/engine_assignExecutionOrder_001.phpt
+++ b/tests/lang/engine_assignExecutionOrder_001.phpt
@@ -1,152 +1,152 @@
---TEST--
-Evaluation order during assignments.
---FILE--
-<?php
-
-function f() {
-	echo "in f()\n";
-	return "name";
-}
-
-function g() {
-	echo "in g()\n";
-	return "assigned value";
-}
-
-
-echo "\n\nOrder with local assignment:\n"; 
-${f()} = g();
-var_dump($name);
-
-echo "\n\nOrder with array assignment:\n";
-$a[f()] = g();
-var_dump($a);
-
-echo "\n\nOrder with object property assignment:\n";
-$oa = new stdClass;
-$oa->${f()} = g();
-var_dump($oa);
-
-echo "\n\nOrder with nested object property assignment:\n";
-$ob = new stdClass;
-$ob->o1 = new stdClass;
-$ob->o1->o2 = new stdClass;
-$ob->o1->o2->${f()} = g();
-var_dump($ob);
-
-echo "\n\nOrder with dim_list property assignment:\n";
-$oc = new stdClass;
-$oc->a[${f()}] = g();
-var_dump($oc);
-
-
-class C {
-	public static $name = "original";
-	public static $a = array(); 
-	public static $string = "hello";
-}
-echo "\n\nOrder with static property assignment:\n";
-C::${f()} = g();
-var_dump(C::$name);
-
-echo "\n\nOrder with static array property assignment:\n";
-C::$a[f()] = g();
-var_dump(C::$a);
-
-echo "\n\nOrder with indexed string assignment:\n";
-$string = "hello";
-function getOffset() { 
-	echo "in getOffset()\n";
-	return 0;
-}
-function newChar() {
-	echo "in newChar()\n";
-	return 'j';
-}
-$string[getOffset()] = newChar();
-var_dump($string);
-
-echo "\n\nOrder with static string property assignment:\n";
-C::$string[getOffset()] = newChar();
-var_dump(C::$string);
-
-?>
---EXPECTF--
-
-
-Order with local assignment:
-in f()
-in g()
-string(14) "assigned value"
-
-
-Order with array assignment:
-in f()
-in g()
-array(1) {
-  ["name"]=>
-  string(14) "assigned value"
-}
-
-
-Order with object property assignment:
-in f()
-in g()
-object(stdClass)#%d (1) {
-  ["assigned value"]=>
-  string(14) "assigned value"
-}
-
-
-Order with nested object property assignment:
-in f()
-in g()
-object(stdClass)#%d (1) {
-  ["o1"]=>
-  object(stdClass)#%d (1) {
-    ["o2"]=>
-    object(stdClass)#%d (1) {
-      ["assigned value"]=>
-      string(14) "assigned value"
-    }
-  }
-}
-
-
-Order with dim_list property assignment:
-in f()
-in g()
-object(stdClass)#%d (1) {
-  ["a"]=>
-  array(1) {
-    ["assigned value"]=>
-    string(14) "assigned value"
-  }
-}
-
-
-Order with static property assignment:
-in f()
-in g()
-string(14) "assigned value"
-
-
-Order with static array property assignment:
-in f()
-in g()
-array(1) {
-  ["name"]=>
-  string(14) "assigned value"
-}
-
-
-Order with indexed string assignment:
-in getOffset()
-in newChar()
-string(5) "jello"
-
-
-Order with static string property assignment:
-in getOffset()
-in newChar()
-string(5) "jello"
+--TEST--
+Evaluation order during assignments.
+--FILE--
+<?php
+
+function f() {
+	echo "in f()\n";
+	return "name";
+}
+
+function g() {
+	echo "in g()\n";
+	return "assigned value";
+}
+
+
+echo "\n\nOrder with local assignment:\n"; 
+${f()} = g();
+var_dump($name);
+
+echo "\n\nOrder with array assignment:\n";
+$a[f()] = g();
+var_dump($a);
+
+echo "\n\nOrder with object property assignment:\n";
+$oa = new stdClass;
+$oa->${f()} = g();
+var_dump($oa);
+
+echo "\n\nOrder with nested object property assignment:\n";
+$ob = new stdClass;
+$ob->o1 = new stdClass;
+$ob->o1->o2 = new stdClass;
+$ob->o1->o2->${f()} = g();
+var_dump($ob);
+
+echo "\n\nOrder with dim_list property assignment:\n";
+$oc = new stdClass;
+$oc->a[${f()}] = g();
+var_dump($oc);
+
+
+class C {
+	public static $name = "original";
+	public static $a = array(); 
+	public static $string = "hello";
+}
+echo "\n\nOrder with static property assignment:\n";
+C::${f()} = g();
+var_dump(C::$name);
+
+echo "\n\nOrder with static array property assignment:\n";
+C::$a[f()] = g();
+var_dump(C::$a);
+
+echo "\n\nOrder with indexed string assignment:\n";
+$string = "hello";
+function getOffset() { 
+	echo "in getOffset()\n";
+	return 0;
+}
+function newChar() {
+	echo "in newChar()\n";
+	return 'j';
+}
+$string[getOffset()] = newChar();
+var_dump($string);
+
+echo "\n\nOrder with static string property assignment:\n";
+C::$string[getOffset()] = newChar();
+var_dump(C::$string);
+
+?>
+--EXPECTF--
+
+
+Order with local assignment:
+in f()
+in g()
+string(14) "assigned value"
+
+
+Order with array assignment:
+in f()
+in g()
+array(1) {
+  ["name"]=>
+  string(14) "assigned value"
+}
+
+
+Order with object property assignment:
+in f()
+in g()
+object(stdClass)#%d (1) {
+  ["assigned value"]=>
+  string(14) "assigned value"
+}
+
+
+Order with nested object property assignment:
+in f()
+in g()
+object(stdClass)#%d (1) {
+  ["o1"]=>
+  object(stdClass)#%d (1) {
+    ["o2"]=>
+    object(stdClass)#%d (1) {
+      ["assigned value"]=>
+      string(14) "assigned value"
+    }
+  }
+}
+
+
+Order with dim_list property assignment:
+in f()
+in g()
+object(stdClass)#%d (1) {
+  ["a"]=>
+  array(1) {
+    ["assigned value"]=>
+    string(14) "assigned value"
+  }
+}
+
+
+Order with static property assignment:
+in f()
+in g()
+string(14) "assigned value"
+
+
+Order with static array property assignment:
+in f()
+in g()
+array(1) {
+  ["name"]=>
+  string(14) "assigned value"
+}
+
+
+Order with indexed string assignment:
+in getOffset()
+in newChar()
+string(5) "jello"
+
+
+Order with static string property assignment:
+in getOffset()
+in newChar()
+string(5) "jello"
diff --git a/tests/lang/engine_assignExecutionOrder_002.phpt b/tests/lang/engine_assignExecutionOrder_002.phpt
index df8d75e..203a3e9 100644
--- a/tests/lang/engine_assignExecutionOrder_002.phpt
+++ b/tests/lang/engine_assignExecutionOrder_002.phpt
@@ -1,135 +1,135 @@
---TEST--
-Evaluation order during assignments.
---FILE--
-<?php
-
-// simple case with missing element
-$f = array("hello","item2","bye");
-list($a,,$b) = $f;
-echo "A=$a B=$b\n";
-
-
-// Warning: Cannot use a scalar value as an array in %s on line %d
-$c[$c=1] = 1;
-
-// i++ evaluated first, so $d[0] is 10
-$d = array(0,10);
-$i = 0;
-$d[$i++] = $i*10;
-// expected array is 10,10
-var_dump($d);
-
-// the f++++ makes f into 2, so $e 0 and 1 should both be 30
-$e = array(0,0);
-$f = 0;
-$g1 = array(10,10);
-$g2 = array(20,20);
-$g3 = array(30,30);
-$g = array($g1,$g2,$g3);
-list($e[$f++],$e[$f++]) = $g[$f];
-// expect 30,30
-var_dump($e); 
-
-
-$i1 = array(1,2);
-$i2 = array(10,20);
-$i3 = array(100,200);
-$i4 = array(array(1000,2000),3000);
-$i = array($i1,$i2,$i3,$i4);
-$j = array(0,0,0);
-$h = 0;
-// a list of lists 
-list(list($j[$h++],$j[$h++]),$j[$h++]) = $i[$h];
-var_dump($j);
-
-
-// list of lists with just variable assignments - expect 100,200,300
-$k3 = array(100,200);
-$k = array($k3,300);
-list(list($l,$m),$n) = $k;
-echo "L=$l M=$m N=$n\n";
-
-
-// expect $x and $y to be null - this fails on php.net 5.2.1 (invalid opcode) - fixed in 5.2.3 
-list($o,$p) = 20;
-echo "O=$o and P=$p\n";
-
-
-// list of lists with blanks and nulls expect 10 20 40 50 60 70 80
-$q1 = array(10,20,30,40);
-$q2 = array(50,60);
-$q3 = array($q1,$q2,null,70);
-$q4 = array($q3,null,80);
-
-list(list(list($r,$s,,$t),list($u,$v),,$w),,$x) = $q4;
-echo "$r $s $t $u $v $w $x\n";
-
-
-// expect y and z to be undefined 
-list($y,$z) = array();
-echo "Y=$y,Z=$z\n";
-
-// expect h to be defined and be 10
-list($aa,$bb) = array(10);
-echo "AA=$aa\n";
-
-// expect cc and dd to be 10 and 30
-list($cc,,$dd) = array(10,20,30,40);
-echo "CC=$cc DD=$dd\n";
-
-// expect the inner array to be defined 
-$ee = array("original array");
-function f() {
-  global $ee;
-  $ee = array("array created in f()");
-  return 1;
-}
-$ee["array entry created after f()"][f()] = "hello";
-print_r($ee);
-
-?>
---EXPECTF--
-A=hello B=bye
-
-Warning: Cannot use a scalar value as an array in %s on line %d
-array(2) {
-  [0]=>
-  int(10)
-  [1]=>
-  int(10)
-}
-array(2) {
-  [0]=>
-  int(30)
-  [1]=>
-  int(30)
-}
-array(3) {
-  [0]=>
-  int(1000)
-  [1]=>
-  int(2000)
-  [2]=>
-  int(3000)
-}
-L=100 M=200 N=300
-O= and P=
-10 20 40 50 60 70 80
-
-Notice: Undefined offset:  1 in %s on line %d
-
-Notice: Undefined offset:  0 in %s on line %d
-Y=,Z=
-
-Notice: Undefined offset:  1 in %s on line %d
-AA=10
-CC=10 DD=30
-Array
-(
-    [0] => array created in f()
-    [array entry created after f()] => Array
-        (
-            [1] => hello
-        )
-
-)
+--TEST--
+Evaluation order during assignments.
+--FILE--
+<?php
+
+// simple case with missing element
+$f = array("hello","item2","bye");
+list($a,,$b) = $f;
+echo "A=$a B=$b\n";
+
+
+// Warning: Cannot use a scalar value as an array in %s on line %d
+$c[$c=1] = 1;
+
+// i++ evaluated first, so $d[0] is 10
+$d = array(0,10);
+$i = 0;
+$d[$i++] = $i*10;
+// expected array is 10,10
+var_dump($d);
+
+// the f++++ makes f into 2, so $e 0 and 1 should both be 30
+$e = array(0,0);
+$f = 0;
+$g1 = array(10,10);
+$g2 = array(20,20);
+$g3 = array(30,30);
+$g = array($g1,$g2,$g3);
+list($e[$f++],$e[$f++]) = $g[$f];
+// expect 30,30
+var_dump($e); 
+
+
+$i1 = array(1,2);
+$i2 = array(10,20);
+$i3 = array(100,200);
+$i4 = array(array(1000,2000),3000);
+$i = array($i1,$i2,$i3,$i4);
+$j = array(0,0,0);
+$h = 0;
+// a list of lists 
+list(list($j[$h++],$j[$h++]),$j[$h++]) = $i[$h];
+var_dump($j);
+
+
+// list of lists with just variable assignments - expect 100,200,300
+$k3 = array(100,200);
+$k = array($k3,300);
+list(list($l,$m),$n) = $k;
+echo "L=$l M=$m N=$n\n";
+
+
+// expect $x and $y to be null - this fails on php.net 5.2.1 (invalid opcode) - fixed in 5.2.3 
+list($o,$p) = 20;
+echo "O=$o and P=$p\n";
+
+
+// list of lists with blanks and nulls expect 10 20 40 50 60 70 80
+$q1 = array(10,20,30,40);
+$q2 = array(50,60);
+$q3 = array($q1,$q2,null,70);
+$q4 = array($q3,null,80);
+
+list(list(list($r,$s,,$t),list($u,$v),,$w),,$x) = $q4;
+echo "$r $s $t $u $v $w $x\n";
+
+
+// expect y and z to be undefined 
+list($y,$z) = array();
+echo "Y=$y,Z=$z\n";
+
+// expect h to be defined and be 10
+list($aa,$bb) = array(10);
+echo "AA=$aa\n";
+
+// expect cc and dd to be 10 and 30
+list($cc,,$dd) = array(10,20,30,40);
+echo "CC=$cc DD=$dd\n";
+
+// expect the inner array to be defined 
+$ee = array("original array");
+function f() {
+  global $ee;
+  $ee = array("array created in f()");
+  return 1;
+}
+$ee["array entry created after f()"][f()] = "hello";
+print_r($ee);
+
+?>
+--EXPECTF--
+A=hello B=bye
+
+Warning: Cannot use a scalar value as an array in %s on line %d
+array(2) {
+  [0]=>
+  int(10)
+  [1]=>
+  int(10)
+}
+array(2) {
+  [0]=>
+  int(30)
+  [1]=>
+  int(30)
+}
+array(3) {
+  [0]=>
+  int(1000)
+  [1]=>
+  int(2000)
+  [2]=>
+  int(3000)
+}
+L=100 M=200 N=300
+O= and P=
+10 20 40 50 60 70 80
+
+Notice: Undefined offset:  1 in %s on line %d
+
+Notice: Undefined offset:  0 in %s on line %d
+Y=,Z=
+
+Notice: Undefined offset:  1 in %s on line %d
+AA=10
+CC=10 DD=30
+Array
+(
+    [0] => array created in f()
+    [array entry created after f()] => Array
+        (
+            [1] => hello
+        )
+
+)
diff --git a/tests/lang/engine_assignExecutionOrder_003.phpt b/tests/lang/engine_assignExecutionOrder_003.phpt
index 71c87c9..ae3ae78 100644
--- a/tests/lang/engine_assignExecutionOrder_003.phpt
+++ b/tests/lang/engine_assignExecutionOrder_003.phpt
@@ -1,96 +1,96 @@
---TEST--
-Evaluation order during assignments.
---FILE--
-<?php
-$b = "bb";
-$a = "aa";
-
-function foo() 
-{
-echo "Bad call\n";
-}
-
-function baa()
-{
-echo "Good call\n";
-}
-
-$bb = "baa";
-
-$aa = "foo";
-
-$c = ${$a=$b};
-
-$c();
-
-$a1 = array("dead","dead","dead");
-$a2 = array("dead","dead","live");
-$a3 = array("dead","dead","dead");
-
-$a = array($a1,$a2,$a3);
-
-function live()
-{
-echo "Good call\n";
-}
-
-function dead()
-{
-echo "Bad call\n";
-}
-
-$i = 0;
-
-$a[$i=1][++$i]();
-
-$a = -1;
-
-function foo1()
-{
-  global $a;
-  return ++$a;
-}
-
-$arr = array(array(0,0),0);
-
-$brr = array(0,0,array(0,0,0,5),0);
-$crr = array(0,0,0,0,array(0,0,0,0,0,10),0,0);
-
-$arr[foo1()][foo1()] = $brr[foo1()][foo1()] +
-                     $crr[foo1()][foo1()];
-
-$val = $arr[0][1];
-echo "Expect 15 and get...$val\n";
-
-$x = array(array(0),0);
-function mod($b)
-{
-global $x;
-$x = $b;
-return 0;
-}
-
-$x1 = array(array(1),1);
-$x2 = array(array(2),2);
-$x3 = array(array(3),3);
-$bx = array(10);
-
-$x[mod($x1)][mod($x2)] = $bx[mod($x3)];  
-
-// expecting 10,3
-
-var_dump($x);
-?>
---EXPECT--
-Good call
-Good call
-Expect 15 and get...15
-array(2) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(10)
-  }
-  [1]=>
-  int(3)
+--TEST--
+Evaluation order during assignments.
+--FILE--
+<?php
+$b = "bb";
+$a = "aa";
+
+function foo() 
+{
+echo "Bad call\n";
+}
+
+function baa()
+{
+echo "Good call\n";
+}
+
+$bb = "baa";
+
+$aa = "foo";
+
+$c = ${$a=$b};
+
+$c();
+
+$a1 = array("dead","dead","dead");
+$a2 = array("dead","dead","live");
+$a3 = array("dead","dead","dead");
+
+$a = array($a1,$a2,$a3);
+
+function live()
+{
+echo "Good call\n";
+}
+
+function dead()
+{
+echo "Bad call\n";
+}
+
+$i = 0;
+
+$a[$i=1][++$i]();
+
+$a = -1;
+
+function foo1()
+{
+  global $a;
+  return ++$a;
+}
+
+$arr = array(array(0,0),0);
+
+$brr = array(0,0,array(0,0,0,5),0);
+$crr = array(0,0,0,0,array(0,0,0,0,0,10),0,0);
+
+$arr[foo1()][foo1()] = $brr[foo1()][foo1()] +
+                     $crr[foo1()][foo1()];
+
+$val = $arr[0][1];
+echo "Expect 15 and get...$val\n";
+
+$x = array(array(0),0);
+function mod($b)
+{
+global $x;
+$x = $b;
+return 0;
+}
+
+$x1 = array(array(1),1);
+$x2 = array(array(2),2);
+$x3 = array(array(3),3);
+$bx = array(10);
+
+$x[mod($x1)][mod($x2)] = $bx[mod($x3)];  
+
+// expecting 10,3
+
+var_dump($x);
+?>
+--EXPECT--
+Good call
+Good call
+Expect 15 and get...15
+array(2) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(10)
+  }
+  [1]=>
+  int(3)
 }
\ No newline at end of file
diff --git a/tests/lang/engine_assignExecutionOrder_004.phpt b/tests/lang/engine_assignExecutionOrder_004.phpt
index 09ff8bd..86bc87f 100644
--- a/tests/lang/engine_assignExecutionOrder_004.phpt
+++ b/tests/lang/engine_assignExecutionOrder_004.phpt
@@ -1,52 +1,52 @@
---TEST--
-Evaluation order during assignments.
---FILE--
-<?php
-
-function i1() {
-        echo "i1\n";
-        return 1;
-}
-
-function i2() {
-        echo "i2\n";
-        return 1;
-}
-
-function i3() {
-        echo "i3\n";
-        return 3;
-}
-
-function i4() {
-        global $a;
-        $a = array(10, 11, 12, 13, 14);
-        echo "i4\n";
-        return 4;
-}
-
-$a = 0; // $a should not be indexable till the i4 has been executed
-list($a[i1()+i2()], , list($a[i3()], $a[i4()]), $a[]) = array (0, 1, array(30, 40), 3, 4);
-
-var_dump($a);
-
-?>
---EXPECT--
-i1
-i2
-i3
-i4
-array(6) {
-  [0]=>
-  int(10)
-  [1]=>
-  int(11)
-  [2]=>
-  int(0)
-  [3]=>
-  int(30)
-  [4]=>
-  int(40)
-  [5]=>
-  int(3)
-}
+--TEST--
+Evaluation order during assignments.
+--FILE--
+<?php
+
+function i1() {
+        echo "i1\n";
+        return 1;
+}
+
+function i2() {
+        echo "i2\n";
+        return 1;
+}
+
+function i3() {
+        echo "i3\n";
+        return 3;
+}
+
+function i4() {
+        global $a;
+        $a = array(10, 11, 12, 13, 14);
+        echo "i4\n";
+        return 4;
+}
+
+$a = 0; // $a should not be indexable till the i4 has been executed
+list($a[i1()+i2()], , list($a[i3()], $a[i4()]), $a[]) = array (0, 1, array(30, 40), 3, 4);
+
+var_dump($a);
+
+?>
+--EXPECT--
+i1
+i2
+i3
+i4
+array(6) {
+  [0]=>
+  int(10)
+  [1]=>
+  int(11)
+  [2]=>
+  int(0)
+  [3]=>
+  int(30)
+  [4]=>
+  int(40)
+  [5]=>
+  int(3)
+}
diff --git a/tests/lang/engine_assignExecutionOrder_005.phpt b/tests/lang/engine_assignExecutionOrder_005.phpt
index 82715db..6ec03f1 100644
--- a/tests/lang/engine_assignExecutionOrder_005.phpt
+++ b/tests/lang/engine_assignExecutionOrder_005.phpt
@@ -1,74 +1,74 @@
---TEST--
-Evaluation order during assignments.
---FILE--
-<?php
-
-function i1() {
-        echo "i1\n";
-        return 0;
-}
-
-function i2() {
-        echo "i2\n";
-        return 0;
-}
-
-function i3() {
-        echo "i3\n";
-        return 0;
-}
-
-function i4() {
-        echo "i4\n";
-        return 0;
-}
-
-function i5() {
-        echo "i5\n";
-        return 0;
-}
-
-function i6() {
-        echo "i6\n";
-        return 0;
-}
-
-$a = array(array(0));
-$b = array(array(1));
-$c = array(array(2));
-
-$a[i1()][i2()] = $b[i3()][i4()] = $c[i5()][i6()];
-
-var_dump($a);
-var_dump($b);
-var_dump($c);
-
-?>
---EXPECT--
-i1
-i2
-i3
-i4
-i5
-i6
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(2)
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(2)
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(2)
-  }
-}
+--TEST--
+Evaluation order during assignments.
+--FILE--
+<?php
+
+function i1() {
+        echo "i1\n";
+        return 0;
+}
+
+function i2() {
+        echo "i2\n";
+        return 0;
+}
+
+function i3() {
+        echo "i3\n";
+        return 0;
+}
+
+function i4() {
+        echo "i4\n";
+        return 0;
+}
+
+function i5() {
+        echo "i5\n";
+        return 0;
+}
+
+function i6() {
+        echo "i6\n";
+        return 0;
+}
+
+$a = array(array(0));
+$b = array(array(1));
+$c = array(array(2));
+
+$a[i1()][i2()] = $b[i3()][i4()] = $c[i5()][i6()];
+
+var_dump($a);
+var_dump($b);
+var_dump($c);
+
+?>
+--EXPECT--
+i1
+i2
+i3
+i4
+i5
+i6
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(2)
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(2)
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(2)
+  }
+}
diff --git a/tests/lang/engine_assignExecutionOrder_006.phpt b/tests/lang/engine_assignExecutionOrder_006.phpt
index ac90db8..faa34c3 100644
--- a/tests/lang/engine_assignExecutionOrder_006.phpt
+++ b/tests/lang/engine_assignExecutionOrder_006.phpt
@@ -1,138 +1,138 @@
---TEST--
-Evaluation order during assignments.
---FILE--
-<?php
-
-function i1() {
-        echo "i1\n";
-        return 0;
-}
-
-function i2() {
-        echo "i2\n";
-        return 0;
-}
-
-function i3() {
-        echo "i3\n";
-        return 0;
-}
-
-function i4() {
-        echo "i4\n";
-        return 0;
-}
-
-function i5() {
-        echo "i5\n";
-        return 0;
-}
-
-function i6() {
-        echo "i6\n";
-        return 0;
-}
-
-$a = array(array(0));
-$b = array(array(1));
-$c = array(array(2));
-
-$a[i1()][i2()] = ($b[i3()][i4()] = $c[i5()][i6()]);
-var_dump($a);
-var_dump($b);
-var_dump($c);
-
-$a[i1()][i2()] = $b[i3()][i4()] = -$c[i5()][i6()];
-var_dump($a);
-var_dump($b);
-var_dump($c);
-
-$a[i1()][i2()] = -($b[i3()][i4()] = +($c[i5()][i6()]));
-var_dump($a);
-var_dump($b);
-var_dump($c);
-
-
-?>
---EXPECT--
-i1
-i2
-i3
-i4
-i5
-i6
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(2)
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(2)
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(2)
-  }
-}
-i1
-i2
-i3
-i4
-i5
-i6
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(-2)
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(-2)
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(2)
-  }
-}
-i1
-i2
-i3
-i4
-i5
-i6
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(-2)
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(2)
-  }
-}
-array(1) {
-  [0]=>
-  array(1) {
-    [0]=>
-    int(2)
-  }
-}
+--TEST--
+Evaluation order during assignments.
+--FILE--
+<?php
+
+function i1() {
+        echo "i1\n";
+        return 0;
+}
+
+function i2() {
+        echo "i2\n";
+        return 0;
+}
+
+function i3() {
+        echo "i3\n";
+        return 0;
+}
+
+function i4() {
+        echo "i4\n";
+        return 0;
+}
+
+function i5() {
+        echo "i5\n";
+        return 0;
+}
+
+function i6() {
+        echo "i6\n";
+        return 0;
+}
+
+$a = array(array(0));
+$b = array(array(1));
+$c = array(array(2));
+
+$a[i1()][i2()] = ($b[i3()][i4()] = $c[i5()][i6()]);
+var_dump($a);
+var_dump($b);
+var_dump($c);
+
+$a[i1()][i2()] = $b[i3()][i4()] = -$c[i5()][i6()];
+var_dump($a);
+var_dump($b);
+var_dump($c);
+
+$a[i1()][i2()] = -($b[i3()][i4()] = +($c[i5()][i6()]));
+var_dump($a);
+var_dump($b);
+var_dump($c);
+
+
+?>
+--EXPECT--
+i1
+i2
+i3
+i4
+i5
+i6
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(2)
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(2)
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(2)
+  }
+}
+i1
+i2
+i3
+i4
+i5
+i6
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(-2)
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(-2)
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(2)
+  }
+}
+i1
+i2
+i3
+i4
+i5
+i6
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(-2)
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(2)
+  }
+}
+array(1) {
+  [0]=>
+  array(1) {
+    [0]=>
+    int(2)
+  }
+}
diff --git a/tests/lang/engine_assignExecutionOrder_007.phpt b/tests/lang/engine_assignExecutionOrder_007.phpt
index 15a1696..1beb73d 100644
--- a/tests/lang/engine_assignExecutionOrder_007.phpt
+++ b/tests/lang/engine_assignExecutionOrder_007.phpt
@@ -1,47 +1,47 @@
---TEST--
-Check key execution order with &new. 
---FILE--
-<?php
-$a[2][3] = 'stdClass';
-$a[$i=0][++$i] =& new $a[++$i][++$i];
-print_r($a);
-
-$o = new stdClass;
-$o->a =& new $a[$i=2][++$i];
-$o->a->b =& new $a[$i=2][++$i];
-print_r($o);
-?>
---EXPECTF--
-
-Strict Standards: Assigning the return value of new by reference is deprecated in %s on line 3
-
-Strict Standards: Assigning the return value of new by reference is deprecated in %s on line 7
-
-Strict Standards: Assigning the return value of new by reference is deprecated in %s on line 8
-Array
-(
-    [2] => Array
-        (
-            [3] => stdClass
-        )
-
-    [0] => Array
-        (
-            [1] => stdClass Object
-                (
-                )
-
-        )
-
-)
-stdClass Object
-(
-    [a] => stdClass Object
-        (
-            [b] => stdClass Object
-                (
-                )
-
-        )
-
-)
+--TEST--
+Check key execution order with &new. 
+--FILE--
+<?php
+$a[2][3] = 'stdClass';
+$a[$i=0][++$i] =& new $a[++$i][++$i];
+print_r($a);
+
+$o = new stdClass;
+$o->a =& new $a[$i=2][++$i];
+$o->a->b =& new $a[$i=2][++$i];
+print_r($o);
+?>
+--EXPECTF--
+
+Strict Standards: Assigning the return value of new by reference is deprecated in %s on line 3
+
+Strict Standards: Assigning the return value of new by reference is deprecated in %s on line 7
+
+Strict Standards: Assigning the return value of new by reference is deprecated in %s on line 8
+Array
+(
+    [2] => Array
+        (
+            [3] => stdClass
+        )
+
+    [0] => Array
+        (
+            [1] => stdClass Object
+                (
+                )
+
+        )
+
+)
+stdClass Object
+(
+    [a] => stdClass Object
+        (
+            [b] => stdClass Object
+                (
+                )
+
+        )
+
+)
diff --git a/tests/lang/engine_assignExecutionOrder_008.phpt b/tests/lang/engine_assignExecutionOrder_008.phpt
index 301fa54..0d699bc 100644
--- a/tests/lang/engine_assignExecutionOrder_008.phpt
+++ b/tests/lang/engine_assignExecutionOrder_008.phpt
@@ -1,75 +1,75 @@
---TEST--
-Ensure by value assignments leave temporaries on the stack, for all sorts of assignees.
---FILE--
-<?php
-error_reporting(E_ALL & ~E_STRICT);
-
-function f() { return 0; }
-$a[0][1] = 'good';
-$a[1][1] = 'bad';
-
-echo "\n" . '$i=f(): ';
-echo $a[$i=f()][++$i];
-unset($i);
-
-echo "\n" . '$$x=f(): ';
-$x='i';
-echo $a[$$x=f()][++$$x];
-unset($i, $x);
-
-echo "\n" . '${\'i\'}=f(): ';
-echo $a[${'i'}=f()][++${'i'}];
-unset(${'i'});
-
-echo "\n" . '$i[0]=f(): ';
-echo $a[$i[0]=f()][++$i[0]];
-unset($i);
-
-echo "\n" . '$i[0][0]=f(): ';
-echo $a[$i[0][0]=f()][++$i[0][0]];
-unset($i);
-
-echo "\n" . '$i->p=f(): ';
-echo $a[$i->p=f()][++$i->p];
-unset($i);
-
-echo "\n" . '$i->p->q=f(): ';
-echo $a[$i->p->q=f()][++$i->p->q];
-unset($i);
-
-echo "\n" . '$i->p[0]=f(): ';
-echo $a[$i->p[0]=f()][++$i->p[0]];
-unset($i);
-
-echo "\n" . '$i->p[0]->p=f(): ';
-echo $a[$i->p[0]->p=f()][++$i->p[0]->p];
-unset($i);
-
-Class C {
-	static $p;
-}
-
-echo "\n" . 'C::$p=f(): ';
-echo $a[C::$p=f()][++C::$p];
-
-echo "\n" . 'C::$p[0]=f(): ';
-C::$p = array();
-echo $a[C::$p[0]=f()][++C::$p[0]];
-
-echo "\n" . 'C::$p->q=f(): ';
-C::$p = new stdclass;
-echo $a[C::$p->q=f()][++C::$p->q];
-?>
---EXPECTF--
-$i=f(): good
-$$x=f(): good
-${'i'}=f(): good
-$i[0]=f(): good
-$i[0][0]=f(): good
-$i->p=f(): good
-$i->p->q=f(): good
-$i->p[0]=f(): good
-$i->p[0]->p=f(): good
-C::$p=f(): good
-C::$p[0]=f(): good
+--TEST--
+Ensure by value assignments leave temporaries on the stack, for all sorts of assignees.
+--FILE--
+<?php
+error_reporting(E_ALL & ~E_STRICT);
+
+function f() { return 0; }
+$a[0][1] = 'good';
+$a[1][1] = 'bad';
+
+echo "\n" . '$i=f(): ';
+echo $a[$i=f()][++$i];
+unset($i);
+
+echo "\n" . '$$x=f(): ';
+$x='i';
+echo $a[$$x=f()][++$$x];
+unset($i, $x);
+
+echo "\n" . '${\'i\'}=f(): ';
+echo $a[${'i'}=f()][++${'i'}];
+unset(${'i'});
+
+echo "\n" . '$i[0]=f(): ';
+echo $a[$i[0]=f()][++$i[0]];
+unset($i);
+
+echo "\n" . '$i[0][0]=f(): ';
+echo $a[$i[0][0]=f()][++$i[0][0]];
+unset($i);
+
+echo "\n" . '$i->p=f(): ';
+echo $a[$i->p=f()][++$i->p];
+unset($i);
+
+echo "\n" . '$i->p->q=f(): ';
+echo $a[$i->p->q=f()][++$i->p->q];
+unset($i);
+
+echo "\n" . '$i->p[0]=f(): ';
+echo $a[$i->p[0]=f()][++$i->p[0]];
+unset($i);
+
+echo "\n" . '$i->p[0]->p=f(): ';
+echo $a[$i->p[0]->p=f()][++$i->p[0]->p];
+unset($i);
+
+Class C {
+	static $p;
+}
+
+echo "\n" . 'C::$p=f(): ';
+echo $a[C::$p=f()][++C::$p];
+
+echo "\n" . 'C::$p[0]=f(): ';
+C::$p = array();
+echo $a[C::$p[0]=f()][++C::$p[0]];
+
+echo "\n" . 'C::$p->q=f(): ';
+C::$p = new stdclass;
+echo $a[C::$p->q=f()][++C::$p->q];
+?>
+--EXPECTF--
+$i=f(): good
+$$x=f(): good
+${'i'}=f(): good
+$i[0]=f(): good
+$i[0][0]=f(): good
+$i->p=f(): good
+$i->p->q=f(): good
+$i->p[0]=f(): good
+$i->p[0]->p=f(): good
+C::$p=f(): good
+C::$p[0]=f(): good
 C::$p->q=f(): good
\ No newline at end of file
diff --git a/tests/lang/engine_assignExecutionOrder_009.phpt b/tests/lang/engine_assignExecutionOrder_009.phpt
index 58300a1..e1d5b71 100644
--- a/tests/lang/engine_assignExecutionOrder_009.phpt
+++ b/tests/lang/engine_assignExecutionOrder_009.phpt
@@ -1,36 +1,36 @@
---TEST--
-Execution ordering with comparison operators.
---FILE--
-<?php
-function f($x) {
-	echo "f($x) ";
-	return $x;
-}
-
-echo "Function call args:\n";
-var_dump(f($i=0) < f(++$i)); 
-var_dump(f($i=0) <= f(++$i));
-var_dump(f($i=0) > f(++$i)); 
-var_dump(f($i=0) >= f(++$i));
-
-echo "\nArray indices:\n";
-$a[1][2] = 0;
-$a[3][4] = 1;
-$i=0;
-var_dump($a[$i=1][++$i] < $a[++$i][++$i]); 
-var_dump($a[$i=1][++$i] <= $a[++$i][++$i]);
-var_dump($a[$i=1][++$i] > $a[++$i][++$i]); 
-var_dump($a[$i=1][++$i] >= $a[++$i][++$i]);
-?>
---EXPECTF--
-Function call args:
-f(0) f(1) bool(true)
-f(0) f(1) bool(true)
-f(0) f(1) bool(false)
-f(0) f(1) bool(false)
-
-Array indices:
-bool(true)
-bool(true)
-bool(false)
-bool(false)
+--TEST--
+Execution ordering with comparison operators.
+--FILE--
+<?php
+function f($x) {
+	echo "f($x) ";
+	return $x;
+}
+
+echo "Function call args:\n";
+var_dump(f($i=0) < f(++$i)); 
+var_dump(f($i=0) <= f(++$i));
+var_dump(f($i=0) > f(++$i)); 
+var_dump(f($i=0) >= f(++$i));
+
+echo "\nArray indices:\n";
+$a[1][2] = 0;
+$a[3][4] = 1;
+$i=0;
+var_dump($a[$i=1][++$i] < $a[++$i][++$i]); 
+var_dump($a[$i=1][++$i] <= $a[++$i][++$i]);
+var_dump($a[$i=1][++$i] > $a[++$i][++$i]); 
+var_dump($a[$i=1][++$i] >= $a[++$i][++$i]);
+?>
+--EXPECTF--
+Function call args:
+f(0) f(1) bool(true)
+f(0) f(1) bool(true)
+f(0) f(1) bool(false)
+f(0) f(1) bool(false)
+
+Array indices:
+bool(true)
+bool(true)
+bool(false)
+bool(false)
diff --git a/tests/lang/execution_order.phpt b/tests/lang/execution_order.phpt
index dc92791..ca3feb3 100644
--- a/tests/lang/execution_order.phpt
+++ b/tests/lang/execution_order.phpt
@@ -1,198 +1,198 @@
---TEST--
-Execution order of variables
---FILE--
-<?php
-
-/* strings and concat */
-
-class strclass {
-   var $str = "bad";
-   static $statstr = "bad";
-}
-
-$a = "bad";
-$b = "good";
-echo "1)";
-$c = $a.($a=$b);
-echo $c;
-echo "\r\n";
-
-$a = "bad";
-$b = "good";
-$c = ($a=$b).$a;
-echo "2)";
-echo $c;
-echo "\r\n";
-
-
-$str = new strclass();
-$c = $str->str.($str->str="good");
-echo "3)";
-echo $c;
-echo "\r\n";
-
-$str->str = "bad";
-
-$c = ($str->str="good").$str->str;
-echo "4)";
-echo $c;
-echo "\r\n";
-
-$c = strclass::$statstr.(strclass::$statstr="good");
-echo "5)";
-echo $c;
-echo "\r\n";
-
-strclass::$statstr = "bad";
-
-$c = (strclass::$statstr="good").strclass::$statstr;
-echo "6)";
-echo $c;
-echo "\r\n";
-
-
-function foo() {
-   global $a;
-   $a = "good";
-   return $a;
-}
-
-
-$a = "bad";
-echo "7)";
-echo foo() . $a;
-echo "\r\n";
-
-$a = "bad";
-echo "8)";
-echo $a . foo();
-echo "\r\n";
-
-/* other operators */
-
-$x = 1;
-$z = $x - ($x++);
-echo "9)";
-echo $z;
-echo "\r\n";
-
-$x = 1;
-$z = ($x++) - $x;
-echo "10)";
-echo $z;
-echo "\r\n";
-
-$x = 1;
-$z = $x - (++$x);
-echo "11)";
-echo $z;
-echo "\r\n";
-
-$x = 1;
-$z = (++$x) - $x;
-echo "12)";
-echo $z;
-echo "\r\n";
-
-
-$x = 1;
-$y = 3;
-$z = $x - ($x=$y);
-echo "13)";
-echo $z;
-echo "\r\n";
-
-$x = 1;
-$y = 3;
-$z = ($x=$y) - $x;
-echo "14)";
-echo $z;
-echo "\r\n";
-
-
-$a = 100;
-$b = 200;
-echo "15)";
-echo $a + ($a=$b);
-echo "\r\n";
-
-$a = 100;
-$b = 200;
-echo "16)";
-echo ($a=$b) + $a;
-echo "\r\n";
-
-
-$a = array(100,200);
-$i = 0;
-
-echo "17)";
-echo $a[$i++] + $a[$i++];
-echo "\r\n";
-
-$i = -1;
-echo "18)";
-echo $a[++$i] + $a[++$i];
-echo "\r\n";
-
-$i = 0;
-echo "19)";
-echo $a[$i] + ($a[$i]=400);
-echo "\r\n";
-
-
-$a[0] = 100;
-echo "20)";
-echo ($a[$i]=400) + $a[$i];
-echo "\r\n";
-
-
-class c {
-   var $val = 10;
-   static $stat = 20;
-}
-
-echo "21)";
-echo c::$stat + (c::$stat=200);
-echo "\r\n";
-
-echo "22)";
-echo (c::$stat=300) + c::$stat;
-echo "\r\n";
-
-$c = new c();
-
-echo "23)";
-echo $c->val + ($c->val=200);
-echo "\r\n";
-
-echo "24)";
-echo ($c->val=300) + $c->val;
-echo "\r\n";
- 
-?>
---EXPECT--
-1)goodgood
-2)goodgood
-3)badgood
-4)goodgood
-5)badgood
-6)goodgood
-7)goodgood
-8)goodgood
-9)1
-10)-1
-11)0
-12)0
-13)0
-14)0
-15)400
-16)400
-17)300
-18)300
-19)500
-20)800
-21)220
-22)600
-23)210
-24)600
+--TEST--
+Execution order of variables
+--FILE--
+<?php
+
+/* strings and concat */
+
+class strclass {
+   var $str = "bad";
+   static $statstr = "bad";
+}
+
+$a = "bad";
+$b = "good";
+echo "1)";
+$c = $a.($a=$b);
+echo $c;
+echo "\r\n";
+
+$a = "bad";
+$b = "good";
+$c = ($a=$b).$a;
+echo "2)";
+echo $c;
+echo "\r\n";
+
+
+$str = new strclass();
+$c = $str->str.($str->str="good");
+echo "3)";
+echo $c;
+echo "\r\n";
+
+$str->str = "bad";
+
+$c = ($str->str="good").$str->str;
+echo "4)";
+echo $c;
+echo "\r\n";
+
+$c = strclass::$statstr.(strclass::$statstr="good");
+echo "5)";
+echo $c;
+echo "\r\n";
+
+strclass::$statstr = "bad";
+
+$c = (strclass::$statstr="good").strclass::$statstr;
+echo "6)";
+echo $c;
+echo "\r\n";
+
+
+function foo() {
+   global $a;
+   $a = "good";
+   return $a;
+}
+
+
+$a = "bad";
+echo "7)";
+echo foo() . $a;
+echo "\r\n";
+
+$a = "bad";
+echo "8)";
+echo $a . foo();
+echo "\r\n";
+
+/* other operators */
+
+$x = 1;
+$z = $x - ($x++);
+echo "9)";
+echo $z;
+echo "\r\n";
+
+$x = 1;
+$z = ($x++) - $x;
+echo "10)";
+echo $z;
+echo "\r\n";
+
+$x = 1;
+$z = $x - (++$x);
+echo "11)";
+echo $z;
+echo "\r\n";
+
+$x = 1;
+$z = (++$x) - $x;
+echo "12)";
+echo $z;
+echo "\r\n";
+
+
+$x = 1;
+$y = 3;
+$z = $x - ($x=$y);
+echo "13)";
+echo $z;
+echo "\r\n";
+
+$x = 1;
+$y = 3;
+$z = ($x=$y) - $x;
+echo "14)";
+echo $z;
+echo "\r\n";
+
+
+$a = 100;
+$b = 200;
+echo "15)";
+echo $a + ($a=$b);
+echo "\r\n";
+
+$a = 100;
+$b = 200;
+echo "16)";
+echo ($a=$b) + $a;
+echo "\r\n";
+
+
+$a = array(100,200);
+$i = 0;
+
+echo "17)";
+echo $a[$i++] + $a[$i++];
+echo "\r\n";
+
+$i = -1;
+echo "18)";
+echo $a[++$i] + $a[++$i];
+echo "\r\n";
+
+$i = 0;
+echo "19)";
+echo $a[$i] + ($a[$i]=400);
+echo "\r\n";
+
+
+$a[0] = 100;
+echo "20)";
+echo ($a[$i]=400) + $a[$i];
+echo "\r\n";
+
+
+class c {
+   var $val = 10;
+   static $stat = 20;
+}
+
+echo "21)";
+echo c::$stat + (c::$stat=200);
+echo "\r\n";
+
+echo "22)";
+echo (c::$stat=300) + c::$stat;
+echo "\r\n";
+
+$c = new c();
+
+echo "23)";
+echo $c->val + ($c->val=200);
+echo "\r\n";
+
+echo "24)";
+echo ($c->val=300) + $c->val;
+echo "\r\n";
+ 
+?>
+--EXPECT--
+1)goodgood
+2)goodgood
+3)badgood
+4)goodgood
+5)badgood
+6)goodgood
+7)goodgood
+8)goodgood
+9)1
+10)-1
+11)0
+12)0
+13)0
+14)0
+15)400
+16)400
+17)300
+18)300
+19)500
+20)800
+21)220
+22)600
+23)210
+24)600
diff --git a/tests/lang/foreachLoopIterator.001.phpt b/tests/lang/foreachLoopIterator.001.phpt
new file mode 100644
index 0000000..2992e90
--- /dev/null
+++ b/tests/lang/foreachLoopIterator.001.phpt
@@ -0,0 +1,135 @@
+--TEST--
+foreach with Iterator. 
+--FILE--
+<?php
+
+class MealIterator implements Iterator {
+	private $pos=0;
+	private $myContent=array("breakfast", "lunch", "dinner");
+	
+	public function valid() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->pos<3;
+	}
+	
+	public function next() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->myContent[$this->pos++];
+	}
+	
+	public function rewind() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		$this->pos=0;
+	}
+
+	public function current() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->myContent[$this->pos];
+	}
+	
+	public function key() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return "meal " . $this->pos;
+	}
+	
+}
+
+$f = new MealIterator;
+var_dump($f);
+
+echo "-----( Simple iteration: )-----\n";
+foreach ($f as $k=>$v) {
+	echo "$k => $v\n";	
+}
+
+$f->rewind();
+
+$indent = " ";
+
+echo "\n\n\n-----( Nested iteration: )-----\n";
+$count=1;
+foreach ($f as $k=>$v) {
+	echo "\nTop level "  .  $count++ . ": \n"; 
+	echo "$k => $v\n";
+	$indent = "     ";
+	foreach ($f as $k=>$v) {
+		echo "     $k => $v\n";	
+	}
+	$indent = " ";
+	
+}
+
+
+?>
+===DONE===
+--EXPECTF--
+object(MealIterator)#%d (2) {
+  ["pos:private"]=>
+  int(0)
+  ["myContent:private"]=>
+  array(3) {
+    [0]=>
+    string(9) "breakfast"
+    [1]=>
+    string(5) "lunch"
+    [2]=>
+    string(6) "dinner"
+  }
+}
+-----( Simple iteration: )-----
+--> MealIterator::rewind (0)
+--> MealIterator::valid (0)
+--> MealIterator::current (0)
+--> MealIterator::key (0)
+meal 0 => breakfast
+--> MealIterator::next (0)
+--> MealIterator::valid (1)
+--> MealIterator::current (1)
+--> MealIterator::key (1)
+meal 1 => lunch
+--> MealIterator::next (1)
+--> MealIterator::valid (2)
+--> MealIterator::current (2)
+--> MealIterator::key (2)
+meal 2 => dinner
+--> MealIterator::next (2)
+--> MealIterator::valid (3)
+--> MealIterator::rewind (3)
+
+
+
+-----( Nested iteration: )-----
+ --> MealIterator::rewind (0)
+ --> MealIterator::valid (0)
+ --> MealIterator::current (0)
+ --> MealIterator::key (0)
+
+Top level 1: 
+meal 0 => breakfast
+     --> MealIterator::rewind (0)
+     --> MealIterator::valid (0)
+     --> MealIterator::current (0)
+     --> MealIterator::key (0)
+     meal 0 => breakfast
+     --> MealIterator::next (0)
+     --> MealIterator::valid (1)
+     --> MealIterator::current (1)
+     --> MealIterator::key (1)
+     meal 1 => lunch
+     --> MealIterator::next (1)
+     --> MealIterator::valid (2)
+     --> MealIterator::current (2)
+     --> MealIterator::key (2)
+     meal 2 => dinner
+     --> MealIterator::next (2)
+     --> MealIterator::valid (3)
+ --> MealIterator::next (3)
+
+Notice: Undefined offset:  3 in %s on line %d
+ --> MealIterator::valid (4)
+===DONE===
\ No newline at end of file
diff --git a/tests/lang/foreachLoopIterator.002.phpt b/tests/lang/foreachLoopIterator.002.phpt
new file mode 100644
index 0000000..f40e09b
--- /dev/null
+++ b/tests/lang/foreachLoopIterator.002.phpt
@@ -0,0 +1,24 @@
+--TEST--
+foreach with iterator and &$value reference
+--FILE--
+<?php
+
+class MyIterator implements Iterator {
+	public function valid() { return true; }
+	public function next() {	}
+	public function rewind() {	}
+	public function current() {	}
+	public function key() {	}
+}
+
+$f = new MyIterator;
+echo "-----( Try to iterate with &\$value: )-----\n";
+foreach ($f as $k=>&$v) {
+	echo "$k => $v\n";	
+}
+
+?>
+--EXPECTF--
+-----( Try to iterate with &$value: )-----
+
+Fatal error: An iterator cannot be used with foreach by reference in %s on line 13
\ No newline at end of file
diff --git a/tests/lang/foreachLoopIteratorAggregate.001.phpt b/tests/lang/foreachLoopIteratorAggregate.001.phpt
new file mode 100644
index 0000000..8d7fd4c
--- /dev/null
+++ b/tests/lang/foreachLoopIteratorAggregate.001.phpt
@@ -0,0 +1,270 @@
+--TEST--
+foreach with iteratorAggregate
+--FILE--
+<?php
+class EnglishMealIterator implements Iterator {
+	private $pos=0;
+	private $myContent=array("breakfast", "dinner", "tea");
+	
+	public function valid() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->pos < count($this->myContent);
+	}
+	
+	public function next() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		$this->pos++;
+	}
+	
+	public function rewind() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		$this->pos=0;
+	}
+
+	public function current() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->myContent[$this->pos];
+	}
+	
+	public function key() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return "meal " . $this->pos;
+	}
+	
+}
+
+class FrenchMealIterator implements Iterator {
+	private $pos=0;
+	private $myContent=array("petit dejeuner", "dejeuner", "gouter", "dinner");
+	
+	public function valid() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->pos < count($this->myContent);
+	}
+	
+	public function next() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		$this->pos++;
+	}
+	
+	public function rewind() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		$this->pos=0;
+	}
+
+	public function current() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->myContent[$this->pos];
+	}
+	
+	public function key() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return "meal " . $this->pos;
+	}
+	
+}
+
+
+Class EuropeanMeals implements IteratorAggregate {
+	
+	private $storedEnglishMealIterator;
+	private $storedFrenchMealIterator;
+	
+	public function __construct() {
+		$this->storedEnglishMealIterator = new EnglishMealIterator;
+		$this->storedFrenchMealIterator = new FrenchMealIterator;
+	}
+	
+	public function getIterator() {
+		global $indent;
+		echo "$indent--> " . __METHOD__  . "\n";
+		
+		//Alternate between English and French meals
+		static $i = 0;
+		if ($i++%2 == 0) {
+			return $this->storedEnglishMealIterator;
+		} else {
+			return $this->storedFrenchMealIterator;
+		}
+	}
+	
+}
+
+$f = new EuropeanMeals;
+var_dump($f);
+
+echo "-----( Simple iteration 1: )-----\n";
+foreach ($f as $k=>$v) {
+	echo "$k => $v\n";	
+}
+echo "-----( Simple iteration 2: )-----\n";
+foreach ($f as $k=>$v) {
+	echo "$k => $v\n";	
+}
+
+
+$indent = " ";
+echo "\n\n\n-----( Nested iteration: )-----\n";
+$count=1;
+foreach ($f as $k=>$v) {
+	echo "\nTop level "  .  $count++ . ": \n"; 
+	echo "$k => $v\n";
+	$indent = "     ";
+	foreach ($f as $k=>$v) {
+		echo "     $k => $v\n";	
+	}
+	$indent = " ";
+}
+
+
+?>
+===DONE===
+--EXPECTF--
+object(EuropeanMeals)#%d (2) {
+  ["storedEnglishMealIterator:private"]=>
+  object(EnglishMealIterator)#%d (2) {
+    ["pos:private"]=>
+    int(0)
+    ["myContent:private"]=>
+    array(3) {
+      [0]=>
+      string(9) "breakfast"
+      [1]=>
+      string(6) "dinner"
+      [2]=>
+      string(3) "tea"
+    }
+  }
+  ["storedFrenchMealIterator:private"]=>
+  object(FrenchMealIterator)#%d (2) {
+    ["pos:private"]=>
+    int(0)
+    ["myContent:private"]=>
+    array(4) {
+      [0]=>
+      string(%d) "petit dejeuner"
+      [1]=>
+      string(%d) "dejeuner"
+      [2]=>
+      string(%d) "gouter"
+      [3]=>
+      string(6) "dinner"
+    }
+  }
+}
+-----( Simple iteration 1: )-----
+--> EuropeanMeals::getIterator
+--> EnglishMealIterator::rewind (0)
+--> EnglishMealIterator::valid (0)
+--> EnglishMealIterator::current (0)
+--> EnglishMealIterator::key (0)
+meal 0 => breakfast
+--> EnglishMealIterator::next (0)
+--> EnglishMealIterator::valid (1)
+--> EnglishMealIterator::current (1)
+--> EnglishMealIterator::key (1)
+meal 1 => dinner
+--> EnglishMealIterator::next (1)
+--> EnglishMealIterator::valid (2)
+--> EnglishMealIterator::current (2)
+--> EnglishMealIterator::key (2)
+meal 2 => tea
+--> EnglishMealIterator::next (2)
+--> EnglishMealIterator::valid (3)
+-----( Simple iteration 2: )-----
+--> EuropeanMeals::getIterator
+--> FrenchMealIterator::rewind (0)
+--> FrenchMealIterator::valid (0)
+--> FrenchMealIterator::current (0)
+--> FrenchMealIterator::key (0)
+meal 0 => petit dejeuner
+--> FrenchMealIterator::next (0)
+--> FrenchMealIterator::valid (1)
+--> FrenchMealIterator::current (1)
+--> FrenchMealIterator::key (1)
+meal 1 => dejeuner
+--> FrenchMealIterator::next (1)
+--> FrenchMealIterator::valid (2)
+--> FrenchMealIterator::current (2)
+--> FrenchMealIterator::key (2)
+meal 2 => gouter
+--> FrenchMealIterator::next (2)
+--> FrenchMealIterator::valid (3)
+--> FrenchMealIterator::current (3)
+--> FrenchMealIterator::key (3)
+meal 3 => dinner
+--> FrenchMealIterator::next (3)
+--> FrenchMealIterator::valid (4)
+
+
+
+-----( Nested iteration: )-----
+ --> EuropeanMeals::getIterator
+ --> EnglishMealIterator::rewind (3)
+ --> EnglishMealIterator::valid (0)
+ --> EnglishMealIterator::current (0)
+ --> EnglishMealIterator::key (0)
+
+Top level 1: 
+meal 0 => breakfast
+     --> EuropeanMeals::getIterator
+     --> FrenchMealIterator::rewind (4)
+     --> FrenchMealIterator::valid (0)
+     --> FrenchMealIterator::current (0)
+     --> FrenchMealIterator::key (0)
+     meal 0 => petit dejeuner
+     --> FrenchMealIterator::next (0)
+     --> FrenchMealIterator::valid (1)
+     --> FrenchMealIterator::current (1)
+     --> FrenchMealIterator::key (1)
+     meal 1 => dejeuner
+     --> FrenchMealIterator::next (1)
+     --> FrenchMealIterator::valid (2)
+     --> FrenchMealIterator::current (2)
+     --> FrenchMealIterator::key (2)
+     meal 2 => gouter
+     --> FrenchMealIterator::next (2)
+     --> FrenchMealIterator::valid (3)
+     --> FrenchMealIterator::current (3)
+     --> FrenchMealIterator::key (3)
+     meal 3 => dinner
+     --> FrenchMealIterator::next (3)
+     --> FrenchMealIterator::valid (4)
+ --> EnglishMealIterator::next (0)
+ --> EnglishMealIterator::valid (1)
+ --> EnglishMealIterator::current (1)
+ --> EnglishMealIterator::key (1)
+
+Top level 2: 
+meal 1 => dinner
+     --> EuropeanMeals::getIterator
+     --> EnglishMealIterator::rewind (1)
+     --> EnglishMealIterator::valid (0)
+     --> EnglishMealIterator::current (0)
+     --> EnglishMealIterator::key (0)
+     meal 0 => breakfast
+     --> EnglishMealIterator::next (0)
+     --> EnglishMealIterator::valid (1)
+     --> EnglishMealIterator::current (1)
+     --> EnglishMealIterator::key (1)
+     meal 1 => dinner
+     --> EnglishMealIterator::next (1)
+     --> EnglishMealIterator::valid (2)
+     --> EnglishMealIterator::current (2)
+     --> EnglishMealIterator::key (2)
+     meal 2 => tea
+     --> EnglishMealIterator::next (2)
+     --> EnglishMealIterator::valid (3)
+ --> EnglishMealIterator::next (3)
+ --> EnglishMealIterator::valid (4)
+===DONE===
\ No newline at end of file
diff --git a/tests/lang/foreachLoopIteratorAggregate.002.phpt b/tests/lang/foreachLoopIteratorAggregate.002.phpt
new file mode 100644
index 0000000..eef4302
--- /dev/null
+++ b/tests/lang/foreachLoopIteratorAggregate.002.phpt
@@ -0,0 +1,53 @@
+--TEST--
+IteratorAggregate::getIterator bad return type
+--FILE--
+<?php
+
+class bad1 implements IteratorAggregate {
+	function getIterator() {
+		return null;
+	}
+}
+
+class bad2 implements IteratorAggregate {
+	function getIterator() {
+		return new stdClass;
+	}
+}
+
+class bad3 implements IteratorAggregate {
+	function getIterator() {
+		return 1;
+	}
+}
+
+class bad4 implements IteratorAggregate {
+	function getIterator() {
+		return array(1,2,3);
+	}
+}
+
+
+function f($className) {
+	try {
+		foreach (new $className as $k=>$v) {
+			echo "$k => $v\n";	
+		}
+	} catch (Exception $e) {
+			echo $e->getLine() . ": " . $e->getMessage() ."\n";
+	}
+}
+
+f("bad1");
+f("bad2");
+f("bad3");
+f("bad4");
+
+?>
+===DONE===
+--EXPECTF--
+30: Objects returned by bad1::getIterator() must be traversable or implement interface Iterator
+30: Objects returned by bad2::getIterator() must be traversable or implement interface Iterator
+30: Objects returned by bad3::getIterator() must be traversable or implement interface Iterator
+30: Objects returned by bad4::getIterator() must be traversable or implement interface Iterator
+===DONE===
\ No newline at end of file
diff --git a/tests/lang/foreachLoopIteratorAggregate.003.phpt b/tests/lang/foreachLoopIteratorAggregate.003.phpt
new file mode 100644
index 0000000..12426c5
--- /dev/null
+++ b/tests/lang/foreachLoopIteratorAggregate.003.phpt
@@ -0,0 +1,134 @@
+--TEST--
+foreach with nested iteratorAggregates
+--FILE--
+<?php
+class EnglishMealIterator implements Iterator {
+	private $pos=0;
+	private $myContent=array("breakfast", "dinner", "tea");
+	
+	public function valid() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->pos<3;
+	}
+	
+	public function next() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->myContent[$this->pos++];
+	}
+	
+	public function rewind() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		$this->pos=0;
+	}
+
+	public function current() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return $this->myContent[$this->pos];
+	}
+	
+	public function key() {
+		global $indent;
+		echo "$indent--> " . __METHOD__ . " ($this->pos)\n";
+		return "meal " . $this->pos;
+	}
+	
+}
+
+class A1 implements IteratorAggregate {
+	function getIterator() {
+		return new EnglishMealIterator;
+	}
+}
+
+class A2 implements IteratorAggregate {
+	function getIterator() {
+		return new A1;
+	}
+}
+
+class A3 implements IteratorAggregate {
+	function getIterator() {
+		return new A2;
+	}
+}
+
+echo "\n-----( A1: )-----\n";
+foreach (new A1 as $k=>$v) {
+	echo "$k => $v\n";	
+}
+
+echo "\n-----( A2: )-----\n";
+foreach (new A2 as $k=>$v) {
+	echo "$k => $v\n";	
+}
+
+echo "\n-----( A3: )-----\n";
+foreach (new A3 as $k=>$v) {
+	echo "$k => $v\n";	
+}
+
+
+?>
+===DONE===
+--EXPECTF--
+-----( A1: )-----
+--> EnglishMealIterator::rewind (0)
+--> EnglishMealIterator::valid (0)
+--> EnglishMealIterator::current (0)
+--> EnglishMealIterator::key (0)
+meal 0 => breakfast
+--> EnglishMealIterator::next (0)
+--> EnglishMealIterator::valid (1)
+--> EnglishMealIterator::current (1)
+--> EnglishMealIterator::key (1)
+meal 1 => dinner
+--> EnglishMealIterator::next (1)
+--> EnglishMealIterator::valid (2)
+--> EnglishMealIterator::current (2)
+--> EnglishMealIterator::key (2)
+meal 2 => tea
+--> EnglishMealIterator::next (2)
+--> EnglishMealIterator::valid (3)
+
+-----( A2: )-----
+--> EnglishMealIterator::rewind (0)
+--> EnglishMealIterator::valid (0)
+--> EnglishMealIterator::current (0)
+--> EnglishMealIterator::key (0)
+meal 0 => breakfast
+--> EnglishMealIterator::next (0)
+--> EnglishMealIterator::valid (1)
+--> EnglishMealIterator::current (1)
+--> EnglishMealIterator::key (1)
+meal 1 => dinner
+--> EnglishMealIterator::next (1)
+--> EnglishMealIterator::valid (2)
+--> EnglishMealIterator::current (2)
+--> EnglishMealIterator::key (2)
+meal 2 => tea
+--> EnglishMealIterator::next (2)
+--> EnglishMealIterator::valid (3)
+
+-----( A3: )-----
+--> EnglishMealIterator::rewind (0)
+--> EnglishMealIterator::valid (0)
+--> EnglishMealIterator::current (0)
+--> EnglishMealIterator::key (0)
+meal 0 => breakfast
+--> EnglishMealIterator::next (0)
+--> EnglishMealIterator::valid (1)
+--> EnglishMealIterator::current (1)
+--> EnglishMealIterator::key (1)
+meal 1 => dinner
+--> EnglishMealIterator::next (1)
+--> EnglishMealIterator::valid (2)
+--> EnglishMealIterator::current (2)
+--> EnglishMealIterator::key (2)
+meal 2 => tea
+--> EnglishMealIterator::next (2)
+--> EnglishMealIterator::valid (3)
+===DONE===
diff --git a/tests/lang/foreachLoopIteratorAggregate.004.phpt b/tests/lang/foreachLoopIteratorAggregate.004.phpt
new file mode 100644
index 0000000..9a1e612
--- /dev/null
+++ b/tests/lang/foreachLoopIteratorAggregate.004.phpt
@@ -0,0 +1,104 @@
+--TEST--
+Duplicate of zend test tests/classes/iterators_002.phpt without expected output from destructor
+--FILE--
+<?php
+class c_iter implements Iterator {
+
+	private $obj;
+	private $num = 0;
+
+	function __construct($obj) {
+		echo __METHOD__ . "\n";
+		$this->obj = $obj;
+	}
+	function rewind() {
+		echo __METHOD__ . "\n";
+		$this->num = 0;
+	}
+	function valid() {
+		$more = $this->num < $this->obj->max;
+		echo __METHOD__ . ' = ' .($more ? 'true' : 'false') . "\n";
+		return $more;
+	}
+	function current() {
+		echo __METHOD__ . "\n";
+		return $this->num;
+	}
+	function next() {
+		echo __METHOD__ . "\n";
+		$this->num++;
+	}
+	function key() {
+		echo __METHOD__ . "\n";
+		switch($this->num) {
+			case 0: return "1st";
+			case 1: return "2nd";
+			case 2: return "3rd";
+			default: return "???";
+		}
+	}
+	function __destruct() {
+	}
+}
+	
+class c implements IteratorAggregate {
+
+	public $max = 3;
+
+	function getIterator() {
+		echo __METHOD__ . "\n";
+		return new c_iter($this);
+	}
+	function __destruct() {
+	}
+}
+
+$t = new c();
+
+foreach($t as $k => $v) {
+	foreach($t as $w) {
+		echo "double:$v:$w\n";
+		break;
+	}
+}
+
+unset($t);
+
+?>
+===DONE===
+--EXPECT--
+c::getIterator
+c_iter::__construct
+c_iter::rewind
+c_iter::valid = true
+c_iter::current
+c_iter::key
+c::getIterator
+c_iter::__construct
+c_iter::rewind
+c_iter::valid = true
+c_iter::current
+double:0:0
+c_iter::next
+c_iter::valid = true
+c_iter::current
+c_iter::key
+c::getIterator
+c_iter::__construct
+c_iter::rewind
+c_iter::valid = true
+c_iter::current
+double:1:0
+c_iter::next
+c_iter::valid = true
+c_iter::current
+c_iter::key
+c::getIterator
+c_iter::__construct
+c_iter::rewind
+c_iter::valid = true
+c_iter::current
+double:2:0
+c_iter::next
+c_iter::valid = false
+===DONE===
diff --git a/tests/lang/foreach_with_object_001.phpt b/tests/lang/foreach_with_object_001.phpt
index 84fe625..598b844 100755
--- a/tests/lang/foreach_with_object_001.phpt
+++ b/tests/lang/foreach_with_object_001.phpt
@@ -1,25 +1,25 @@
---TEST--
-foreach() with foreach($o->mthd()->arr)
---FILE--
-<?php
-class Test {
-   public $a = array(1,2,3,4,5); // removed, crash too
-   function c() {
-      return new Test();
-   }
-
-}
-$obj = new Test();
-foreach ($obj->c()->a as $value) {
-    print "$value\n";
-}
-
-?>
-===DONE===
---EXPECT--
-1
-2
-3
-4
-5
-===DONE===
+--TEST--
+foreach() with foreach($o->mthd()->arr)
+--FILE--
+<?php
+class Test {
+   public $a = array(1,2,3,4,5); // removed, crash too
+   function c() {
+      return new Test();
+   }
+
+}
+$obj = new Test();
+foreach ($obj->c()->a as $value) {
+    print "$value\n";
+}
+
+?>
+===DONE===
+--EXPECT--
+1
+2
+3
+4
+5
+===DONE===
diff --git a/tests/lang/passByReference_012.phpt b/tests/lang/passByReference_012.phpt
new file mode 100644
index 0000000..3f80799
--- /dev/null
+++ b/tests/lang/passByReference_012.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Test pass by reference semantics
+--FILE--
+<?php
+error_reporting(E_ALL | E_STRICT | E_NOTICE);
+
+// Simplified array_shift_variation5.phpt
+// Showing warning:
+// "Only variables should be passed by reference in %s on line %d"
+$stack = array ( array ( 'two' ));
+var_dump(array_shift(array_shift($stack)));
+
+// This should show the identical warning 
+$original = array ( array ( 'one' ));
+$stack = $original;
+var_dump(array_shift(array_shift($stack)));
+?>
+===DONE===
+--EXPECTF--
+Strict Standards: Only variables should be passed by reference in %s on line %d
+string(3) "two"
+
+Strict Standards: Only variables should be passed by reference in %s on line %d
+string(3) "one"
+===DONE===
+	
\ No newline at end of file
diff --git a/tests/lang/string_decimals_001.phpt b/tests/lang/string_decimals_001.phpt
new file mode 100644
index 0000000..3a509b2
--- /dev/null
+++ b/tests/lang/string_decimals_001.phpt
@@ -0,0 +1,45 @@
+--TEST--
+String conversion with multiple decimal points
+--FILE--
+<?php
+function test($str) {
+  echo "\n--> Testing $str:\n";
+  var_dump((int)$str);
+  var_dump((float)$str);
+  var_dump($str > 0);
+}
+
+test("..9");
+test(".9.");
+test("9..");
+test("9.9.");
+test("9.9.9");
+?>
+===DONE===
+--EXPECTF--
+
+--> Testing ..9:
+int(0)
+float(0)
+bool(false)
+
+--> Testing .9.:
+int(0)
+float(0.9)
+bool(true)
+
+--> Testing 9..:
+int(9)
+float(9)
+bool(true)
+
+--> Testing 9.9.:
+int(9)
+float(9.9)
+bool(true)
+
+--> Testing 9.9.9:
+int(9)
+float(9.9)
+bool(true)
+===DONE===
\ No newline at end of file
diff --git a/tests/lang/this_assignment.phpt b/tests/lang/this_assignment.phpt
new file mode 100644
index 0000000..7158a34
--- /dev/null
+++ b/tests/lang/this_assignment.phpt
@@ -0,0 +1,43 @@
+--TEST--
+Test to catch early assignment of $this
+--FILE--
+<?php
+class first {
+
+   function me() { echo "first"; }
+
+   function who() { 
+     global $a,$b;
+     $this->me();
+     $a->me();
+     $b->me();
+     $b = new second();
+     $this->me();
+     $a->me();
+     $b->me();
+   }
+}
+
+class second {
+
+   function who() { 
+      global $a,$b;
+      $this->me();
+      $a->me();
+      $b->me();
+   }
+   function me() { echo "second"; }
+}
+
+$a = new first();
+$b = &$a;
+
+$a->who();
+$b->who();
+
+echo "\n";
+?>
+===DONE===
+--EXPECT--
+firstfirstfirstfirstsecondsecondsecondsecondsecond
+===DONE===
\ No newline at end of file
diff --git a/tests/output/ob_011.phpt b/tests/output/ob_011.phpt
new file mode 100644
index 0000000..7c68dc9
--- /dev/null
+++ b/tests/output/ob_011.phpt
@@ -0,0 +1,17 @@
+--TEST--
+output buffering - fatalism
+--XFAIL--
+This test will fail until the fix in version 1.178 of ext/main/output.c
+is backported from php 6
+--FILE--
+<?php
+function obh($s)
+{
+	return ob_get_flush();
+}
+ob_start("obh");
+echo "foo\n";
+?>
+--EXPECTF--
+
+Fatal error: ob_get_flush(): Cannot use output buffering in output buffering display handlers in %sob_011.php on line %d
diff --git a/tests/output/ob_012.phpt b/tests/output/ob_012.phpt
new file mode 100644
index 0000000..9e6e885
--- /dev/null
+++ b/tests/output/ob_012.phpt
@@ -0,0 +1,22 @@
+--TEST--
+output buffering - multiple
+--FILE--
+<?php
+echo 0;
+	ob_start();
+		ob_start();
+			ob_start();
+				ob_start();
+					echo 1;
+				ob_end_flush();
+				echo 2;
+			$ob = ob_get_clean();
+		echo 3;
+		ob_flush();
+		ob_end_clean();
+	echo 4;
+	ob_end_flush();
+echo $ob;
+?>
+--EXPECT--
+03412
diff --git a/tests/output/ob_013.phpt b/tests/output/ob_013.phpt
new file mode 100644
index 0000000..ce5b5e5
--- /dev/null
+++ b/tests/output/ob_013.phpt
@@ -0,0 +1,103 @@
+--TEST--
+output buffering - handlers/status
+--FILE--
+<?php
+function a($s){return $s;}
+function b($s){return $s;}
+function c($s){return $s;}
+function d($s){return $s;}
+
+ob_start();
+ob_start('a');
+ob_start('b');
+ob_start('c');
+ob_start('d');
+ob_start();
+
+echo "foo\n";
+
+ob_flush();
+ob_end_clean();
+ob_flush();
+
+print_r(ob_list_handlers());
+print_r(ob_get_status());
+print_r(ob_get_status(true));
+
+?>
+--EXPECTF--
+foo
+Array
+(
+    [0] => default output handler
+    [1] => a
+    [2] => b
+    [3] => c
+    [4] => d
+)
+Array
+(
+    [level] => 5
+    [type] => 1
+    [status] => 1
+    [name] => d
+    [del] => 1
+)
+Array
+(
+    [0] => Array
+        (
+            [chunk_size] => 0
+            [size] => 40960
+            [block_size] => 10240
+            [type] => 1
+            [status] => 0
+            [name] => default output handler
+            [del] => 1
+        )
+
+    [1] => Array
+        (
+            [chunk_size] => 0
+            [size] => 40960
+            [block_size] => 10240
+            [type] => 1
+            [status] => 0
+            [name] => a
+            [del] => 1
+        )
+
+    [2] => Array
+        (
+            [chunk_size] => 0
+            [size] => 40960
+            [block_size] => 10240
+            [type] => 1
+            [status] => 0
+            [name] => b
+            [del] => 1
+        )
+
+    [3] => Array
+        (
+            [chunk_size] => 0
+            [size] => 40960
+            [block_size] => 10240
+            [type] => 1
+            [status] => 0
+            [name] => c
+            [del] => 1
+        )
+
+    [4] => Array
+        (
+            [chunk_size] => 0
+            [size] => 40960
+            [block_size] => 10240
+            [type] => 1
+            [status] => 1
+            [name] => d
+            [del] => 1
+        )
+
+)
\ No newline at end of file
diff --git a/tests/output/ob_014.phpt b/tests/output/ob_014.phpt
new file mode 100644
index 0000000..e259a96
--- /dev/null
+++ b/tests/output/ob_014.phpt
@@ -0,0 +1,22 @@
+--TEST--
+output buffering - failure
+--FILE--
+<?php
+ob_start("str_rot13");
+echo "foo\n";
+// str_rot13 expects 1 param and returns NULL when passed 2 params.
+// It is invoked with 2 params when used as an OB callback.
+// Therefore, there will be no data in the buffer. This is expected: see bug 46900.
+ob_end_flush();
+
+// Show the error.
+print_r(error_get_last());
+?>
+--EXPECTF--
+Array
+(
+    [type] => 2
+    [message] => Wrong parameter count for str_rot13()
+    [file] => %s
+    [line] => 7
+)
diff --git a/tests/output/ob_015.phpt b/tests/output/ob_015.phpt
new file mode 100644
index 0000000..4917919
--- /dev/null
+++ b/tests/output/ob_015.phpt
@@ -0,0 +1,22 @@
+--TEST--
+output buffering - failure
+--FILE--
+<?php
+ob_start("str_rot13", 1);
+echo "foo\n";
+// str_rot13 expects 1 param and returns NULL when passed 2 params.
+// It is invoked with 2 params when used as an OB callback.
+// Therefore, there will be no data in the buffer. This is expected: see bug 46900.
+ob_end_flush();
+
+// Show the error.
+print_r(error_get_last());
+?>
+--EXPECTF--
+Array
+(
+    [type] => 2
+    [message] => Wrong parameter count for str_rot13()
+    [file] => %s
+    [line] => 7
+)
diff --git a/tests/output/ob_017.phpt b/tests/output/ob_017.phpt
new file mode 100644
index 0000000..fc50e2f
--- /dev/null
+++ b/tests/output/ob_017.phpt
@@ -0,0 +1,34 @@
+--TEST--
+output buffering - stati
+--FILE--
+<?php
+$stati = array();
+function oh($str, $flags) {
+	global $stati;
+	$stati[] = "$flags: $str";
+	return $str;
+}
+ob_start("oh", 3);
+echo "yes";
+echo "!\n";
+ob_flush();
+echo "no";
+ob_clean();
+echo "yes!\n";
+echo "no";
+ob_end_clean();
+print_r($stati);
+?>
+--EXPECT--
+yes!
+yes!
+Array
+(
+    [0] => 3: yes
+    [1] => 2: !
+
+    [2] => 2: no
+    [3] => 2: yes!
+
+    [4] => 4: no
+)
\ No newline at end of file
diff --git a/tests/output/ob_018.phpt b/tests/output/ob_018.phpt
new file mode 100644
index 0000000..1ff7d5a
--- /dev/null
+++ b/tests/output/ob_018.phpt
@@ -0,0 +1,17 @@
+--TEST--
+output buffering - error message nirvana bug #37714
+--SKIPIF--
+<?php
+if (!extension_loaded("zlib")) die("skip need ext/zlib");
+?>
+--ENV--
+HTTP_ACCEPT_ENCODING=gzip,deflate
+--INI--
+display_errors=1
+zlib.output_compression=1
+--FILE--
+<?php
+ob_start('ob_gzhandler');
+?>
+--EXPECTF--
+‹%a
diff --git a/tests/output/ob_020.phpt b/tests/output/ob_020.phpt
new file mode 100644
index 0000000..05f66cc
--- /dev/null
+++ b/tests/output/ob_020.phpt
@@ -0,0 +1,38 @@
+--TEST--
+output buffering - ob_list_handlers
+--FILE--
+<?php
+print_r(ob_list_handlers());
+
+ob_start();
+print_r(ob_list_handlers());
+
+ob_start();
+print_r(ob_list_handlers());
+
+ob_end_flush();
+print_r(ob_list_handlers());
+
+ob_end_flush();
+print_r(ob_list_handlers());
+?>
+--EXPECT--
+Array
+(
+)
+Array
+(
+    [0] => default output handler
+)
+Array
+(
+    [0] => default output handler
+    [1] => default output handler
+)
+Array
+(
+    [0] => default output handler
+)
+Array
+(
+)
diff --git a/tests/security/open_basedir_parse_ini_file.phpt b/tests/security/open_basedir_parse_ini_file.phpt
index e2f9046..28aa892 100644
--- a/tests/security/open_basedir_parse_ini_file.phpt
+++ b/tests/security/open_basedir_parse_ini_file.phpt
@@ -33,35 +33,35 @@ bool(true)
 
 Warning: parse_ini_file(): open_basedir restriction in effect. File(../bad) is not within the allowed path(s): (.) in %s on line %d
 
-Warning: parse_ini_file(../bad): failed to open stream: Operation not permitted in %s on line %d
+Warning: parse_ini_file(../bad): failed to open stream: %s in %s on line %d
 bool(false)
 
 Warning: parse_ini_file(): open_basedir restriction in effect. File(../bad/bad.txt) is not within the allowed path(s): (.) in %s on line %d
 
-Warning: parse_ini_file(../bad/bad.txt): failed to open stream: Operation not permitted in %s on line %d
+Warning: parse_ini_file(../bad/bad.txt): failed to open stream: %s in %s on line %d
 bool(false)
 
-Warning: parse_ini_file(..): failed to open stream: Operation not permitted in %s on line %d
+Warning: parse_ini_file(..): failed to open stream: %s in %s on line %d
 bool(false)
 
 Warning: parse_ini_file(): open_basedir restriction in effect. File(../) is not within the allowed path(s): (.) in %s on line %d
 
-Warning: parse_ini_file(../): failed to open stream: Operation not permitted in %s on line %d
+Warning: parse_ini_file(../): failed to open stream: %s in %s on line %d
 bool(false)
 
 Warning: parse_ini_file(): open_basedir restriction in effect. File(../bad/.) is not within the allowed path(s): (.) in %s on line %d
 
-Warning: parse_ini_file(../bad/.): failed to open stream: Operation not permitted in %s on line %d
+Warning: parse_ini_file(../bad/.): failed to open stream: %s in %s on line %d
 bool(false)
 
 Warning: parse_ini_file(): open_basedir restriction in effect. File(../bad/./bad.txt) is not within the allowed path(s): (.) in %s on line %d
 
-Warning: parse_ini_file(../bad/./bad.txt): failed to open stream: Operation not permitted in %s on line %d
+Warning: parse_ini_file(../bad/./bad.txt): failed to open stream: %s in %s on line %d
 bool(false)
 
 Warning: parse_ini_file(): open_basedir restriction in effect. File(./../.) is not within the allowed path(s): (.) in %s on line %d
 
-Warning: parse_ini_file(./../.): failed to open stream: Operation not permitted in %s on line %d
+Warning: parse_ini_file(./../.): failed to open stream: %s in %s on line %d
 bool(false)
 *** Finished testing open_basedir configuration [parse_ini_file] ***
 
diff --git a/tests/strings/bug22592.phpt b/tests/strings/bug22592.phpt
index 6c8edee..3443c32 100755
--- a/tests/strings/bug22592.phpt
+++ b/tests/strings/bug22592.phpt
@@ -1,26 +1,26 @@
---TEST--
-Bug #22592 (Cascading assignments to strings with curly braces broken)
---FILE--
-<?php
-$wrong = $correct = 'abcdef';
-
-$t = $x[] = 'x';
-
-var_dump($correct);
-var_dump($wrong);
-
-$correct[1] = '*';
-$correct[3] = '*';
-$correct[5] = '*';
-
-// This produces the 
-$wrong[1] = $wrong[3] = $wrong[5] = '*';
-
-var_dump($correct);
-var_dump($wrong);
-
-?>
---EXPECT--
+--TEST--
+Bug #22592 (Cascading assignments to strings with curly braces broken)
+--FILE--
+<?php
+$wrong = $correct = 'abcdef';
+
+$t = $x[] = 'x';
+
+var_dump($correct);
+var_dump($wrong);
+
+$correct[1] = '*';
+$correct[3] = '*';
+$correct[5] = '*';
+
+// This produces the 
+$wrong[1] = $wrong[3] = $wrong[5] = '*';
+
+var_dump($correct);
+var_dump($wrong);
+
+?>
+--EXPECT--
 string(6) "abcdef"
 string(6) "abcdef"
 string(6) "a*c*e*"
diff --git a/vcsclean b/vcsclean
new file mode 100755
index 0000000..e1004e4
--- /dev/null
+++ b/vcsclean
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+if test -d 'CVS'; then
+    ${MAKE:-make} -f build/build.mk cvsclean-work
+elif test -d '.svn'; then
+    ${MAKE:-make} -f build/build.mk svnclean-work
+elif test -d '.git'; then
+    ${MAKE:-make} -f build/build.mk gitclean-work
+else
+    echo "Can't figure out your VCS, not cleaning."
+fi
diff --git a/win32/build/Makefile b/win32/build/Makefile
index e4fe5ea..0ee7d2b 100644
--- a/win32/build/Makefile
+++ b/win32/build/Makefile
@@ -14,7 +14,7 @@
 #  | Author: Wez Furlong <wez at thebrainroom.com>                           |
 #  +----------------------------------------------------------------------+
 #
-# $Id: Makefile,v 1.35.2.1.2.7 2008/10/10 23:38:14 pajoye Exp $
+# $Id: Makefile 267174 2008-10-10 23:38:15Z pajoye $
 # This is the makefile template for the win32 build
 
 CC="$(CL)"
diff --git a/win32/build/buildconf.js b/win32/build/buildconf.js
index b329e78..11abb30 100644
--- a/win32/build/buildconf.js
+++ b/win32/build/buildconf.js
@@ -1,261 +1,254 @@
-/*
-  +----------------------------------------------------------------------+
-  | PHP Version 5                                                        |
-  +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2007 The PHP Group                                |
-  +----------------------------------------------------------------------+
-  | This source file is subject to version 3.01 of the PHP license,      |
-  | that is bundled with this package in the file LICENSE, and is        |
-  | available through the world-wide-web at the following url:           |
-  | http://www.php.net/license/3_01.txt                                  |
-  | If you did not receive a copy of the PHP license and are unable to   |
-  | obtain it through the world-wide-web, please send a note to          |
-  | license at php.net so we can mail you a copy immediately.               |
-  +----------------------------------------------------------------------+
-  | Author: Wez Furlong <wez at thebrainroom.com>                           |
-  +----------------------------------------------------------------------+
-*/
-
-/* $Id: buildconf.js,v 1.13.2.2.2.2 2009/01/03 03:27:47 kalle Exp $ */
-// This generates a configure script for win32 build
-
-WScript.StdOut.WriteLine("Rebuilding configure.js");
-var FSO = WScript.CreateObject("Scripting.FileSystemObject");
-var C = FSO.CreateTextFile("configure.js", true);
-
-var modules = "";
-var MODULES = WScript.CreateObject("Scripting.Dictionary");
-var module_dirs = new Array();
-
-function file_get_contents(filename)
-{
-	var F = FSO.OpenTextFile(filename, 1);
-	var t = F.ReadAll();
-	F.Close();
-	return t;
-}
-
-function Module_Item(module_name, config_path, dir_line, deps, content)
-{
-	this.module_name = module_name;
-	this.config_path = config_path;
-	this.dir_line = dir_line;
-	this.deps = deps;
-	this.content = content;
-}
-
-function find_config_w32(dirname)
-{
-	if (!FSO.FolderExists(dirname)) {
-		return;
-	}
-
-	var f = FSO.GetFolder(dirname);
-	var	fc = new Enumerator(f.SubFolders);
-	var c, i, ok, n;
-	var item = null;
-	var re_dep_line = new RegExp("ADD_EXTENSION_DEP\\([^,]*\\s*,\\s*['\"]([^'\"]+)['\"].*\\);", "gm");
-	
-	for (; !fc.atEnd(); fc.moveNext())
-	{
-		ok = true;
-		/* check if we already picked up a module with the same dirname;
-		 * if we have, don't include it here */
-		n = FSO.GetFileName(fc.item());
-		
-		if (n == 'CVS' || n == 'tests')
-			continue;
-			
-	//	WScript.StdOut.WriteLine("checking " + dirname + "/" + n);
-		if (MODULES.Exists(n)) {
-			WScript.StdOut.WriteLine("Skipping " + dirname + "/" + n + " -- already have a module with that name");
-			continue;
-		}
-
-			
-		c = FSO.BuildPath(fc.item(), "config.w32");
-		if (FSO.FileExists(c)) {
-//			WScript.StdOut.WriteLine(c);
-
-			var dir_line = "configure_module_dirname = condense_path(FSO.GetParentFolderName('"
-							   	+ c.replace(new RegExp('(["\\\\])', "g"), '\\$1') + "'));\r\n";
-			var contents = file_get_contents(c);
-			var deps = new Array();
-
-			// parse out any deps from the file
-			var calls = contents.match(re_dep_line);
-			if (calls != null) {
-				for (i = 0; i < calls.length; i++) {
-					// now we need the extension name out of this thing
-					if (calls[i].match(re_dep_line)) {
-//						WScript.StdOut.WriteLine("n depends on " + RegExp.$1);
-						deps[deps.length] = RegExp.$1;
-					}
-				}
-			}
-
-			item = new Module_Item(n, c, dir_line, deps, contents);
-			MODULES.Add(n, item);
-		}
-	}
-}
-
-// Emit core modules array.  This is used by a snapshot
-// build to override a default "yes" value so that external
-// modules don't break the build by becoming statically compiled
-function emit_core_module_list()
-{
-	var module_names = (new VBArray(MODULES.Keys())).toArray();
-	var i, mod_name, j;
-	var item;
-	var output = "";
-
-	C.WriteLine("core_module_list = new Array(");
-
-	// first, look for modules with empty deps; emit those first
-	for (i in module_names) {
-		mod_name = module_names[i];
-		C.WriteLine("\"" + mod_name.replace(/_/g, "-") + "\",");
-	}
-
-	C.WriteLine("false // dummy");
-
-	C.WriteLine(");");
-}
-
-
-function emit_module(item)
-{
-	return item.dir_line + item.content;
-}
-
-function emit_dep_modules(module_names)
-{
-	var i, mod_name, j;
-	var output = "";
-	var item = null;
-
-	for (i in module_names) {
-		mod_name = module_names[i];
-
-		if (MODULES.Exists(mod_name)) {
-			item = MODULES.Item(mod_name);
-			MODULES.Remove(mod_name);
-			if (item.deps.length) {
-				output += emit_dep_modules(item.deps);
-			}
-			output += emit_module(item);
-		}
-	}
-
-	return output;
-}
-
-function gen_modules()
-{
-	var module_names = (new VBArray(MODULES.Keys())).toArray();
-	var i, mod_name, j;
-	var item;
-	var output = "";
-
-	// first, look for modules with empty deps; emit those first
-	for (i in module_names) {
-		mod_name = module_names[i];
-		item = MODULES.Item(mod_name);
-		if (item.deps.length == 0) {
-			MODULES.Remove(mod_name);
-			output += emit_module(item);
-		}
-	}
-
-	// now we are left with modules that have dependencies on other modules
-	module_names = (new VBArray(MODULES.Keys())).toArray();
-	output += emit_dep_modules(module_names);
-
-	return output;
-}
-
-if (FSO.FileExists("ZendEngine2\\OBJECTS2_HOWTO")) {
-	if (FSO.FolderExists("Zend")) {
-		FSO.MoveFolder("Zend", "ZendEngine1");
-	}
-	FSO.MoveFolder("ZendEngine2", "Zend");
-}
-
-// Process buildconf arguments
-function buildconf_process_args()
-{
-	args = WScript.Arguments;
-
-	for (i = 0; i < args.length; i++) {
-		arg = args(i);
-		// If it is --foo=bar, split on the equals sign
-		arg = arg.split("=", 2);
-		argname = arg[0];
-		if (arg.length > 1) {
-			argval = arg[1];
-		} else {
-			argval = null;
-		}
-
-		if (argname == '--add-modules-dir' && argval != null) {
-			WScript.StdOut.WriteLine("Adding " + argval + " to the module search path");
-			module_dirs[module_dirs.length] = argval;
-		}
-	}
-}
-
-buildconf_process_args();
-
-// Write the head of the configure script
-C.WriteLine("/* This file automatically generated from win32/build/confutils.js */");
-C.Write(file_get_contents("win32/build/confutils.js"));
-
-// Pull in code from sapi and extensions
-modules = file_get_contents("win32/build/config.w32");
-
-// Pick up confs from TSRM and Zend if present
-find_config_w32(".");
-find_config_w32("sapi");
-find_config_w32("ext");
-emit_core_module_list();
-
-// If we have not specified any module dirs let's add some defaults
-if (module_dirs.length == 0) {
-	find_config_w32("pecl");
-	find_config_w32("..\\pecl");
-	find_config_w32("pecl\\rpc");
-	find_config_w32("..\\pecl\\rpc");
-} else {
-	for (i = 0; i < module_dirs.length; i++) {
-		find_config_w32(module_dirs[i]);
-	}
-}
-
-// Now generate contents of module based on MODULES, chasing dependencies
-// to ensure that dependent modules are emitted first
-modules += gen_modules();
-
-// Look for ARG_ENABLE or ARG_WITH calls
-re = new RegExp("(ARG_(ENABLE|WITH)\([^;]+\);)", "gm");
-calls = modules.match(re);
-for (i = 0; i < calls.length; i++) {
-	item = calls[i];
-	C.WriteLine("try {");
-	C.WriteLine(item);
-	C.WriteLine("} catch (e) {");
-	C.WriteLine('\tSTDOUT.WriteLine("problem: " + e);');
-	C.WriteLine("}");
-}
-
-C.WriteBlankLines(1);
-C.WriteLine("conf_process_args();");
-C.WriteBlankLines(1);
-
-// Comment out the calls from their original positions
-modules = modules.replace(re, "/* $1 */");
-C.Write(modules);
-
-C.WriteBlankLines(1);
-C.Write(file_get_contents("win32/build/configure.tail"));
-
+/*
+  +----------------------------------------------------------------------+
+  | PHP Version 5                                                        |
+  +----------------------------------------------------------------------+
+  | Copyright (c) 1997-2007 The PHP Group                                |
+  +----------------------------------------------------------------------+
+  | This source file is subject to version 3.01 of the PHP license,      |
+  | that is bundled with this package in the file LICENSE, and is        |
+  | available through the world-wide-web at the following url:           |
+  | http://www.php.net/license/3_01.txt                                  |
+  | If you did not receive a copy of the PHP license and are unable to   |
+  | obtain it through the world-wide-web, please send a note to          |
+  | license at php.net so we can mail you a copy immediately.               |
+  +----------------------------------------------------------------------+
+  | Author: Wez Furlong <wez at thebrainroom.com>                           |
+  +----------------------------------------------------------------------+
+*/
+
+/* $Id: buildconf.js,v 1.13.2.2.2.2 2009-01-03 03:27:47 kalle Exp $ */
+// This generates a configure script for win32 build
+
+WScript.StdOut.WriteLine("Rebuilding configure.js");
+var FSO = WScript.CreateObject("Scripting.FileSystemObject");
+var C = FSO.CreateTextFile("configure.js", true);
+
+var modules = "";
+var MODULES = WScript.CreateObject("Scripting.Dictionary");
+var module_dirs = new Array();
+
+function file_get_contents(filename)
+{
+	var F = FSO.OpenTextFile(filename, 1);
+	var t = F.ReadAll();
+	F.Close();
+	return t;
+}
+
+function Module_Item(module_name, config_path, dir_line, deps, content)
+{
+	this.module_name = module_name;
+	this.config_path = config_path;
+	this.dir_line = dir_line;
+	this.deps = deps;
+	this.content = content;
+}
+
+function find_config_w32(dirname)
+{
+	if (!FSO.FolderExists(dirname)) {
+		return;
+	}
+
+	var f = FSO.GetFolder(dirname);
+	var	fc = new Enumerator(f.SubFolders);
+	var c, i, ok, n;
+	var item = null;
+	var re_dep_line = new RegExp("ADD_EXTENSION_DEP\\([^,]*\\s*,\\s*['\"]([^'\"]+)['\"].*\\);", "gm");
+	
+	for (; !fc.atEnd(); fc.moveNext())
+	{
+		ok = true;
+		/* check if we already picked up a module with the same dirname;
+		 * if we have, don't include it here */
+		n = FSO.GetFileName(fc.item());
+		
+		if (n == '.svn' || n == 'tests')
+			continue;
+			
+	//	WScript.StdOut.WriteLine("checking " + dirname + "/" + n);
+		if (MODULES.Exists(n)) {
+			WScript.StdOut.WriteLine("Skipping " + dirname + "/" + n + " -- already have a module with that name");
+			continue;
+		}
+
+			
+		c = FSO.BuildPath(fc.item(), "config.w32");
+		if (FSO.FileExists(c)) {
+//			WScript.StdOut.WriteLine(c);
+
+			var dir_line = "configure_module_dirname = condense_path(FSO.GetParentFolderName('"
+							   	+ c.replace(new RegExp('(["\\\\])', "g"), '\\$1') + "'));\r\n";
+			var contents = file_get_contents(c);
+			var deps = new Array();
+
+			// parse out any deps from the file
+			var calls = contents.match(re_dep_line);
+			if (calls != null) {
+				for (i = 0; i < calls.length; i++) {
+					// now we need the extension name out of this thing
+					if (calls[i].match(re_dep_line)) {
+//						WScript.StdOut.WriteLine("n depends on " + RegExp.$1);
+						deps[deps.length] = RegExp.$1;
+					}
+				}
+			}
+
+			item = new Module_Item(n, c, dir_line, deps, contents);
+			MODULES.Add(n, item);
+		}
+	}
+}
+
+// Emit core modules array.  This is used by a snapshot
+// build to override a default "yes" value so that external
+// modules don't break the build by becoming statically compiled
+function emit_core_module_list()
+{
+	var module_names = (new VBArray(MODULES.Keys())).toArray();
+	var i, mod_name, j;
+	var item;
+	var output = "";
+
+	C.WriteLine("core_module_list = new Array(");
+
+	// first, look for modules with empty deps; emit those first
+	for (i in module_names) {
+		mod_name = module_names[i];
+		C.WriteLine("\"" + mod_name.replace(/_/g, "-") + "\",");
+	}
+
+	C.WriteLine("false // dummy");
+
+	C.WriteLine(");");
+}
+
+
+function emit_module(item)
+{
+	return item.dir_line + item.content;
+}
+
+function emit_dep_modules(module_names)
+{
+	var i, mod_name, j;
+	var output = "";
+	var item = null;
+
+	for (i in module_names) {
+		mod_name = module_names[i];
+
+		if (MODULES.Exists(mod_name)) {
+			item = MODULES.Item(mod_name);
+			MODULES.Remove(mod_name);
+			if (item.deps.length) {
+				output += emit_dep_modules(item.deps);
+			}
+			output += emit_module(item);
+		}
+	}
+
+	return output;
+}
+
+function gen_modules()
+{
+	var module_names = (new VBArray(MODULES.Keys())).toArray();
+	var i, mod_name, j;
+	var item;
+	var output = "";
+
+	// first, look for modules with empty deps; emit those first
+	for (i in module_names) {
+		mod_name = module_names[i];
+		item = MODULES.Item(mod_name);
+		if (item.deps.length == 0) {
+			MODULES.Remove(mod_name);
+			output += emit_module(item);
+		}
+	}
+
+	// now we are left with modules that have dependencies on other modules
+	module_names = (new VBArray(MODULES.Keys())).toArray();
+	output += emit_dep_modules(module_names);
+
+	return output;
+}
+
+// Process buildconf arguments
+function buildconf_process_args()
+{
+	args = WScript.Arguments;
+
+	for (i = 0; i < args.length; i++) {
+		arg = args(i);
+		// If it is --foo=bar, split on the equals sign
+		arg = arg.split("=", 2);
+		argname = arg[0];
+		if (arg.length > 1) {
+			argval = arg[1];
+		} else {
+			argval = null;
+		}
+
+		if (argname == '--add-modules-dir' && argval != null) {
+			WScript.StdOut.WriteLine("Adding " + argval + " to the module search path");
+			module_dirs[module_dirs.length] = argval;
+		}
+	}
+}
+
+buildconf_process_args();
+
+// Write the head of the configure script
+C.WriteLine("/* This file automatically generated from win32/build/confutils.js */");
+C.Write(file_get_contents("win32/build/confutils.js"));
+
+// Pull in code from sapi and extensions
+modules = file_get_contents("win32/build/config.w32");
+
+// Pick up confs from TSRM and Zend if present
+find_config_w32(".");
+find_config_w32("sapi");
+find_config_w32("ext");
+emit_core_module_list();
+
+// If we have not specified any module dirs let's add some defaults
+if (module_dirs.length == 0) {
+	find_config_w32("pecl");
+	find_config_w32("..\\pecl");
+	find_config_w32("pecl\\rpc");
+	find_config_w32("..\\pecl\\rpc");
+} else {
+	for (i = 0; i < module_dirs.length; i++) {
+		find_config_w32(module_dirs[i]);
+	}
+}
+
+// Now generate contents of module based on MODULES, chasing dependencies
+// to ensure that dependent modules are emitted first
+modules += gen_modules();
+
+// Look for ARG_ENABLE or ARG_WITH calls
+re = new RegExp("(ARG_(ENABLE|WITH)\([^;]+\);)", "gm");
+calls = modules.match(re);
+for (i = 0; i < calls.length; i++) {
+	item = calls[i];
+	C.WriteLine("try {");
+	C.WriteLine(item);
+	C.WriteLine("} catch (e) {");
+	C.WriteLine('\tSTDOUT.WriteLine("problem: " + e);');
+	C.WriteLine("}");
+}
+
+C.WriteBlankLines(1);
+C.WriteLine("conf_process_args();");
+C.WriteBlankLines(1);
+
+// Comment out the calls from their original positions
+modules = modules.replace(re, "/* $1 */");
+C.Write(modules);
+
+C.WriteBlankLines(1);
+C.Write(file_get_contents("win32/build/configure.tail"));
+
diff --git a/win32/build/config.w32 b/win32/build/config.w32
index eab0e2a..6bc87bc 100644
--- a/win32/build/config.w32
+++ b/win32/build/config.w32
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.40.2.8.2.12 2009/03/13 14:39:08 rrichards Exp $
+// $Id: config.w32 277106 2009-03-13 14:39:08Z rrichards $
 // "Master" config file; think of it as a configure.in
 // equivalent.
 
diff --git a/win32/build/config.w32.h.in b/win32/build/config.w32.h.in
index 6e9f271..b12d1e5 100644
--- a/win32/build/config.w32.h.in
+++ b/win32/build/config.w32.h.in
@@ -1,6 +1,6 @@
 /*
 	Build Configuration Template for Win32.
-	$Id: config.w32.h.in,v 1.7.2.4.2.4 2009/05/29 07:29:20 pajoye Exp $
+	$Id: config.w32.h.in 281363 2009-05-29 07:29:20Z pajoye $
 */
 
 /* Default PHP / PEAR directories */
diff --git a/win32/build/configure.tail b/win32/build/configure.tail
index 49e5378..591e9b4 100644
--- a/win32/build/configure.tail
+++ b/win32/build/configure.tail
@@ -1,5 +1,5 @@
 // vim:ft=javascript
-// $Id: configure.tail,v 1.1 2003/12/02 23:17:04 wez Exp $
+// $Id: configure.tail 145409 2003-12-02 23:17:04Z wez $
 // tail end of configure
 
 generate_files();
diff --git a/win32/build/confutils.js b/win32/build/confutils.js
index 5f7cb06..1f1d49d 100644
--- a/win32/build/confutils.js
+++ b/win32/build/confutils.js
@@ -1,1573 +1,1573 @@
-// Utils for configure script
-/*
-  +----------------------------------------------------------------------+
-  | PHP Version 5                                                        |
-  +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2007 The PHP Group                                |
-  +----------------------------------------------------------------------+
-  | This source file is subject to version 3.01 of the PHP license,      |
-  | that is bundled with this package in the file LICENSE, and is        |
-  | available through the world-wide-web at the following url:           |
-  | http://www.php.net/license/3_01.txt                                  |
-  | If you did not receive a copy of the PHP license and are unable to   |
-  | obtain it through the world-wide-web, please send a note to          |
-  | license at php.net so we can mail you a copy immediately.               |
-  +----------------------------------------------------------------------+
-  | Author: Wez Furlong <wez at thebrainroom.com>                           |
-  +----------------------------------------------------------------------+
-*/
-
-// $Id: confutils.js,v 1.60.2.1.2.10 2008/01/17 21:17:29 cellog Exp $
-
-var STDOUT = WScript.StdOut;
-var STDERR = WScript.StdErr;
-var WshShell = WScript.CreateObject("WScript.Shell");
-var FSO = WScript.CreateObject("Scripting.FileSystemObject");
-var MFO = null;
-var SYSTEM_DRIVE = WshShell.Environment("Process").Item("SystemDrive");
-var PROGRAM_FILES = WshShell.Environment("Process").Item("ProgramFiles");
-
-if (PROGRAM_FILES == null) {
-	PROGRAM_FILES = "C:\\Program Files";
-}
-
-if (!FSO.FileExists("README.CVS-RULES")) {
-	STDERR.WriteLine("Must be run from the root of the php source");
-	WScript.Quit(10);
-}
-	
-var CWD = WshShell.CurrentDirectory;
-
-if (typeof(CWD) == "undefined") {
-	CWD = FSO.GetParentFolderName(FSO.GetAbsolutePathName("README.CVS-RULES"));
-}
-
-/* defaults; we pick up the precise versions from configure.in */
-var PHP_VERSION = 5;
-var PHP_MINOR_VERSION = 0;
-var PHP_RELEASE_VERSION = 0;
-var PHP_EXTRA_VERSION = "";
-var PHP_VERSION_STRING = "5.0.0";
-
-function get_version_numbers()
-{
-	var cin = file_get_contents("configure.in");
-	
-	if (cin.match(new RegExp("PHP_MAJOR_VERSION=(\\d+)"))) {
-		PHP_VERSION = RegExp.$1;
-	}
-	if (cin.match(new RegExp("PHP_MINOR_VERSION=(\\d+)"))) {
-		PHP_MINOR_VERSION = RegExp.$1;
-	}
-	if (cin.match(new RegExp("PHP_RELEASE_VERSION=(\\d+)"))) {
-		PHP_RELEASE_VERSION = RegExp.$1;
-	}
-	PHP_VERSION_STRING = PHP_VERSION + "." + PHP_MINOR_VERSION + "." + PHP_RELEASE_VERSION;
-
-	if (cin.match(new RegExp("PHP_EXTRA_VERSION=\"([^\"]+)\""))) {
-		PHP_EXTRA_VERSION = RegExp.$1;
-		if (PHP_EXTRA_VERSION.length) {
-			PHP_VERSION_STRING += PHP_EXTRA_VERSION;
-		}
-	}
-	DEFINE('PHP_VERSION_STRING', PHP_VERSION_STRING);
-}
-
-configure_args = new Array();
-configure_subst = WScript.CreateObject("Scripting.Dictionary");
-
-configure_hdr = WScript.CreateObject("Scripting.Dictionary");
-build_dirs = new Array();
-
-extension_include_code = "";
-extension_module_ptrs = "";
-
-get_version_numbers();
-
-/* execute a command and return the output as a string */
-function execute(command_line)
-{
-	var e = WshShell.Exec(command_line);
-	var ret = "";
-
-	ret = e.StdOut.ReadAll();
-
-//STDOUT.WriteLine("command " + command_line);
-//STDOUT.WriteLine(ret);
-
-	return ret;
-}
-
-function condense_path(path)
-{
-	path = FSO.GetAbsolutePathName(path);
-
-	if (path.substr(0, CWD.length).toLowerCase()
-			== CWD.toLowerCase() &&
-			(path.charCodeAt(CWD.length) == 92 || path.charCodeAt(CWD.length) == 47)) {
-		return path.substr(CWD.length + 1);
-	}
-
-	var a = CWD.split("\\");
-	var b = path.split("\\");
-	var i, j;
-
-	for (i = 0; i < b.length; i++) {
-		if (a[i].toLowerCase() == b[i].toLowerCase())
-			continue;
-		if (i > 0) {
-			/* first difference found */
-			path = "";
-			for (j = 0; j < a.length - i; j++) {
-				path += "..\\";
-			}
-			for (j = i; j < b.length; j++) {
-				path += b[j];
-				if (j < b.length - 1)
-					path += "\\";
-			}
-			return path;
-		}
-		/* on a different drive */
-		break;
-	}
-	
-	return path;
-}
-
-function ConfigureArg(type, optname, helptext, defval)
-{
-	var opptype = type == "enable" ? "disable" : "without";
-
-	if (defval == "yes" || defval == "yes,shared") {
-		this.arg = "--" + opptype + "-" + optname;
-		this.imparg = "--" + type + "-" + optname;
-	} else {
-		this.arg = "--" + type + "-" + optname;
-		this.imparg = "--" + opptype + "-" + optname;
-	}
-	
-	this.optname = optname;
-	this.helptext = helptext;
-	this.defval = defval;
-	this.symval = optname.toUpperCase().replace(new RegExp("-", "g"), "_");
-	this.seen = false;
-	this.argval = defval;
-}
-
-function ARG_WITH(optname, helptext, defval)
-{
-	configure_args[configure_args.length] = new ConfigureArg("with", optname, helptext, defval);
-}
-
-function ARG_ENABLE(optname, helptext, defval)
-{
-	configure_args[configure_args.length] = new ConfigureArg("enable", optname, helptext, defval);
-}
-
-function analyze_arg(argval)
-{
-	var ret = new Array();
-	var shared = false;
-
-	if (argval == "shared") {
-		shared = true;
-		argval = "yes";
-	} else if (argval == null) {
-		/* nothing */
-	} else if (arg_match = argval.match(new RegExp("^shared,(.*)"))) {
-		shared = true;
-		argval = arg_match[1];
-	} else if (arg_match = argval.match(new RegExp("^(.*),shared$"))) {
-		shared = true;
-		argval = arg_match[1];
-	}
-
-	ret[0] = shared;
-	ret[1] = argval;
-	return ret;
-}
-
-function word_wrap_and_indent(indent, text, line_suffix, indent_char)
-{
-	if (text == null) {
-		return "";
-	}
-	
-	var words = text.split(new RegExp("\\s+", "g"));
-	var i = 0;
-	var ret_text = "";
-	var this_line = "";
-	var t;
-	var space = "";
-	var lines = 0;
-
-	if (line_suffix == null) {
-		line_suffix = "";
-	}
-
-	if (indent_char == null) {
-		indent_char = " ";
-	}
-
-	for (i = 0; i < indent; i++) {
-		space += indent_char;
-	}
-	
-	for (i = 0; i < words.length; i++) {
-		if (this_line.length) {
-			t = this_line + " " + words[i];
-		} else {
-			t = words[i];
-		}
-
-		if (t.length + indent > 78) {
-			if (lines++) {
-				ret_text += space;
-			}
-			ret_text += this_line + line_suffix + "\r\n";
-			this_line = "";
-		}
-
-		if (this_line.length) {
-			this_line += " " + words[i];
-		} else {
-			this_line = words[i];
-		}
-	}
-
-	if (this_line.length) {
-		if (lines)
-			ret_text += space;
-		ret_text += this_line;
-	}
-
-	return ret_text;
-}
-
-function conf_process_args()
-{
-	var i, j;
-	var configure_help_mode = false;
-	var analyzed = false;
-	var nice = "cscript /nologo configure.js ";
-	var disable_all = false;
-	
-	args = WScript.Arguments;
-	for (i = 0; i < args.length; i++) {
-		arg = args(i);
-		nice += ' "' + arg + '"';
-		if (arg == "--help") {
-			configure_help_mode = true;
-			break;
-		}
-		if (arg == "--disable-all") {
-			disable_all = true;
-			continue;
-		}
-
-		// If it is --foo=bar, split on the equals sign
-		arg = arg.split("=", 2);
-		argname = arg[0];
-		if (arg.length > 1) {
-			argval = arg[1];
-		} else {
-			argval = null;
-		}
-
-		// Find the arg
-		found = false;
-		for (j = 0; j < configure_args.length; j++) {
-			if (argname == configure_args[j].imparg || argname == configure_args[j].arg) {
-				found = true;
-
-				arg = configure_args[j];
-				arg.seen = true;
-
-				analyzed = analyze_arg(argval);
-				shared = analyzed[0];
-				argval = analyzed[1];
-
-				if (argname == arg.imparg) {
-					/* we matched the implicit, or default arg */
-					if (argval == null) {
-						argval = arg.defval;
-					}
-				} else {
-					/* we matched the non-default arg */
-					if (argval == null) {
-						argval = arg.defval == "no" ? "yes" : "no";
-					}
-				}
-				
-				arg.argval = argval;
-				eval("PHP_" + arg.symval + " = argval;");
-				eval("PHP_" + arg.symval + "_SHARED = shared;");
-				break;
-			}
-		}
-		if (!found) {
-			STDERR.WriteLine("Unknown option " + argname + "; please try configure.js --help for a list of valid options");
-			WScript.Quit(2);
-		}
-	}
-
-	if (configure_help_mode) {
-		STDOUT.WriteLine(word_wrap_and_indent(0,
-"Options that enable extensions and SAPI will accept \
-'yes' or 'no' as a parameter.  They also accept 'shared' \
-as a synonym for 'yes' and request a shared build of that \
-module.  Not all modules can be built as shared modules; \
-configure will display [shared] after the module name if \
-can be built that way. \
-"
-			));
-		STDOUT.WriteBlankLines(1);
-
-		// Measure width to pretty-print the output
-		max_width = 0;
-		for (i = 0; i < configure_args.length; i++) {
-			arg = configure_args[i];
-			if (arg.arg.length > max_width)
-				max_width = arg.arg.length;
-		}
-
-		for (i = 0; i < configure_args.length; i++) {
-			arg = configure_args[i];
-
-			n = max_width - arg.arg.length;
-			pad = "   ";
-			for (j = 0; j < n; j++) {
-				pad += " ";
-			}
-			STDOUT.WriteLine("  " + arg.arg + pad + word_wrap_and_indent(max_width + 5, arg.helptext));
-		}
-		WScript.Quit(1);
-	}
-
-	var snapshot_build_exclusions = new Array(
-		'debug', 'crt-debug', 'lzf-better-compression',
-		 'php-build', 'snapshot-template',
-		 'pcre-regex', 'fastcgi', 'force-cgi-redirect',
-		 'path-info-check', 'zts', 'ipv6', 'memory-limit',
-		 'zend-multibyte', 'fd-setsize', 'memory-manager', 't1lib'
-		);
-	var force;
-
-	// Now set any defaults we might have missed out earlier
-	for (i = 0; i < configure_args.length; i++) {
-		arg = configure_args[i];
-		if (arg.seen)
-			continue;
-		analyzed = analyze_arg(arg.defval);
-		shared = analyzed[0];
-		argval = analyzed[1];
-		
-		// Don't trust a default "yes" answer for a non-core module
-		// in a snapshot build
-		if (PHP_SNAPSHOT_BUILD != "no" && argval == "yes" && !shared) {
-
-			force = true;
-			for (j = 0; j < snapshot_build_exclusions.length; j++) {
-				if (snapshot_build_exclusions[j] == arg.optname) {
-					force = false;
-					break;
-				}
-			}
-
-			if (force) {
-				/* now check if it is a core module */
-				force = false;
-				for (j = 0; j < core_module_list.length; j++) {
-					if (core_module_list[j] == arg.optname) {
-						force = true;
-						break;
-					}
-				}
-
-				if (!force) {
-					STDOUT.WriteLine("snapshot: forcing " + arg.arg + " shared");
-					shared = true;
-				}
-			}
-		}
-		
-		if (PHP_SNAPSHOT_BUILD != "no" && argval == "no") {
-			force = true;
-			for (j = 0; j < snapshot_build_exclusions.length; j++) {
-				if (snapshot_build_exclusions[j] == arg.optname) {
-					force = false;
-					break;
-				}
-			}
-			if (force) {
-				STDOUT.WriteLine("snapshot: forcing " + arg.optname + " on");
-				argval = "yes";
-				shared = true;
-			}
-		}
-
-		if (disable_all) {
-			force = true;
-			for (j = 0; j < snapshot_build_exclusions.length; j++) {
-				if (snapshot_build_exclusions[j] == arg.optname) {
-					force = false;
-					break;
-				}
-			}
-			if (force) {
-				argval = "no";
-				shared = false;
-			}
-		}
-
-		eval("PHP_" + arg.symval + " = argval;");
-		eval("PHP_" + arg.symval + "_SHARED = shared;");
-	}
-
-	MFO = FSO.CreateTextFile("Makefile.objects", true);
-
-	STDOUT.WriteLine("Saving configure options to config.nice.bat");
-	var nicefile = FSO.CreateTextFile("config.nice.bat", true);
-	nicefile.WriteLine(nice +  " %*");
-	nicefile.Close();
-
-	AC_DEFINE('CONFIGURE_COMMAND', nice);
-}
-
-function DEFINE(name, value)
-{
-	if (configure_subst.Exists(name)) {
-		configure_subst.Remove(name);
-	}
-	configure_subst.Add(name, value);
-}
-
-// Searches a set of paths for a file;
-// returns the dir in which the file was found,
-// true if it was found in the default env path,
-// or false if it was not found at all.
-// env_name is the optional name of an env var
-// specifying the default path to search
-function search_paths(thing_to_find, explicit_path, env_name)
-{
-	var i, found = false, place = false, file, env;
-
-	STDOUT.Write("Checking for " + thing_to_find + " ... ");
-
-	thing_to_find = thing_to_find.replace(new RegExp("/", "g"), "\\");
-
-	if (explicit_path != null) {
-		if (typeof(explicit_path) == "string") {
-			explicit_path = explicit_path.split(";");
-		}
-
-		for (i = 0; i < explicit_path.length; i++) {
-			file = glob(explicit_path[i] + "\\" + thing_to_find);
-			if (file) {
-				found = true;
-				place = file[0];
-				place = place.substr(0, place.length - thing_to_find.length - 1);
-				break;
-			}
-		}
-	}
-
-	if (!found && env_name != null) {
-		env = WshShell.Environment("Process").Item(env_name);
-		env = env.split(";");
-		for (i = 0; i < env.length; i++) {
-			file = glob(env[i] + "\\" + thing_to_find);
-			if (file) {
-				found = true;
-				place = true;
-				break;
-			}
-		}
-	}
-
-	if (found && place == true) {
-		STDOUT.WriteLine(" <in default path>");
-	} else if (found) {
-		STDOUT.WriteLine(" " + place);
-	} else {
-		STDOUT.WriteLine(" <not found>");
-	}
-	return place;
-}
-
-function PATH_PROG(progname, additional_paths, symbol)
-{
-	var exe;
-	var place;
-	var cyg_path = PHP_CYGWIN + "\\bin;" + PHP_CYGWIN + "\\usr\\local\\bin";
-
-	exe = progname + ".exe";
-
-	if (additional_paths == null) {
-		additional_paths = cyg_path;
-	} else {
-		additional_paths += ";" + cyg_path;
-	}
-
-	place = search_paths(exe, additional_paths, "PATH");
-
-	if (place == true) {
-		place = exe;
-	} else if (place != false) {
-		place = place + "\\" + exe;
-	}
-
-	if (place) {
-		if (symbol == null) {
-			symbol = progname.toUpperCase();
-		}
-		DEFINE(symbol, place);
-	}
-	return place;
-}
-
-function find_pattern_in_path(pattern, path)
-{
-	if (path == null) {
-		return false;
-	}
-
-	var dirs = path.split(';');
-	var i;
-	var items;
-
-	for (i = 0; i < dirs.length; i++) {
-		items = glob(dirs[i] + "\\" + pattern);
-		if (items) {
-			return condense_path(items[0]);
-		}
-	}
-	return false;
-}
-
-function CHECK_LIB(libnames, target, path_to_check, common_name)
-{
-	STDOUT.Write("Checking for library " + libnames + " ... ");
-
-	if (common_name == null && target != null) {
-		common_name = target;
-	}
-
-	if (path_to_check == null) {
-		path_to_check = "";
-	}
-
-	// if they specified a common name for the package that contains
-	// the library, tag some useful defaults on to the end of the
-	// path to be searched
-	if (common_name != null) {
-		path_to_check += ";" + PHP_PHP_BUILD + "\\" + common_name + "*";
-		path_to_check += ";" + PHP_PHP_BUILD + "\\lib\\" + common_name + "*";
-		path_to_check += ";..\\" + common_name + "*";
-	}
-
-	// Determine target for build flags
-	if (target == null) {
-		target = "";
-	} else {
-		target = "_" + target.toUpperCase();
-	}
-
-	// Expand path to include general dirs
-	path_to_check += ";" + php_usual_lib_suspects;
-
-	// It is common practice to put libs under one of these dir names
-	var subdirs = new Array(PHP_DEBUG == "yes" ? "Debug" : (PHP_DEBUG_PACK == "yes"?"Release_Dbg":"Release"), "lib", "libs", "libexec");
-
-	// libnames can be ; separated list of accepted library names
-	libnames = libnames.split(';');
-
-	var i, j, k, libname;
-	var location = false;
-	var path = path_to_check.split(';');
-	
-	for (i = 0; i < libnames.length; i++) {
-		libname = libnames[i];
-
-		for (k = 0; k < path.length; k++) {
-			location = glob(path[k] + "\\" + libname);
-			if (location) {
-				location = location[0];
-				break;
-			}
-			for (j = 0; j < subdirs.length; j++) {
-				location = glob(path[k] + "\\" + subdirs[j] + "\\" + libname);
-				if (location) {
-					location = location[0];
-					break;
-				}
-			}
-			if (location)
-				break;
-		}
-
-		if (location) {
-			location = condense_path(location);
-			var libdir = FSO.GetParentFolderName(location);
-			libname = FSO.GetFileName(location);
-			ADD_FLAG("LDFLAGS" + target, '/libpath:"' + libdir + '" ');
-			ADD_FLAG("LIBS" + target, libname);
-
-			STDOUT.WriteLine(location);
-
-			return location;
-		}
-
-		// Check in their standard lib path
-		location = find_pattern_in_path(libname, WshShell.Environment("Process").Item("LIB"));
-
-		if (location) {
-			location = condense_path(location);
-			libname = FSO.GetFileName(location);
-			ADD_FLAG("LIBS" + target, libname);
-
-			STDOUT.WriteLine("<in LIB path> " + libname);
-			return location;
-		}
-
-		// Check in their general extra libs path
-		location = find_pattern_in_path(libname, PHP_EXTRA_LIBS);
-		if (location) {
-			location = condense_path(location);
-			libname = FSO.GetFileName(location);
-			ADD_FLAG("LIBS" + target, libname);
-			STDOUT.WriteLine("<in extra libs path>");
-			return location;
-		}
-	}
-
-	STDOUT.WriteLine("<not found>");
-
-	return false;
-}
-
-function OLD_CHECK_LIB(libnames, target, path_to_check)
-{
-	if (target == null) {
-		target = "";
-	} else {
-		target = "_" + target.toUpperCase();
-	}
-	
-	if (path_to_check == null) {
-		path_to_check = php_usual_lib_suspects;
-	} else {
-		path_to_check += ";" + php_usual_lib_suspects;
-	}
-	var have = 0;
-	var p;
-	var i;
-	var libname;
-
-	var subdir = PHP_DEBUG == "yes" ? "Debug" : (PHP_DEBUG_PACK == "yes"?"Release_Dbg":"Release");
-
-	libnames = libnames.split(';');
-	for (i = 0; i < libnames.length; i++) {
-		libname = libnames[i];
-		p = search_paths(libname, path_to_check, "LIB");
-
-		if (!p) {
-			p = search_paths(subdir + "\\" + libname, path_to_check, "LIB");
-			if (p) {
-				p += "\\" + subdir;
-			}
-		}
-
-		if (typeof(p) == "string") {
-			ADD_FLAG("LDFLAGS" + target, '/libpath:"' + p + '" ');
-			ADD_FLAG("LIBS" + target, libname);
-			have = 1;
-		} else if (p == true) {
-			ADD_FLAG("LIBS" + target, libname);
-			have = 1;
-		} else {
-			/* not found in the defaults or the explicit paths,
-			 * so check the general extra libs; if we find
-			 * it here, no need to add another /libpath: for it as we
-			 * already have it covered, but we need to add the lib
-			 * to LIBS_XXX */
-			if (false != search_paths(libname, PHP_EXTRA_LIBS, null)) {
-				ADD_FLAG("LIBS" + target, libname);
-				have = 1;
-			}
-		}
-
-		if (have) {
-			break;
-		}
-	}
-
-//	AC_DEFINE("HAVE_" + header_name.toUpperCase().replace(new RegExp("/\\\\-\.", "g"), "_"), have);
-
-	return have;
-
-}
-
-function CHECK_FUNC_IN_HEADER(header_name, func_name, path_to_check, add_to_flag)
-{
-	var c = false;
-	var sym;
-
-	STDOUT.Write("Checking for " + func_name + " in " + header_name + " ... ");
-
-	c = GREP_HEADER(header_name, func_name, path_to_check);
-
-	sym = func_name.toUpperCase();
-	sym = sym.replace(new RegExp("[\\\\/\.-]", "g"), "_");
-
-	if (typeof(add_to_flag) == "undefined") {
-		AC_DEFINE("HAVE_" + sym, c ? 1 : 0);
-	} else {
-		ADD_FLAG(add_to_flag, "/DHAVE_" + sym + "=" + (c ? "1" : "0"));
-	}
-
-	if (c) {
-		STDOUT.WriteLine("OK");
-		return c;
-	}
-	STDOUT.WriteLine("No");
-	return false;	
-}
-
-function GREP_HEADER(header_name, regex, path_to_check)
-{
-	var c = false;
-
-	if (FSO.FileExists(path_to_check + "\\" + header_name)) {
-		c = file_get_contents(path_to_check + "\\" + header_name);
-	}
-
-	if (!c) {
-		/* look in the include path */
-
-		var p = search_paths(header_name, path_to_check, "INCLUDE");
-		if (typeof(p) == "string") {
-			c = file_get_contents(p);
-		} else if (p == false) {
-			p = search_paths(header_name, PHP_EXTRA_INCLUDES, null);
-			if (typeof(p) == "string") {
-				c = file_get_contents(p);
-			}
-		} 
-		if (!c) {
-			return false;
-		}
-	}
-
-	if (typeof(regex) == "string") {
-		regex = new RegExp(regex);
-	}
-
-	if (c.match(regex)) {
-		/* caller can now use RegExp.$1 etc. to get at patterns */
-		return true;
-	}
-	return false;
-}
-
-function CHECK_HEADER_ADD_INCLUDE(header_name, flag_name, path_to_check, use_env, add_dir_part, add_to_flag_only)
-{
-	var dir_part_to_add = "";
-	
-	if (use_env == null) {
-		use_env = true;
-	}
-
-	// if true, add the dir part of the header_name to the include path
-	if (add_dir_part == null) {
-		add_dir_part = false;
-	} else if (add_dir_part) {
-		var basename = FSO.GetFileName(header_name);
-		dir_part_to_add = "\\" + header_name.substr(0, header_name.length - basename.length - 1);
-	}
-
-	if (path_to_check == null) {
-		path_to_check = php_usual_include_suspects;
-	} else {
-		path_to_check += ";" + php_usual_include_suspects;
-	}
-	
-	var p = search_paths(header_name, path_to_check, use_env ? "INCLUDE" : null);
-	var have = 0;
-	var sym;
-
-	if (typeof(p) == "string") {
-		ADD_FLAG(flag_name, '/I "' + p + dir_part_to_add + '" ');
-	} else if (p == false) {
-		/* not found in the defaults or the explicit paths,
-		 * so check the general extra includes; if we find
-		 * it here, no need to add another /I for it as we
-		 * already have it covered, unless we are adding
-		 * the dir part.... */
-		p = search_paths(header_name, PHP_EXTRA_INCLUDES, null);
-		if (typeof(p) == "string" && add_dir_part) {
-			ADD_FLAG(flag_name, '/I "' + p + dir_part_to_add + '" ');
-		}
-	} 
-	have = p ? 1 : 0
-
-	sym = header_name.toUpperCase();
-	sym = sym.replace(new RegExp("[\\\\/\.-]", "g"), "_");
-
-	if (typeof(add_to_flag_only) == "undefined" &&
-			flag_name.match(new RegExp("^CFLAGS_(.*)$"))) {
-		add_to_flag_only = true;
-	}
-
-	if (typeof(add_to_flag_only) != "undefined") {
-		ADD_FLAG(flag_name, "/DHAVE_" + sym + "=" + have);
-	} else {
-		AC_DEFINE("HAVE_" + sym, have, "have the " + header_name + " header file");
-	}
-
-	return p;
-}
-
-/* emits rule to generate version info for a SAPI
- * or extension.  Returns the name of the .res file
- * that will be generated */
-function generate_version_info_resource(makefiletarget, creditspath)
-{
-	var resname = makefiletarget + ".res";
-	var res_desc = "PHP " + makefiletarget;
-	var res_prod_name = res_desc;
-	var credits;
-	var thanks = "";
-	var logo = "";
-
-	if (FSO.FileExists(creditspath + '/CREDITS')) {
-		credits = FSO.OpenTextFile(creditspath + '/CREDITS', 1);
-		res_desc = credits.ReadLine();
-		try {
-			thanks = credits.ReadLine();
-		} catch (e) {
-			thanks = null;
-		}
-		if (thanks == null) {
-			thanks = "";
-		} else {
-			thanks = "Thanks to " + thanks;
-		}
-		credits.Close();
-	}
-
-	if (makefiletarget.match(new RegExp("\\.exe$"))) {
-		logo = " /D WANT_LOGO ";
-	}
-
-	/**
-	 * Use user supplied template.rc if it exists
-	 */
-	if (FSO.FileExists(creditspath + '\\template.rc')) {
-		MFO.WriteLine("$(BUILD_DIR)\\" + resname + ": " + creditspath + "\\template.rc");
-		MFO.WriteLine("\t$(RC) /fo $(BUILD_DIR)\\" + resname + logo +
-		   	' /d FILE_DESCRIPTION="\\"' + res_desc + '\\"" /d FILE_NAME="\\"' + makefiletarget +
-	   		'\\"" /d PRODUCT_NAME="\\"' + res_prod_name + '\\"" /d THANKS_GUYS="\\"' +
-			thanks + '\\"" ' + creditspath + '\\template.rc');
-		return resname;
-	}
-
-	MFO.WriteLine("$(BUILD_DIR)\\" + resname + ": win32\\build\\template.rc");
-	MFO.WriteLine("\t$(RC) /fo $(BUILD_DIR)\\" + resname + logo +
-	   	' /d FILE_DESCRIPTION="\\"' + res_desc + '\\"" /d FILE_NAME="\\"' + makefiletarget +
-	   	'\\"" /d PRODUCT_NAME="\\"' + res_prod_name + '\\"" /d THANKS_GUYS="\\"' +
-		thanks + '\\"" win32\\build\\template.rc');
-	MFO.WriteBlankLines(1);
-	
-	return resname;
-}
-
-function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir)
-{
-	var SAPI = sapiname.toUpperCase();
-	var ldflags;
-	var resname;
-	var ld;
-	var manifest;
-
-	if (typeof(obj_dir) == "undefined") {
-		sapiname_for_printing = configure_module_dirname;
-	} else {
-		sapiname_for_printing = configure_module_dirname + " (via " + obj_dir + ")";
-	}
-
-	STDOUT.WriteLine("Enabling SAPI " + sapiname_for_printing);
-
-	MFO.WriteBlankLines(1);
-	MFO.WriteLine("# objects for SAPI " + sapiname);
-	MFO.WriteBlankLines(1);
-
-	if (cflags) {
-		ADD_FLAG('CFLAGS_' + SAPI, cflags);
-	}
-
-	ADD_SOURCES(configure_module_dirname, file_list, sapiname, obj_dir);
-	MFO.WriteBlankLines(1);
-	MFO.WriteLine("# SAPI " + sapiname);
-	MFO.WriteBlankLines(1);
-
-	/* generate a .res file containing version information */
-	resname = generate_version_info_resource(makefiletarget, configure_module_dirname);
-	
-	MFO.WriteLine(makefiletarget + ": $(BUILD_DIR)\\" + makefiletarget);
-	MFO.WriteLine("\t at echo SAPI " + sapiname_for_printing + " build complete");
-	MFO.WriteLine("$(BUILD_DIR)\\" + makefiletarget + ": $(DEPS_" + SAPI + ") $(" + SAPI + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);
-
-	if (makefiletarget.match(new RegExp("\\.dll$"))) {
-		ldflags = "/dll $(LDFLAGS)";
-		manifest = "-@$(_VC_MANIFEST_EMBED_DLL)";
-	} else if (makefiletarget.match(new RegExp("\\.lib$"))) {
-		ldflags = "$(LDFLAGS)";
-		ld = "$(MAKE_LIB)";
-	} else {
-		ldflags = "$(LDFLAGS)";
-		manifest = "-@$(_VC_MANIFEST_EMBED_EXE)";
-	}
-
-	if (ld) {
-		MFO.WriteLine("\t" + ld + " /nologo /out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + " $(" + SAPI + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LDFLAGS_" + SAPI + ") $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname);
-	} else {
-		ld = "@$(CC)";
-		MFO.WriteLine("\t" + ld + " /nologo " + " $(" + SAPI + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname + " /link /out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + " $(LDFLAGS_" + SAPI + ")");
-	}
-
-	if (manifest) {
-		MFO.WriteLine("\t" + manifest);
-	}
-		
-	DEFINE('CFLAGS_' + SAPI + '_OBJ', '$(CFLAGS_' + SAPI + ')');
-
-	if (configure_module_dirname.match("pecl")) {
-		ADD_FLAG("PECL_TARGETS", makefiletarget);
-	} else {
-		ADD_FLAG("SAPI_TARGETS", makefiletarget);
-	}
-
-	MFO.WriteBlankLines(1);
-}
-
-function ADD_DIST_FILE(filename)
-{
-	if (configure_module_dirname.match("pecl")) {
-		ADD_FLAG("PECL_EXTRA_DIST_FILES", filename);
-	} else {
-		ADD_FLAG("PHP_EXTRA_DIST_FILES", filename);
-	}
-}	
-
-function file_get_contents(filename)
-{
-	var f, c;
-	try {
-		f = FSO.OpenTextFile(filename, 1);
-		c = f.ReadAll();
-		f.Close();
-		return c;
-	} catch (e) {
-		STDOUT.WriteLine("Problem reading " + filename);
-		return false;
-	}
-}
-
-// Add a dependency on another extension, so that
-// the dependencies are built before extname
-function ADD_EXTENSION_DEP(extname, dependson, optional)
-{
-	var EXT = extname.toUpperCase();
-	var DEP = dependson.toUpperCase();
-	var dep_present = false;
-	var dep_shared = false;
-
-	try {
-		dep_present = eval("PHP_" + DEP);
-		dep_shared = eval("PHP_" + DEP + "_SHARED");
-	} catch (e) {
-		dep_present = "no";
-		dep_shared = false;
-	}
-	
-	if (optional) {
-		if (dep_present == "no")
-			return;
-	}
-
-	var ext_shared = eval("PHP_" + EXT + "_SHARED");
-
-	if (dep_shared) {
-		if (!ext_shared) {
-			if (optional) {
-				return;
-			}
-			ERROR("static " + extname + " cannot depend on shared " + dependson);
-		}
-		ADD_FLAG("LDFLAGS_" + EXT, "/libpath:$(BUILD_DIR)");
-		ADD_FLAG("LIBS_" + EXT, "php_" + dependson + ".lib");
-		ADD_FLAG("DEPS_" + EXT, "$(BUILD_DIR)\\php_" + dependson + ".lib");
-	} else {
-		if (dep_present == "no") {
-			if (ext_shared) {
-				WARNING(extname + " has a missing dependency: " + dependson);
-			} else {
-				ERROR("Cannot build " + extname + "; " + dependson + " not enabled");
-			}
-		}
-	}
-}
-
-function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
-{
-	var objs = null;
-	var EXT = extname.toUpperCase();
-	var extname_for_printing;
-	
-	if (shared == null) {
-		eval("shared = PHP_" + EXT + "_SHARED;");
-	}
-	if (cflags == null) {
-		cflags = "";
-	}
-
-	if (typeof(obj_dir) == "undefined") {
-		extname_for_printing = configure_module_dirname;
-	} else {
-		extname_for_printing = configure_module_dirname + " (via " + obj_dir + ")";
-	}
-
-	if (shared) {
-		STDOUT.WriteLine("Enabling extension " + extname_for_printing + " [shared]");
-		cflags = "/D COMPILE_DL_" + EXT + " /D " + EXT + "_EXPORTS=1 " + cflags;
-		ADD_FLAG("CFLAGS_PHP", "/D COMPILE_DL_" + EXT);
-	} else {
-		STDOUT.WriteLine("Enabling extension " + extname_for_printing);
-	}
-
-	MFO.WriteBlankLines(1);
-	MFO.WriteLine("# objects for EXT " + extname);
-	MFO.WriteBlankLines(1);
-
-
-	ADD_SOURCES(configure_module_dirname, file_list, extname, obj_dir);
-	
-	MFO.WriteBlankLines(1);
-
-	if (shared) {
-		if (dllname == null) {
-			dllname = "php_" + extname + ".dll";
-		}
-		var libname = dllname.substring(0, dllname.length-4) + ".lib";
-
-		var resname = generate_version_info_resource(dllname, configure_module_dirname);
-		var ld = "@$(CC)";
-
-		MFO.WriteLine("$(BUILD_DIR)\\" + libname + ": $(BUILD_DIR)\\" + dllname);
-		MFO.WriteBlankLines(1);
-		MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(DEPS_" + EXT + ") $(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);
-		MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname + " /link /out:$(BUILD_DIR)\\" + dllname + " $(DLL_LDFLAGS) $(LDFLAGS) $(LDFLAGS_" + EXT + ")");
-		MFO.WriteLine("\t-@$(_VC_MANIFEST_EMBED_DLL)");
-		MFO.WriteBlankLines(1);
-
-		if (configure_module_dirname.match("pecl")) {
-			ADD_FLAG("PECL_TARGETS", dllname);
-		} else {
-			ADD_FLAG("EXT_TARGETS", dllname);
-		}
-		MFO.WriteLine(dllname + ": $(BUILD_DIR)\\" + dllname);
-		MFO.WriteLine("\t at echo EXT " + extname + " build complete");
-		MFO.WriteBlankLines(1);
-		
-		DEFINE('CFLAGS_' + EXT + '_OBJ', '$(CFLAGS_' + EXT + ')');
-	} else {
-		ADD_FLAG("STATIC_EXT_OBJS", "$(" + EXT + "_GLOBAL_OBJS)");
-		ADD_FLAG("STATIC_EXT_LIBS", "$(LIBS_" + EXT + ")");
-		ADD_FLAG("STATIC_EXT_LDFLAGS", "$(LDFLAGS_" + EXT + ")");
-		ADD_FLAG("STATIC_EXT_CFLAGS", "$(CFLAGS_" + EXT + ")");
-
-		/* find the header that declares the module pointer,
-		 * so we can include it in internal_functions.c */
-		var ext_dir = FSO.GetFolder(configure_module_dirname);
-		var fc = new Enumerator(ext_dir.Files);
-		var re = /\.h$/;
-		var s, c;
-		for (; !fc.atEnd(); fc.moveNext()) {
-			s = fc.item() + "";
-			if (s.match(re)) {
-				c = file_get_contents(s);
-				if (c.match("phpext_")) {
-					extension_include_code += '#include "' + configure_module_dirname + '/' + FSO.GetFileName(s) + '"\r\n';
-				}
-			}
-		}
-	
-		extension_module_ptrs += '\tphpext_' + extname + '_ptr,\r\n';
-	
-		DEFINE('CFLAGS_' + EXT + '_OBJ', '$(CFLAGS_PHP) $(CFLAGS_' + EXT + ')');
-	}
-	ADD_FLAG("CFLAGS_" + EXT, cflags);
-}
-
-function ADD_SOURCES(dir, file_list, target, obj_dir)
-{
-	var i;
-	var tv;
-	var src, obj, sym, flags;
-
-	if (target == null) {
-		target = "php";
-	}
-
-	sym = target.toUpperCase() + "_GLOBAL_OBJS";
-	flags = "CFLAGS_" + target.toUpperCase() + '_OBJ';
-
-	if (configure_subst.Exists(sym)) {
-		tv = configure_subst.Item(sym);
-	} else {
-		tv = "";
-	}
-
-	file_list = file_list.split(new RegExp("\\s+"));
-	file_list.sort();
-
-	var re = new RegExp("\.[a-z0-9A-Z]+$");
-
-	dir = dir.replace(new RegExp("/", "g"), "\\");
-	var objs_line = "";
-	var srcs_line = "";
-
-	var sub_build = "$(BUILD_DIR)\\";
-
-	/* if module dir is not a child of the main source dir,
-	 * we need to tweak it; we should have detected such a
-	 * case in condense_path and rewritten the path to
-	 * be relative.
-	 * This probably breaks for non-sibling dirs, but that
-	 * is not a problem as buildconf only checks for pecl
-	 * as either a child or a sibling */
-	if (obj_dir == null) {
-		var build_dir = dir.replace(new RegExp("^..\\\\"), "");
-		var mangle_dir = build_dir.replace(new RegExp("[\\\\/.]", "g"), "_");
-		var bd_flags_name = "CFLAGS_BD_" + mangle_dir.toUpperCase();
-	}
-	else {
-		var build_dir = obj_dir.replace(new RegExp("^..\\\\"), "");
-		var mangle_dir = build_dir.replace(new RegExp("[\\\\/.]", "g"), "_");
-		var bd_flags_name = "CFLAGS_BD_" + mangle_dir.toUpperCase();
-	}
-	
-	var dirs = build_dir.split("\\");
-	var i, d = "";
-	for (i = 0; i < dirs.length; i++) {
-		d += dirs[i];
-		build_dirs[build_dirs.length] = d;
-		d += "\\";
-	}
-	sub_build += d;
-
-
-	DEFINE(bd_flags_name, " /Fd" + sub_build + " /Fp" + sub_build + " /FR" + sub_build + " ");
-
-	for (i in file_list) {
-		src = file_list[i];
-		obj = src.replace(re, ".obj");
-		tv += " " + sub_build + obj;
-
-		if (PHP_ONE_SHOT == "yes") {
-			if (i > 0) {
-				objs_line += " " + sub_build + obj;	
-				srcs_line += " " + dir + "\\" + src;
-			} else {
-				objs_line = sub_build + obj;	
-				srcs_line = dir + "\\" + src;
-			}
-		} else {
-			MFO.WriteLine(sub_build + obj + ": " + dir + "\\" + src);
-			MFO.WriteLine("\t@$(CC) $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " /Fo" + sub_build + obj);
-		}
-	}
-
-	if (PHP_ONE_SHOT == "yes") {
-		MFO.WriteLine(objs_line + ": " + srcs_line);
-		MFO.WriteLine("\t$(CC) $(" + flags + ") $(CFLAGS) /Fo" + sub_build + " $(" + bd_flags_name + ") /c " + srcs_line);
-	}
-
-	DEFINE(sym, tv);
-}
-
-function generate_internal_functions()
-{
-	var infile, outfile;
-	var indata;
-
-	STDOUT.WriteLine("Generating main/internal_functions.c");
-	
-	infile = FSO.OpenTextFile("main/internal_functions.c.in", 1);
-	indata = infile.ReadAll();
-	infile.Close();
-	
-	indata = indata.replace("@EXT_INCLUDE_CODE@", extension_include_code);
-	indata = indata.replace("@EXT_MODULE_PTRS@", extension_module_ptrs);
-
-	if (FSO.FileExists("main/internal_functions.c")) {
-		var origdata = file_get_contents("main/internal_functions.c");
-
-		if (origdata == indata) {
-			STDOUT.WriteLine("\t[content unchanged; skipping]");
-			return;
-		}
-	}
-
-	outfile = FSO.CreateTextFile("main/internal_functions.c", true);
-	outfile.Write(indata);
-	outfile.Close();
-}
-
-function generate_files()
-{
-	var i, dir, bd, last;
-
-	STDOUT.WriteBlankLines(1);
-	STDOUT.WriteLine("Creating build dirs...");
-	dir = get_define("BUILD_DIR");
-	build_dirs.sort();
-	last = null;
-
-	if (!FSO.FolderExists(dir)) {
-		FSO.CreateFolder(dir);
-	}
-	
-	for (i = 0; i < build_dirs.length; i++) {
-		bd = FSO.BuildPath(dir, build_dirs[i]);
-		if (bd == last) {
-			continue;
-		}
-		last = bd;
-		ADD_FLAG("BUILD_DIRS_SUB", bd.replace(new RegExp('^'+dir+'\\\\'), '$(BUILD_DIR)\\'));
-		if (!FSO.FolderExists(bd)) {
-			FSO.CreateFolder(bd);
-		}
-	}
-		
-	STDOUT.WriteLine("Generating files...");
-	generate_makefile();
-	generate_internal_functions();
-	generate_config_h();
-
-
-	STDOUT.WriteLine("Done.");
-	STDOUT.WriteBlankLines(1);
-	if (PHP_SNAPSHOT_BUILD != "no") {
-		STDOUT.WriteLine("Type 'nmake snap' to build a PHP snapshot");
-	} else {
-		STDOUT.WriteLine("Type 'nmake' to build PHP");
-	}
-}
-
-function generate_config_h()
-{
-	var infile, outfile;
-	var indata;
-	var prefix;
-
-	prefix = PHP_PREFIX.replace(new RegExp("\\\\", "g"), "\\\\");
-
-	STDOUT.WriteLine("Generating main/config.w32.h");
-	
-	infile = FSO.OpenTextFile("win32/build/config.w32.h.in", 1);
-	indata = infile.ReadAll();
-	infile.Close();
-	
-	outfile = FSO.CreateTextFile("main/config.w32.h", true);
-
-	indata = indata.replace(new RegExp("@PREFIX@", "g"), prefix);
-	outfile.Write(indata);
-
-	var keys = (new VBArray(configure_hdr.Keys())).toArray();
-	var i, j;
-	var item;
-	var pieces, stuff_to_crack, chunk;
-
-	outfile.WriteBlankLines(1);
-	outfile.WriteLine("/* values determined by configure.js */");
-
-	for (i in keys) {
-		item = configure_hdr.Item(keys[i]);
-		outfile.WriteBlankLines(1);
-		outfile.WriteLine("/* " + item[1] + " */");
-		pieces = item[0];
-
-		if (typeof(pieces) == "string" && pieces.charCodeAt(0) == 34) {
-			/* quoted string have a maximal length of 2k under vc.
-			 * solution is to crack them and let the compiler concat
-			 * them implicitly */
-			stuff_to_crack = pieces;
-			pieces = "";
-
-			while (stuff_to_crack.length) {
-				j = 65;
-				while (stuff_to_crack.charCodeAt(j) != 32 && j < stuff_to_crack.length)
-					j++;
-
-				chunk = stuff_to_crack.substr(0, j);
-				pieces += chunk;
-				stuff_to_crack = stuff_to_crack.substr(chunk.length);
-				if (stuff_to_crack.length)
-					pieces += '" "';
-			}
-		}
-		
-		outfile.WriteLine("#define " + keys[i] + " " + pieces);
-	}
-	
-	outfile.Close();
-}
-
-function generate_makefile()
-{
-	STDOUT.WriteLine("Generating Makefile");
-	var MF = FSO.CreateTextFile("Makefile", true);
-
-	MF.WriteLine("# Generated by configure.js");
-
-	/* spit out variable definitions */
-	var keys = (new VBArray(configure_subst.Keys())).toArray();
-	var i;
-
-	for (i in keys) {
-		// The trailing space is needed to prevent the trailing backslash
-		// that is part of the build dir flags (CFLAGS_BD_XXX) from being
-		// seen as a line continuation character
-		MF.WriteLine(keys[i] + "=" + 
-			//word_wrap_and_indent(1, configure_subst.Item(keys[i]), ' \\', '\t') + " "
-			configure_subst.Item(keys[i]) + " "
-			);
-		MF.WriteBlankLines(1);
-	}
-
-	MF.WriteBlankLines(1);
-
-	var TF = FSO.OpenTextFile("win32/build/Makefile", 1);
-	MF.Write(TF.ReadAll());
-	TF.Close();
-
-	MF.WriteBlankLines(2);
-
-	MFO.Close();
-	TF = FSO.OpenTextFile("Makefile.objects", 1);
-	MF.Write(TF.ReadAll());
-	TF.Close();
-
-	MF.Close();	
-}
-
-function ADD_FLAG(name, flags, target)
-{
-	if (target != null) {
-		name = target.toUpperCase() + "_" + name;
-	}
-	if (configure_subst.Exists(name)) {
-		var curr_flags = configure_subst.Item(name);
-
-		if (curr_flags.indexOf(flags) >= 0) {
-			return;
-		}
-		
-		flags = curr_flags + " " + flags;
-		configure_subst.Remove(name);
-	}
-	configure_subst.Add(name, flags);
-}
-
-function get_define(name)
-{
-	return configure_subst.Item(name);
-}
-
-// Add a .def to the core to export symbols
-function ADD_DEF_FILE(name)
-{
-	if (!configure_subst.Exists("PHPDEF")) {
-		DEFINE("PHPDEF", "$(BUILD_DIR)\\$(PHPDLL).def");
-		ADD_FLAG("PHP_LDFLAGS", "/def:$(PHPDEF)");
-	}
-	ADD_FLAG("PHP_DLL_DEF_SOURCES", name);
-}
-
-function AC_DEFINE(name, value, comment, quote)
-{
-	if (quote == null) {
-		quote = true;
-	}
-	if (quote && typeof(value) == "string") {
-		value = '"' + value.replace(new RegExp('(["\\\\])', "g"), '\\$1') + '"';
-	} else if (value.length == 0) {
-		value = '""';
-	}
-	var item = new Array(value, comment);
-	if (configure_hdr.Exists(name)) {
-		var orig_item = configure_hdr.Item(name);
-		STDOUT.WriteLine("AC_DEFINE[" + name + "]=" + value + ": is already defined to " + item[0]);
-	} else {
-		configure_hdr.Add(name, item);
-	}
-}
-
-function ERROR(msg)
-{
-	STDERR.WriteLine("ERROR: " + msg);
-	WScript.Quit(3);
-}
-
-function WARNING(msg)
-{
-	STDERR.WriteLine("WARNING: " + msg);
-	STDERR.WriteBlankLines(1);
-}
-
-function copy_and_subst(srcname, destname, subst_array)
-{
-	if (!FSO.FileExists(srcname)) {
-		srcname = configure_module_dirname + "\\" + srcname;
-		destname = configure_module_dirname + "\\" + destname;
-	}
-
-	var content = file_get_contents(srcname);
-	var i;
-
-	for (i = 0; i < subst_array.length; i+=2) {
-		var re = subst_array[i];
-		var rep = subst_array[i+1];
-
-		content = content.replace(re, rep);
-	}
-	
-	var f = FSO.CreateTextFile(destname, true);
-	f.Write(content);
-	f.Close();
-}
-
-// glob using simple filename wildcards
-// returns an array of matches that are found
-// in the filesystem
-function glob(path_pattern)
-{
-	var path_parts = path_pattern.replace(new RegExp("/", "g"), "\\").split("\\");
-	var p;
-	var base = "";
-	var is_pat_re = /\*/;
-
-//STDOUT.WriteLine("glob: " + path_pattern);
-
-	if (FSO.FileExists(path_pattern)) {
-		return new Array(path_pattern);
-	}
-	
-	// first, build as much as possible that doesn't have a pattern
-	for (p = 0; p < path_parts.length; p++) {
-		if (path_parts[p].match(is_pat_re))
-			break;
-		if (p)
-			base += "\\";
-		base += path_parts[p];	
-	}
-
-	return _inner_glob(base, p, path_parts);
-}
-
-function _inner_glob(base, p, parts)
-{
-	var pat = parts[p];
-	var full_name = base + "\\" + pat;
-	var re = null;
-	var items = null;
-
-	if (p == parts.length) {
-		return false;
-	}
-
-//STDOUT.WriteLine("inner: base=" + base + " p=" + p + " pat=" + pat);
-
-	if (FSO.FileExists(full_name)) {
-		if (p < parts.length - 1) {
-			// we didn't reach the full extent of the pattern
-			return false;
-		}
-		return new Array(full_name);
-	}
-
-	if (FSO.FolderExists(full_name) && p == parts.length - 1) {
-		// we have reached the end of the pattern; no need to recurse
-		return new Array(full_name);
-	}
-
-	// Convert the pattern into a regexp
-	re = new RegExp("^" + pat.replace(/\./g, '\\.').replace(/\*/g, '.*').replace(/\?/g, '.') + "$", "i");
-
-	items = new Array();
-
-	if (!FSO.FolderExists(base)) {
-		return false;
-	}
-
-	var folder = FSO.GetFolder(base);
-	var fc = null;
-	var subitems = null;
-	var item_name = null;
-	var j;
-
-	fc = new Enumerator(folder.SubFolders);
-	for (; !fc.atEnd(); fc.moveNext()) {
-		item_name = FSO.GetFileName(fc.item());
-
-		if (item_name.match(re)) {
-			// got a match; if we are at the end of the pattern, just add these
-			// things to the items array
-			if (p == parts.length - 1) {
-				items[items.length] = fc.item();
-			} else {
-				// we should recurse and do more matches
-				subitems = _inner_glob(base + "\\" + item_name, p + 1, parts);
-				if (subitems) {
-					for (j = 0; j < subitems.length; j++) {
-						items[items.length] = subitems[j];
-					}
-				}
-			}
-		}
-	}
-
-	// if we are at the end of the pattern, we should match
-	// files too
-	if (p == parts.length - 1) {
-		fc = new Enumerator(folder.Files);
-		for (; !fc.atEnd(); fc.moveNext()) {
-			item_name = FSO.GetFileName(fc.item());
-			if (item_name.match(re)) {
-				items[items.length] = fc.item();
-			}
-		}
-	}
-
-	if (items.length == 0)
-		return false;
-
-	return items;
-}
-
-
-// for snapshot builders, this option will attempt to enable everything
-// and you can then build everything, ignoring fatal errors within a module
-// by running "nmake snap"
-PHP_SNAPSHOT_BUILD = "no";
-ARG_ENABLE('snapshot-build', 'Build a snapshot; turns on everything it can and ignores build errors', 'no');
-
-// one-shot build optimizes build by asking compiler to build
-// several objects at once, reducing overhead of starting new
-// compiler processes.
-ARG_ENABLE('one-shot', 'Optimize for fast build - best for release and snapshot builders, not so hot for edit-and-rebuild hacking', 'no');
-
-
+// Utils for configure script
+/*
+  +----------------------------------------------------------------------+
+  | PHP Version 5                                                        |
+  +----------------------------------------------------------------------+
+  | Copyright (c) 1997-2007 The PHP Group                                |
+  +----------------------------------------------------------------------+
+  | This source file is subject to version 3.01 of the PHP license,      |
+  | that is bundled with this package in the file LICENSE, and is        |
+  | available through the world-wide-web at the following url:           |
+  | http://www.php.net/license/3_01.txt                                  |
+  | If you did not receive a copy of the PHP license and are unable to   |
+  | obtain it through the world-wide-web, please send a note to          |
+  | license at php.net so we can mail you a copy immediately.               |
+  +----------------------------------------------------------------------+
+  | Author: Wez Furlong <wez at thebrainroom.com>                           |
+  +----------------------------------------------------------------------+
+*/
+
+// $Id: confutils.js,v 1.60.2.1.2.10 2008-01-17 21:17:29 cellog Exp $
+
+var STDOUT = WScript.StdOut;
+var STDERR = WScript.StdErr;
+var WshShell = WScript.CreateObject("WScript.Shell");
+var FSO = WScript.CreateObject("Scripting.FileSystemObject");
+var MFO = null;
+var SYSTEM_DRIVE = WshShell.Environment("Process").Item("SystemDrive");
+var PROGRAM_FILES = WshShell.Environment("Process").Item("ProgramFiles");
+
+if (PROGRAM_FILES == null) {
+	PROGRAM_FILES = "C:\\Program Files";
+}
+
+if (!FSO.FileExists("README.SVN-RULES")) {
+	STDERR.WriteLine("Must be run from the root of the php source");
+	WScript.Quit(10);
+}
+
+var CWD = WshShell.CurrentDirectory;
+
+if (typeof(CWD) == "undefined") {
+	CWD = FSO.GetParentFolderName(FSO.GetAbsolutePathName("README.SVN-RULES"));
+}
+
+/* defaults; we pick up the precise versions from configure.in */
+var PHP_VERSION = 5;
+var PHP_MINOR_VERSION = 0;
+var PHP_RELEASE_VERSION = 0;
+var PHP_EXTRA_VERSION = "";
+var PHP_VERSION_STRING = "5.0.0";
+
+function get_version_numbers()
+{
+	var cin = file_get_contents("configure.in");
+	
+	if (cin.match(new RegExp("PHP_MAJOR_VERSION=(\\d+)"))) {
+		PHP_VERSION = RegExp.$1;
+	}
+	if (cin.match(new RegExp("PHP_MINOR_VERSION=(\\d+)"))) {
+		PHP_MINOR_VERSION = RegExp.$1;
+	}
+	if (cin.match(new RegExp("PHP_RELEASE_VERSION=(\\d+)"))) {
+		PHP_RELEASE_VERSION = RegExp.$1;
+	}
+	PHP_VERSION_STRING = PHP_VERSION + "." + PHP_MINOR_VERSION + "." + PHP_RELEASE_VERSION;
+
+	if (cin.match(new RegExp("PHP_EXTRA_VERSION=\"([^\"]+)\""))) {
+		PHP_EXTRA_VERSION = RegExp.$1;
+		if (PHP_EXTRA_VERSION.length) {
+			PHP_VERSION_STRING += PHP_EXTRA_VERSION;
+		}
+	}
+	DEFINE('PHP_VERSION_STRING', PHP_VERSION_STRING);
+}
+
+configure_args = new Array();
+configure_subst = WScript.CreateObject("Scripting.Dictionary");
+
+configure_hdr = WScript.CreateObject("Scripting.Dictionary");
+build_dirs = new Array();
+
+extension_include_code = "";
+extension_module_ptrs = "";
+
+get_version_numbers();
+
+/* execute a command and return the output as a string */
+function execute(command_line)
+{
+	var e = WshShell.Exec(command_line);
+	var ret = "";
+
+	ret = e.StdOut.ReadAll();
+
+//STDOUT.WriteLine("command " + command_line);
+//STDOUT.WriteLine(ret);
+
+	return ret;
+}
+
+function condense_path(path)
+{
+	path = FSO.GetAbsolutePathName(path);
+
+	if (path.substr(0, CWD.length).toLowerCase()
+			== CWD.toLowerCase() &&
+			(path.charCodeAt(CWD.length) == 92 || path.charCodeAt(CWD.length) == 47)) {
+		return path.substr(CWD.length + 1);
+	}
+
+	var a = CWD.split("\\");
+	var b = path.split("\\");
+	var i, j;
+
+	for (i = 0; i < b.length; i++) {
+		if (a[i].toLowerCase() == b[i].toLowerCase())
+			continue;
+		if (i > 0) {
+			/* first difference found */
+			path = "";
+			for (j = 0; j < a.length - i; j++) {
+				path += "..\\";
+			}
+			for (j = i; j < b.length; j++) {
+				path += b[j];
+				if (j < b.length - 1)
+					path += "\\";
+			}
+			return path;
+		}
+		/* on a different drive */
+		break;
+	}
+	
+	return path;
+}
+
+function ConfigureArg(type, optname, helptext, defval)
+{
+	var opptype = type == "enable" ? "disable" : "without";
+
+	if (defval == "yes" || defval == "yes,shared") {
+		this.arg = "--" + opptype + "-" + optname;
+		this.imparg = "--" + type + "-" + optname;
+	} else {
+		this.arg = "--" + type + "-" + optname;
+		this.imparg = "--" + opptype + "-" + optname;
+	}
+	
+	this.optname = optname;
+	this.helptext = helptext;
+	this.defval = defval;
+	this.symval = optname.toUpperCase().replace(new RegExp("-", "g"), "_");
+	this.seen = false;
+	this.argval = defval;
+}
+
+function ARG_WITH(optname, helptext, defval)
+{
+	configure_args[configure_args.length] = new ConfigureArg("with", optname, helptext, defval);
+}
+
+function ARG_ENABLE(optname, helptext, defval)
+{
+	configure_args[configure_args.length] = new ConfigureArg("enable", optname, helptext, defval);
+}
+
+function analyze_arg(argval)
+{
+	var ret = new Array();
+	var shared = false;
+
+	if (argval == "shared") {
+		shared = true;
+		argval = "yes";
+	} else if (argval == null) {
+		/* nothing */
+	} else if (arg_match = argval.match(new RegExp("^shared,(.*)"))) {
+		shared = true;
+		argval = arg_match[1];
+	} else if (arg_match = argval.match(new RegExp("^(.*),shared$"))) {
+		shared = true;
+		argval = arg_match[1];
+	}
+
+	ret[0] = shared;
+	ret[1] = argval;
+	return ret;
+}
+
+function word_wrap_and_indent(indent, text, line_suffix, indent_char)
+{
+	if (text == null) {
+		return "";
+	}
+	
+	var words = text.split(new RegExp("\\s+", "g"));
+	var i = 0;
+	var ret_text = "";
+	var this_line = "";
+	var t;
+	var space = "";
+	var lines = 0;
+
+	if (line_suffix == null) {
+		line_suffix = "";
+	}
+
+	if (indent_char == null) {
+		indent_char = " ";
+	}
+
+	for (i = 0; i < indent; i++) {
+		space += indent_char;
+	}
+	
+	for (i = 0; i < words.length; i++) {
+		if (this_line.length) {
+			t = this_line + " " + words[i];
+		} else {
+			t = words[i];
+		}
+
+		if (t.length + indent > 78) {
+			if (lines++) {
+				ret_text += space;
+			}
+			ret_text += this_line + line_suffix + "\r\n";
+			this_line = "";
+		}
+
+		if (this_line.length) {
+			this_line += " " + words[i];
+		} else {
+			this_line = words[i];
+		}
+	}
+
+	if (this_line.length) {
+		if (lines)
+			ret_text += space;
+		ret_text += this_line;
+	}
+
+	return ret_text;
+}
+
+function conf_process_args()
+{
+	var i, j;
+	var configure_help_mode = false;
+	var analyzed = false;
+	var nice = "cscript /nologo configure.js ";
+	var disable_all = false;
+	
+	args = WScript.Arguments;
+	for (i = 0; i < args.length; i++) {
+		arg = args(i);
+		nice += ' "' + arg + '"';
+		if (arg == "--help") {
+			configure_help_mode = true;
+			break;
+		}
+		if (arg == "--disable-all") {
+			disable_all = true;
+			continue;
+		}
+
+		// If it is --foo=bar, split on the equals sign
+		arg = arg.split("=", 2);
+		argname = arg[0];
+		if (arg.length > 1) {
+			argval = arg[1];
+		} else {
+			argval = null;
+		}
+
+		// Find the arg
+		found = false;
+		for (j = 0; j < configure_args.length; j++) {
+			if (argname == configure_args[j].imparg || argname == configure_args[j].arg) {
+				found = true;
+
+				arg = configure_args[j];
+				arg.seen = true;
+
+				analyzed = analyze_arg(argval);
+				shared = analyzed[0];
+				argval = analyzed[1];
+
+				if (argname == arg.imparg) {
+					/* we matched the implicit, or default arg */
+					if (argval == null) {
+						argval = arg.defval;
+					}
+				} else {
+					/* we matched the non-default arg */
+					if (argval == null) {
+						argval = arg.defval == "no" ? "yes" : "no";
+					}
+				}
+				
+				arg.argval = argval;
+				eval("PHP_" + arg.symval + " = argval;");
+				eval("PHP_" + arg.symval + "_SHARED = shared;");
+				break;
+			}
+		}
+		if (!found) {
+			STDERR.WriteLine("Unknown option " + argname + "; please try configure.js --help for a list of valid options");
+			WScript.Quit(2);
+		}
+	}
+
+	if (configure_help_mode) {
+		STDOUT.WriteLine(word_wrap_and_indent(0,
+"Options that enable extensions and SAPI will accept \
+'yes' or 'no' as a parameter.  They also accept 'shared' \
+as a synonym for 'yes' and request a shared build of that \
+module.  Not all modules can be built as shared modules; \
+configure will display [shared] after the module name if \
+can be built that way. \
+"
+			));
+		STDOUT.WriteBlankLines(1);
+
+		// Measure width to pretty-print the output
+		max_width = 0;
+		for (i = 0; i < configure_args.length; i++) {
+			arg = configure_args[i];
+			if (arg.arg.length > max_width)
+				max_width = arg.arg.length;
+		}
+
+		for (i = 0; i < configure_args.length; i++) {
+			arg = configure_args[i];
+
+			n = max_width - arg.arg.length;
+			pad = "   ";
+			for (j = 0; j < n; j++) {
+				pad += " ";
+			}
+			STDOUT.WriteLine("  " + arg.arg + pad + word_wrap_and_indent(max_width + 5, arg.helptext));
+		}
+		WScript.Quit(1);
+	}
+
+	var snapshot_build_exclusions = new Array(
+		'debug', 'crt-debug', 'lzf-better-compression',
+		 'php-build', 'snapshot-template',
+		 'pcre-regex', 'fastcgi', 'force-cgi-redirect',
+		 'path-info-check', 'zts', 'ipv6', 'memory-limit',
+		 'zend-multibyte', 'fd-setsize', 'memory-manager', 't1lib'
+		);
+	var force;
+
+	// Now set any defaults we might have missed out earlier
+	for (i = 0; i < configure_args.length; i++) {
+		arg = configure_args[i];
+		if (arg.seen)
+			continue;
+		analyzed = analyze_arg(arg.defval);
+		shared = analyzed[0];
+		argval = analyzed[1];
+		
+		// Don't trust a default "yes" answer for a non-core module
+		// in a snapshot build
+		if (PHP_SNAPSHOT_BUILD != "no" && argval == "yes" && !shared) {
+
+			force = true;
+			for (j = 0; j < snapshot_build_exclusions.length; j++) {
+				if (snapshot_build_exclusions[j] == arg.optname) {
+					force = false;
+					break;
+				}
+			}
+
+			if (force) {
+				/* now check if it is a core module */
+				force = false;
+				for (j = 0; j < core_module_list.length; j++) {
+					if (core_module_list[j] == arg.optname) {
+						force = true;
+						break;
+					}
+				}
+
+				if (!force) {
+					STDOUT.WriteLine("snapshot: forcing " + arg.arg + " shared");
+					shared = true;
+				}
+			}
+		}
+		
+		if (PHP_SNAPSHOT_BUILD != "no" && argval == "no") {
+			force = true;
+			for (j = 0; j < snapshot_build_exclusions.length; j++) {
+				if (snapshot_build_exclusions[j] == arg.optname) {
+					force = false;
+					break;
+				}
+			}
+			if (force) {
+				STDOUT.WriteLine("snapshot: forcing " + arg.optname + " on");
+				argval = "yes";
+				shared = true;
+			}
+		}
+
+		if (disable_all) {
+			force = true;
+			for (j = 0; j < snapshot_build_exclusions.length; j++) {
+				if (snapshot_build_exclusions[j] == arg.optname) {
+					force = false;
+					break;
+				}
+			}
+			if (force) {
+				argval = "no";
+				shared = false;
+			}
+		}
+
+		eval("PHP_" + arg.symval + " = argval;");
+		eval("PHP_" + arg.symval + "_SHARED = shared;");
+	}
+
+	MFO = FSO.CreateTextFile("Makefile.objects", true);
+
+	STDOUT.WriteLine("Saving configure options to config.nice.bat");
+	var nicefile = FSO.CreateTextFile("config.nice.bat", true);
+	nicefile.WriteLine(nice +  " %*");
+	nicefile.Close();
+
+	AC_DEFINE('CONFIGURE_COMMAND', nice);
+}
+
+function DEFINE(name, value)
+{
+	if (configure_subst.Exists(name)) {
+		configure_subst.Remove(name);
+	}
+	configure_subst.Add(name, value);
+}
+
+// Searches a set of paths for a file;
+// returns the dir in which the file was found,
+// true if it was found in the default env path,
+// or false if it was not found at all.
+// env_name is the optional name of an env var
+// specifying the default path to search
+function search_paths(thing_to_find, explicit_path, env_name)
+{
+	var i, found = false, place = false, file, env;
+
+	STDOUT.Write("Checking for " + thing_to_find + " ... ");
+
+	thing_to_find = thing_to_find.replace(new RegExp("/", "g"), "\\");
+
+	if (explicit_path != null) {
+		if (typeof(explicit_path) == "string") {
+			explicit_path = explicit_path.split(";");
+		}
+
+		for (i = 0; i < explicit_path.length; i++) {
+			file = glob(explicit_path[i] + "\\" + thing_to_find);
+			if (file) {
+				found = true;
+				place = file[0];
+				place = place.substr(0, place.length - thing_to_find.length - 1);
+				break;
+			}
+		}
+	}
+
+	if (!found && env_name != null) {
+		env = WshShell.Environment("Process").Item(env_name);
+		env = env.split(";");
+		for (i = 0; i < env.length; i++) {
+			file = glob(env[i] + "\\" + thing_to_find);
+			if (file) {
+				found = true;
+				place = true;
+				break;
+			}
+		}
+	}
+
+	if (found && place == true) {
+		STDOUT.WriteLine(" <in default path>");
+	} else if (found) {
+		STDOUT.WriteLine(" " + place);
+	} else {
+		STDOUT.WriteLine(" <not found>");
+	}
+	return place;
+}
+
+function PATH_PROG(progname, additional_paths, symbol)
+{
+	var exe;
+	var place;
+	var cyg_path = PHP_CYGWIN + "\\bin;" + PHP_CYGWIN + "\\usr\\local\\bin";
+
+	exe = progname + ".exe";
+
+	if (additional_paths == null) {
+		additional_paths = cyg_path;
+	} else {
+		additional_paths += ";" + cyg_path;
+	}
+
+	place = search_paths(exe, additional_paths, "PATH");
+
+	if (place == true) {
+		place = exe;
+	} else if (place != false) {
+		place = place + "\\" + exe;
+	}
+
+	if (place) {
+		if (symbol == null) {
+			symbol = progname.toUpperCase();
+		}
+		DEFINE(symbol, place);
+	}
+	return place;
+}
+
+function find_pattern_in_path(pattern, path)
+{
+	if (path == null) {
+		return false;
+	}
+
+	var dirs = path.split(';');
+	var i;
+	var items;
+
+	for (i = 0; i < dirs.length; i++) {
+		items = glob(dirs[i] + "\\" + pattern);
+		if (items) {
+			return condense_path(items[0]);
+		}
+	}
+	return false;
+}
+
+function CHECK_LIB(libnames, target, path_to_check, common_name)
+{
+	STDOUT.Write("Checking for library " + libnames + " ... ");
+
+	if (common_name == null && target != null) {
+		common_name = target;
+	}
+
+	if (path_to_check == null) {
+		path_to_check = "";
+	}
+
+	// if they specified a common name for the package that contains
+	// the library, tag some useful defaults on to the end of the
+	// path to be searched
+	if (common_name != null) {
+		path_to_check += ";" + PHP_PHP_BUILD + "\\" + common_name + "*";
+		path_to_check += ";" + PHP_PHP_BUILD + "\\lib\\" + common_name + "*";
+		path_to_check += ";..\\" + common_name + "*";
+	}
+
+	// Determine target for build flags
+	if (target == null) {
+		target = "";
+	} else {
+		target = "_" + target.toUpperCase();
+	}
+
+	// Expand path to include general dirs
+	path_to_check += ";" + php_usual_lib_suspects;
+
+	// It is common practice to put libs under one of these dir names
+	var subdirs = new Array(PHP_DEBUG == "yes" ? "Debug" : (PHP_DEBUG_PACK == "yes"?"Release_Dbg":"Release"), "lib", "libs", "libexec");
+
+	// libnames can be ; separated list of accepted library names
+	libnames = libnames.split(';');
+
+	var i, j, k, libname;
+	var location = false;
+	var path = path_to_check.split(';');
+	
+	for (i = 0; i < libnames.length; i++) {
+		libname = libnames[i];
+
+		for (k = 0; k < path.length; k++) {
+			location = glob(path[k] + "\\" + libname);
+			if (location) {
+				location = location[0];
+				break;
+			}
+			for (j = 0; j < subdirs.length; j++) {
+				location = glob(path[k] + "\\" + subdirs[j] + "\\" + libname);
+				if (location) {
+					location = location[0];
+					break;
+				}
+			}
+			if (location)
+				break;
+		}
+
+		if (location) {
+			location = condense_path(location);
+			var libdir = FSO.GetParentFolderName(location);
+			libname = FSO.GetFileName(location);
+			ADD_FLAG("LDFLAGS" + target, '/libpath:"' + libdir + '" ');
+			ADD_FLAG("LIBS" + target, libname);
+
+			STDOUT.WriteLine(location);
+
+			return location;
+		}
+
+		// Check in their standard lib path
+		location = find_pattern_in_path(libname, WshShell.Environment("Process").Item("LIB"));
+
+		if (location) {
+			location = condense_path(location);
+			libname = FSO.GetFileName(location);
+			ADD_FLAG("LIBS" + target, libname);
+
+			STDOUT.WriteLine("<in LIB path> " + libname);
+			return location;
+		}
+
+		// Check in their general extra libs path
+		location = find_pattern_in_path(libname, PHP_EXTRA_LIBS);
+		if (location) {
+			location = condense_path(location);
+			libname = FSO.GetFileName(location);
+			ADD_FLAG("LIBS" + target, libname);
+			STDOUT.WriteLine("<in extra libs path>");
+			return location;
+		}
+	}
+
+	STDOUT.WriteLine("<not found>");
+
+	return false;
+}
+
+function OLD_CHECK_LIB(libnames, target, path_to_check)
+{
+	if (target == null) {
+		target = "";
+	} else {
+		target = "_" + target.toUpperCase();
+	}
+	
+	if (path_to_check == null) {
+		path_to_check = php_usual_lib_suspects;
+	} else {
+		path_to_check += ";" + php_usual_lib_suspects;
+	}
+	var have = 0;
+	var p;
+	var i;
+	var libname;
+
+	var subdir = PHP_DEBUG == "yes" ? "Debug" : (PHP_DEBUG_PACK == "yes"?"Release_Dbg":"Release");
+
+	libnames = libnames.split(';');
+	for (i = 0; i < libnames.length; i++) {
+		libname = libnames[i];
+		p = search_paths(libname, path_to_check, "LIB");
+
+		if (!p) {
+			p = search_paths(subdir + "\\" + libname, path_to_check, "LIB");
+			if (p) {
+				p += "\\" + subdir;
+			}
+		}
+
+		if (typeof(p) == "string") {
+			ADD_FLAG("LDFLAGS" + target, '/libpath:"' + p + '" ');
+			ADD_FLAG("LIBS" + target, libname);
+			have = 1;
+		} else if (p == true) {
+			ADD_FLAG("LIBS" + target, libname);
+			have = 1;
+		} else {
+			/* not found in the defaults or the explicit paths,
+			 * so check the general extra libs; if we find
+			 * it here, no need to add another /libpath: for it as we
+			 * already have it covered, but we need to add the lib
+			 * to LIBS_XXX */
+			if (false != search_paths(libname, PHP_EXTRA_LIBS, null)) {
+				ADD_FLAG("LIBS" + target, libname);
+				have = 1;
+			}
+		}
+
+		if (have) {
+			break;
+		}
+	}
+
+//	AC_DEFINE("HAVE_" + header_name.toUpperCase().replace(new RegExp("/\\\\-\.", "g"), "_"), have);
+
+	return have;
+
+}
+
+function CHECK_FUNC_IN_HEADER(header_name, func_name, path_to_check, add_to_flag)
+{
+	var c = false;
+	var sym;
+
+	STDOUT.Write("Checking for " + func_name + " in " + header_name + " ... ");
+
+	c = GREP_HEADER(header_name, func_name, path_to_check);
+
+	sym = func_name.toUpperCase();
+	sym = sym.replace(new RegExp("[\\\\/\.-]", "g"), "_");
+
+	if (typeof(add_to_flag) == "undefined") {
+		AC_DEFINE("HAVE_" + sym, c ? 1 : 0);
+	} else {
+		ADD_FLAG(add_to_flag, "/DHAVE_" + sym + "=" + (c ? "1" : "0"));
+	}
+
+	if (c) {
+		STDOUT.WriteLine("OK");
+		return c;
+	}
+	STDOUT.WriteLine("No");
+	return false;	
+}
+
+function GREP_HEADER(header_name, regex, path_to_check)
+{
+	var c = false;
+
+	if (FSO.FileExists(path_to_check + "\\" + header_name)) {
+		c = file_get_contents(path_to_check + "\\" + header_name);
+	}
+
+	if (!c) {
+		/* look in the include path */
+
+		var p = search_paths(header_name, path_to_check, "INCLUDE");
+		if (typeof(p) == "string") {
+			c = file_get_contents(p);
+		} else if (p == false) {
+			p = search_paths(header_name, PHP_EXTRA_INCLUDES, null);
+			if (typeof(p) == "string") {
+				c = file_get_contents(p);
+			}
+		} 
+		if (!c) {
+			return false;
+		}
+	}
+
+	if (typeof(regex) == "string") {
+		regex = new RegExp(regex);
+	}
+
+	if (c.match(regex)) {
+		/* caller can now use RegExp.$1 etc. to get at patterns */
+		return true;
+	}
+	return false;
+}
+
+function CHECK_HEADER_ADD_INCLUDE(header_name, flag_name, path_to_check, use_env, add_dir_part, add_to_flag_only)
+{
+	var dir_part_to_add = "";
+	
+	if (use_env == null) {
+		use_env = true;
+	}
+
+	// if true, add the dir part of the header_name to the include path
+	if (add_dir_part == null) {
+		add_dir_part = false;
+	} else if (add_dir_part) {
+		var basename = FSO.GetFileName(header_name);
+		dir_part_to_add = "\\" + header_name.substr(0, header_name.length - basename.length - 1);
+	}
+
+	if (path_to_check == null) {
+		path_to_check = php_usual_include_suspects;
+	} else {
+		path_to_check += ";" + php_usual_include_suspects;
+	}
+	
+	var p = search_paths(header_name, path_to_check, use_env ? "INCLUDE" : null);
+	var have = 0;
+	var sym;
+
+	if (typeof(p) == "string") {
+		ADD_FLAG(flag_name, '/I "' + p + dir_part_to_add + '" ');
+	} else if (p == false) {
+		/* not found in the defaults or the explicit paths,
+		 * so check the general extra includes; if we find
+		 * it here, no need to add another /I for it as we
+		 * already have it covered, unless we are adding
+		 * the dir part.... */
+		p = search_paths(header_name, PHP_EXTRA_INCLUDES, null);
+		if (typeof(p) == "string" && add_dir_part) {
+			ADD_FLAG(flag_name, '/I "' + p + dir_part_to_add + '" ');
+		}
+	} 
+	have = p ? 1 : 0
+
+	sym = header_name.toUpperCase();
+	sym = sym.replace(new RegExp("[\\\\/\.-]", "g"), "_");
+
+	if (typeof(add_to_flag_only) == "undefined" &&
+			flag_name.match(new RegExp("^CFLAGS_(.*)$"))) {
+		add_to_flag_only = true;
+	}
+
+	if (typeof(add_to_flag_only) != "undefined") {
+		ADD_FLAG(flag_name, "/DHAVE_" + sym + "=" + have);
+	} else {
+		AC_DEFINE("HAVE_" + sym, have, "have the " + header_name + " header file");
+	}
+
+	return p;
+}
+
+/* emits rule to generate version info for a SAPI
+ * or extension.  Returns the name of the .res file
+ * that will be generated */
+function generate_version_info_resource(makefiletarget, creditspath)
+{
+	var resname = makefiletarget + ".res";
+	var res_desc = "PHP " + makefiletarget;
+	var res_prod_name = res_desc;
+	var credits;
+	var thanks = "";
+	var logo = "";
+
+	if (FSO.FileExists(creditspath + '/CREDITS')) {
+		credits = FSO.OpenTextFile(creditspath + '/CREDITS', 1);
+		res_desc = credits.ReadLine();
+		try {
+			thanks = credits.ReadLine();
+		} catch (e) {
+			thanks = null;
+		}
+		if (thanks == null) {
+			thanks = "";
+		} else {
+			thanks = "Thanks to " + thanks;
+		}
+		credits.Close();
+	}
+
+	if (makefiletarget.match(new RegExp("\\.exe$"))) {
+		logo = " /D WANT_LOGO ";
+	}
+
+	/**
+	 * Use user supplied template.rc if it exists
+	 */
+	if (FSO.FileExists(creditspath + '\\template.rc')) {
+		MFO.WriteLine("$(BUILD_DIR)\\" + resname + ": " + creditspath + "\\template.rc");
+		MFO.WriteLine("\t$(RC) /fo $(BUILD_DIR)\\" + resname + logo +
+		   	' /d FILE_DESCRIPTION="\\"' + res_desc + '\\"" /d FILE_NAME="\\"' + makefiletarget +
+	   		'\\"" /d PRODUCT_NAME="\\"' + res_prod_name + '\\"" /d THANKS_GUYS="\\"' +
+			thanks + '\\"" ' + creditspath + '\\template.rc');
+		return resname;
+	}
+
+	MFO.WriteLine("$(BUILD_DIR)\\" + resname + ": win32\\build\\template.rc");
+	MFO.WriteLine("\t$(RC) /fo $(BUILD_DIR)\\" + resname + logo +
+	   	' /d FILE_DESCRIPTION="\\"' + res_desc + '\\"" /d FILE_NAME="\\"' + makefiletarget +
+	   	'\\"" /d PRODUCT_NAME="\\"' + res_prod_name + '\\"" /d THANKS_GUYS="\\"' +
+		thanks + '\\"" win32\\build\\template.rc');
+	MFO.WriteBlankLines(1);
+	
+	return resname;
+}
+
+function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir)
+{
+	var SAPI = sapiname.toUpperCase();
+	var ldflags;
+	var resname;
+	var ld;
+	var manifest;
+
+	if (typeof(obj_dir) == "undefined") {
+		sapiname_for_printing = configure_module_dirname;
+	} else {
+		sapiname_for_printing = configure_module_dirname + " (via " + obj_dir + ")";
+	}
+
+	STDOUT.WriteLine("Enabling SAPI " + sapiname_for_printing);
+
+	MFO.WriteBlankLines(1);
+	MFO.WriteLine("# objects for SAPI " + sapiname);
+	MFO.WriteBlankLines(1);
+
+	if (cflags) {
+		ADD_FLAG('CFLAGS_' + SAPI, cflags);
+	}
+
+	ADD_SOURCES(configure_module_dirname, file_list, sapiname, obj_dir);
+	MFO.WriteBlankLines(1);
+	MFO.WriteLine("# SAPI " + sapiname);
+	MFO.WriteBlankLines(1);
+
+	/* generate a .res file containing version information */
+	resname = generate_version_info_resource(makefiletarget, configure_module_dirname);
+	
+	MFO.WriteLine(makefiletarget + ": $(BUILD_DIR)\\" + makefiletarget);
+	MFO.WriteLine("\t at echo SAPI " + sapiname_for_printing + " build complete");
+	MFO.WriteLine("$(BUILD_DIR)\\" + makefiletarget + ": $(DEPS_" + SAPI + ") $(" + SAPI + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);
+
+	if (makefiletarget.match(new RegExp("\\.dll$"))) {
+		ldflags = "/dll $(LDFLAGS)";
+		manifest = "-@$(_VC_MANIFEST_EMBED_DLL)";
+	} else if (makefiletarget.match(new RegExp("\\.lib$"))) {
+		ldflags = "$(LDFLAGS)";
+		ld = "$(MAKE_LIB)";
+	} else {
+		ldflags = "$(LDFLAGS)";
+		manifest = "-@$(_VC_MANIFEST_EMBED_EXE)";
+	}
+
+	if (ld) {
+		MFO.WriteLine("\t" + ld + " /nologo /out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + " $(" + SAPI + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LDFLAGS_" + SAPI + ") $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname);
+	} else {
+		ld = "@$(CC)";
+		MFO.WriteLine("\t" + ld + " /nologo " + " $(" + SAPI + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname + " /link /out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + " $(LDFLAGS_" + SAPI + ")");
+	}
+
+	if (manifest) {
+		MFO.WriteLine("\t" + manifest);
+	}
+		
+	DEFINE('CFLAGS_' + SAPI + '_OBJ', '$(CFLAGS_' + SAPI + ')');
+
+	if (configure_module_dirname.match("pecl")) {
+		ADD_FLAG("PECL_TARGETS", makefiletarget);
+	} else {
+		ADD_FLAG("SAPI_TARGETS", makefiletarget);
+	}
+
+	MFO.WriteBlankLines(1);
+}
+
+function ADD_DIST_FILE(filename)
+{
+	if (configure_module_dirname.match("pecl")) {
+		ADD_FLAG("PECL_EXTRA_DIST_FILES", filename);
+	} else {
+		ADD_FLAG("PHP_EXTRA_DIST_FILES", filename);
+	}
+}	
+
+function file_get_contents(filename)
+{
+	var f, c;
+	try {
+		f = FSO.OpenTextFile(filename, 1);
+		c = f.ReadAll();
+		f.Close();
+		return c;
+	} catch (e) {
+		STDOUT.WriteLine("Problem reading " + filename);
+		return false;
+	}
+}
+
+// Add a dependency on another extension, so that
+// the dependencies are built before extname
+function ADD_EXTENSION_DEP(extname, dependson, optional)
+{
+	var EXT = extname.toUpperCase();
+	var DEP = dependson.toUpperCase();
+	var dep_present = false;
+	var dep_shared = false;
+
+	try {
+		dep_present = eval("PHP_" + DEP);
+		dep_shared = eval("PHP_" + DEP + "_SHARED");
+	} catch (e) {
+		dep_present = "no";
+		dep_shared = false;
+	}
+	
+	if (optional) {
+		if (dep_present == "no")
+			return;
+	}
+
+	var ext_shared = eval("PHP_" + EXT + "_SHARED");
+
+	if (dep_shared) {
+		if (!ext_shared) {
+			if (optional) {
+				return;
+			}
+			ERROR("static " + extname + " cannot depend on shared " + dependson);
+		}
+		ADD_FLAG("LDFLAGS_" + EXT, "/libpath:$(BUILD_DIR)");
+		ADD_FLAG("LIBS_" + EXT, "php_" + dependson + ".lib");
+		ADD_FLAG("DEPS_" + EXT, "$(BUILD_DIR)\\php_" + dependson + ".lib");
+	} else {
+		if (dep_present == "no") {
+			if (ext_shared) {
+				WARNING(extname + " has a missing dependency: " + dependson);
+			} else {
+				ERROR("Cannot build " + extname + "; " + dependson + " not enabled");
+			}
+		}
+	}
+}
+
+function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
+{
+	var objs = null;
+	var EXT = extname.toUpperCase();
+	var extname_for_printing;
+	
+	if (shared == null) {
+		eval("shared = PHP_" + EXT + "_SHARED;");
+	}
+	if (cflags == null) {
+		cflags = "";
+	}
+
+	if (typeof(obj_dir) == "undefined") {
+		extname_for_printing = configure_module_dirname;
+	} else {
+		extname_for_printing = configure_module_dirname + " (via " + obj_dir + ")";
+	}
+
+	if (shared) {
+		STDOUT.WriteLine("Enabling extension " + extname_for_printing + " [shared]");
+		cflags = "/D COMPILE_DL_" + EXT + " /D " + EXT + "_EXPORTS=1 " + cflags;
+		ADD_FLAG("CFLAGS_PHP", "/D COMPILE_DL_" + EXT);
+	} else {
+		STDOUT.WriteLine("Enabling extension " + extname_for_printing);
+	}
+
+	MFO.WriteBlankLines(1);
+	MFO.WriteLine("# objects for EXT " + extname);
+	MFO.WriteBlankLines(1);
+
+
+	ADD_SOURCES(configure_module_dirname, file_list, extname, obj_dir);
+	
+	MFO.WriteBlankLines(1);
+
+	if (shared) {
+		if (dllname == null) {
+			dllname = "php_" + extname + ".dll";
+		}
+		var libname = dllname.substring(0, dllname.length-4) + ".lib";
+
+		var resname = generate_version_info_resource(dllname, configure_module_dirname);
+		var ld = "@$(CC)";
+
+		MFO.WriteLine("$(BUILD_DIR)\\" + libname + ": $(BUILD_DIR)\\" + dllname);
+		MFO.WriteBlankLines(1);
+		MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(DEPS_" + EXT + ") $(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);
+		MFO.WriteLine("\t" + ld + " $(" + EXT + "_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname + " /link /out:$(BUILD_DIR)\\" + dllname + " $(DLL_LDFLAGS) $(LDFLAGS) $(LDFLAGS_" + EXT + ")");
+		MFO.WriteLine("\t-@$(_VC_MANIFEST_EMBED_DLL)");
+		MFO.WriteBlankLines(1);
+
+		if (configure_module_dirname.match("pecl")) {
+			ADD_FLAG("PECL_TARGETS", dllname);
+		} else {
+			ADD_FLAG("EXT_TARGETS", dllname);
+		}
+		MFO.WriteLine(dllname + ": $(BUILD_DIR)\\" + dllname);
+		MFO.WriteLine("\t at echo EXT " + extname + " build complete");
+		MFO.WriteBlankLines(1);
+		
+		DEFINE('CFLAGS_' + EXT + '_OBJ', '$(CFLAGS_' + EXT + ')');
+	} else {
+		ADD_FLAG("STATIC_EXT_OBJS", "$(" + EXT + "_GLOBAL_OBJS)");
+		ADD_FLAG("STATIC_EXT_LIBS", "$(LIBS_" + EXT + ")");
+		ADD_FLAG("STATIC_EXT_LDFLAGS", "$(LDFLAGS_" + EXT + ")");
+		ADD_FLAG("STATIC_EXT_CFLAGS", "$(CFLAGS_" + EXT + ")");
+
+		/* find the header that declares the module pointer,
+		 * so we can include it in internal_functions.c */
+		var ext_dir = FSO.GetFolder(configure_module_dirname);
+		var fc = new Enumerator(ext_dir.Files);
+		var re = /\.h$/;
+		var s, c;
+		for (; !fc.atEnd(); fc.moveNext()) {
+			s = fc.item() + "";
+			if (s.match(re)) {
+				c = file_get_contents(s);
+				if (c.match("phpext_")) {
+					extension_include_code += '#include "' + configure_module_dirname + '/' + FSO.GetFileName(s) + '"\r\n';
+				}
+			}
+		}
+	
+		extension_module_ptrs += '\tphpext_' + extname + '_ptr,\r\n';
+	
+		DEFINE('CFLAGS_' + EXT + '_OBJ', '$(CFLAGS_PHP) $(CFLAGS_' + EXT + ')');
+	}
+	ADD_FLAG("CFLAGS_" + EXT, cflags);
+}
+
+function ADD_SOURCES(dir, file_list, target, obj_dir)
+{
+	var i;
+	var tv;
+	var src, obj, sym, flags;
+
+	if (target == null) {
+		target = "php";
+	}
+
+	sym = target.toUpperCase() + "_GLOBAL_OBJS";
+	flags = "CFLAGS_" + target.toUpperCase() + '_OBJ';
+
+	if (configure_subst.Exists(sym)) {
+		tv = configure_subst.Item(sym);
+	} else {
+		tv = "";
+	}
+
+	file_list = file_list.split(new RegExp("\\s+"));
+	file_list.sort();
+
+	var re = new RegExp("\.[a-z0-9A-Z]+$");
+
+	dir = dir.replace(new RegExp("/", "g"), "\\");
+	var objs_line = "";
+	var srcs_line = "";
+
+	var sub_build = "$(BUILD_DIR)\\";
+
+	/* if module dir is not a child of the main source dir,
+	 * we need to tweak it; we should have detected such a
+	 * case in condense_path and rewritten the path to
+	 * be relative.
+	 * This probably breaks for non-sibling dirs, but that
+	 * is not a problem as buildconf only checks for pecl
+	 * as either a child or a sibling */
+	if (obj_dir == null) {
+		var build_dir = dir.replace(new RegExp("^..\\\\"), "");
+		var mangle_dir = build_dir.replace(new RegExp("[\\\\/.-]", "g"), "_");
+		var bd_flags_name = "CFLAGS_BD_" + mangle_dir.toUpperCase();
+	}
+	else {
+		var build_dir = obj_dir.replace(new RegExp("^..\\\\"), "");
+		var mangle_dir = build_dir.replace(new RegExp("[\\\\/.-]", "g"), "_");
+		var bd_flags_name = "CFLAGS_BD_" + mangle_dir.toUpperCase();
+	}
+	
+	var dirs = build_dir.split("\\");
+	var i, d = "";
+	for (i = 0; i < dirs.length; i++) {
+		d += dirs[i];
+		build_dirs[build_dirs.length] = d;
+		d += "\\";
+	}
+	sub_build += d;
+
+
+	DEFINE(bd_flags_name, " /Fd" + sub_build + " /Fp" + sub_build + " /FR" + sub_build + " ");
+
+	for (i in file_list) {
+		src = file_list[i];
+		obj = src.replace(re, ".obj");
+		tv += " " + sub_build + obj;
+
+		if (PHP_ONE_SHOT == "yes") {
+			if (i > 0) {
+				objs_line += " " + sub_build + obj;	
+				srcs_line += " " + dir + "\\" + src;
+			} else {
+				objs_line = sub_build + obj;	
+				srcs_line = dir + "\\" + src;
+			}
+		} else {
+			MFO.WriteLine(sub_build + obj + ": " + dir + "\\" + src);
+			MFO.WriteLine("\t@$(CC) $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " /Fo" + sub_build + obj);
+		}
+	}
+
+	if (PHP_ONE_SHOT == "yes") {
+		MFO.WriteLine(objs_line + ": " + srcs_line);
+		MFO.WriteLine("\t$(CC) $(" + flags + ") $(CFLAGS) /Fo" + sub_build + " $(" + bd_flags_name + ") /c " + srcs_line);
+	}
+
+	DEFINE(sym, tv);
+}
+
+function generate_internal_functions()
+{
+	var infile, outfile;
+	var indata;
+
+	STDOUT.WriteLine("Generating main/internal_functions.c");
+	
+	infile = FSO.OpenTextFile("main/internal_functions.c.in", 1);
+	indata = infile.ReadAll();
+	infile.Close();
+	
+	indata = indata.replace("@EXT_INCLUDE_CODE@", extension_include_code);
+	indata = indata.replace("@EXT_MODULE_PTRS@", extension_module_ptrs);
+
+	if (FSO.FileExists("main/internal_functions.c")) {
+		var origdata = file_get_contents("main/internal_functions.c");
+
+		if (origdata == indata) {
+			STDOUT.WriteLine("\t[content unchanged; skipping]");
+			return;
+		}
+	}
+
+	outfile = FSO.CreateTextFile("main/internal_functions.c", true);
+	outfile.Write(indata);
+	outfile.Close();
+}
+
+function generate_files()
+{
+	var i, dir, bd, last;
+
+	STDOUT.WriteBlankLines(1);
+	STDOUT.WriteLine("Creating build dirs...");
+	dir = get_define("BUILD_DIR");
+	build_dirs.sort();
+	last = null;
+
+	if (!FSO.FolderExists(dir)) {
+		FSO.CreateFolder(dir);
+	}
+	
+	for (i = 0; i < build_dirs.length; i++) {
+		bd = FSO.BuildPath(dir, build_dirs[i]);
+		if (bd == last) {
+			continue;
+		}
+		last = bd;
+		ADD_FLAG("BUILD_DIRS_SUB", bd.replace(new RegExp('^'+dir+'\\\\'), '$(BUILD_DIR)\\'));
+		if (!FSO.FolderExists(bd)) {
+			FSO.CreateFolder(bd);
+		}
+	}
+		
+	STDOUT.WriteLine("Generating files...");
+	generate_makefile();
+	generate_internal_functions();
+	generate_config_h();
+
+
+	STDOUT.WriteLine("Done.");
+	STDOUT.WriteBlankLines(1);
+	if (PHP_SNAPSHOT_BUILD != "no") {
+		STDOUT.WriteLine("Type 'nmake snap' to build a PHP snapshot");
+	} else {
+		STDOUT.WriteLine("Type 'nmake' to build PHP");
+	}
+}
+
+function generate_config_h()
+{
+	var infile, outfile;
+	var indata;
+	var prefix;
+
+	prefix = PHP_PREFIX.replace(new RegExp("\\\\", "g"), "\\\\");
+
+	STDOUT.WriteLine("Generating main/config.w32.h");
+	
+	infile = FSO.OpenTextFile("win32/build/config.w32.h.in", 1);
+	indata = infile.ReadAll();
+	infile.Close();
+	
+	outfile = FSO.CreateTextFile("main/config.w32.h", true);
+
+	indata = indata.replace(new RegExp("@PREFIX@", "g"), prefix);
+	outfile.Write(indata);
+
+	var keys = (new VBArray(configure_hdr.Keys())).toArray();
+	var i, j;
+	var item;
+	var pieces, stuff_to_crack, chunk;
+
+	outfile.WriteBlankLines(1);
+	outfile.WriteLine("/* values determined by configure.js */");
+
+	for (i in keys) {
+		item = configure_hdr.Item(keys[i]);
+		outfile.WriteBlankLines(1);
+		outfile.WriteLine("/* " + item[1] + " */");
+		pieces = item[0];
+
+		if (typeof(pieces) == "string" && pieces.charCodeAt(0) == 34) {
+			/* quoted string have a maximal length of 2k under vc.
+			 * solution is to crack them and let the compiler concat
+			 * them implicitly */
+			stuff_to_crack = pieces;
+			pieces = "";
+
+			while (stuff_to_crack.length) {
+				j = 65;
+				while (stuff_to_crack.charCodeAt(j) != 32 && j < stuff_to_crack.length)
+					j++;
+
+				chunk = stuff_to_crack.substr(0, j);
+				pieces += chunk;
+				stuff_to_crack = stuff_to_crack.substr(chunk.length);
+				if (stuff_to_crack.length)
+					pieces += '" "';
+			}
+		}
+		
+		outfile.WriteLine("#define " + keys[i] + " " + pieces);
+	}
+	
+	outfile.Close();
+}
+
+function generate_makefile()
+{
+	STDOUT.WriteLine("Generating Makefile");
+	var MF = FSO.CreateTextFile("Makefile", true);
+
+	MF.WriteLine("# Generated by configure.js");
+
+	/* spit out variable definitions */
+	var keys = (new VBArray(configure_subst.Keys())).toArray();
+	var i;
+
+	for (i in keys) {
+		// The trailing space is needed to prevent the trailing backslash
+		// that is part of the build dir flags (CFLAGS_BD_XXX) from being
+		// seen as a line continuation character
+		MF.WriteLine(keys[i] + "=" + 
+			//word_wrap_and_indent(1, configure_subst.Item(keys[i]), ' \\', '\t') + " "
+			configure_subst.Item(keys[i]) + " "
+			);
+		MF.WriteBlankLines(1);
+	}
+
+	MF.WriteBlankLines(1);
+
+	var TF = FSO.OpenTextFile("win32/build/Makefile", 1);
+	MF.Write(TF.ReadAll());
+	TF.Close();
+
+	MF.WriteBlankLines(2);
+
+	MFO.Close();
+	TF = FSO.OpenTextFile("Makefile.objects", 1);
+	MF.Write(TF.ReadAll());
+	TF.Close();
+
+	MF.Close();	
+}
+
+function ADD_FLAG(name, flags, target)
+{
+	if (target != null) {
+		name = target.toUpperCase() + "_" + name;
+	}
+	if (configure_subst.Exists(name)) {
+		var curr_flags = configure_subst.Item(name);
+
+		if (curr_flags.indexOf(flags) >= 0) {
+			return;
+		}
+		
+		flags = curr_flags + " " + flags;
+		configure_subst.Remove(name);
+	}
+	configure_subst.Add(name, flags);
+}
+
+function get_define(name)
+{
+	return configure_subst.Item(name);
+}
+
+// Add a .def to the core to export symbols
+function ADD_DEF_FILE(name)
+{
+	if (!configure_subst.Exists("PHPDEF")) {
+		DEFINE("PHPDEF", "$(BUILD_DIR)\\$(PHPDLL).def");
+		ADD_FLAG("PHP_LDFLAGS", "/def:$(PHPDEF)");
+	}
+	ADD_FLAG("PHP_DLL_DEF_SOURCES", name);
+}
+
+function AC_DEFINE(name, value, comment, quote)
+{
+	if (quote == null) {
+		quote = true;
+	}
+	if (quote && typeof(value) == "string") {
+		value = '"' + value.replace(new RegExp('(["\\\\])', "g"), '\\$1') + '"';
+	} else if (value.length == 0) {
+		value = '""';
+	}
+	var item = new Array(value, comment);
+	if (configure_hdr.Exists(name)) {
+		var orig_item = configure_hdr.Item(name);
+		STDOUT.WriteLine("AC_DEFINE[" + name + "]=" + value + ": is already defined to " + item[0]);
+	} else {
+		configure_hdr.Add(name, item);
+	}
+}
+
+function ERROR(msg)
+{
+	STDERR.WriteLine("ERROR: " + msg);
+	WScript.Quit(3);
+}
+
+function WARNING(msg)
+{
+	STDERR.WriteLine("WARNING: " + msg);
+	STDERR.WriteBlankLines(1);
+}
+
+function copy_and_subst(srcname, destname, subst_array)
+{
+	if (!FSO.FileExists(srcname)) {
+		srcname = configure_module_dirname + "\\" + srcname;
+		destname = configure_module_dirname + "\\" + destname;
+	}
+
+	var content = file_get_contents(srcname);
+	var i;
+
+	for (i = 0; i < subst_array.length; i+=2) {
+		var re = subst_array[i];
+		var rep = subst_array[i+1];
+
+		content = content.replace(re, rep);
+	}
+	
+	var f = FSO.CreateTextFile(destname, true);
+	f.Write(content);
+	f.Close();
+}
+
+// glob using simple filename wildcards
+// returns an array of matches that are found
+// in the filesystem
+function glob(path_pattern)
+{
+	var path_parts = path_pattern.replace(new RegExp("/", "g"), "\\").split("\\");
+	var p;
+	var base = "";
+	var is_pat_re = /\*/;
+
+//STDOUT.WriteLine("glob: " + path_pattern);
+
+	if (FSO.FileExists(path_pattern)) {
+		return new Array(path_pattern);
+	}
+	
+	// first, build as much as possible that doesn't have a pattern
+	for (p = 0; p < path_parts.length; p++) {
+		if (path_parts[p].match(is_pat_re))
+			break;
+		if (p)
+			base += "\\";
+		base += path_parts[p];	
+	}
+
+	return _inner_glob(base, p, path_parts);
+}
+
+function _inner_glob(base, p, parts)
+{
+	var pat = parts[p];
+	var full_name = base + "\\" + pat;
+	var re = null;
+	var items = null;
+
+	if (p == parts.length) {
+		return false;
+	}
+
+//STDOUT.WriteLine("inner: base=" + base + " p=" + p + " pat=" + pat);
+
+	if (FSO.FileExists(full_name)) {
+		if (p < parts.length - 1) {
+			// we didn't reach the full extent of the pattern
+			return false;
+		}
+		return new Array(full_name);
+	}
+
+	if (FSO.FolderExists(full_name) && p == parts.length - 1) {
+		// we have reached the end of the pattern; no need to recurse
+		return new Array(full_name);
+	}
+
+	// Convert the pattern into a regexp
+	re = new RegExp("^" + pat.replace(/\./g, '\\.').replace(/\*/g, '.*').replace(/\?/g, '.') + "$", "i");
+
+	items = new Array();
+
+	if (!FSO.FolderExists(base)) {
+		return false;
+	}
+
+	var folder = FSO.GetFolder(base);
+	var fc = null;
+	var subitems = null;
+	var item_name = null;
+	var j;
+
+	fc = new Enumerator(folder.SubFolders);
+	for (; !fc.atEnd(); fc.moveNext()) {
+		item_name = FSO.GetFileName(fc.item());
+
+		if (item_name.match(re)) {
+			// got a match; if we are at the end of the pattern, just add these
+			// things to the items array
+			if (p == parts.length - 1) {
+				items[items.length] = fc.item();
+			} else {
+				// we should recurse and do more matches
+				subitems = _inner_glob(base + "\\" + item_name, p + 1, parts);
+				if (subitems) {
+					for (j = 0; j < subitems.length; j++) {
+						items[items.length] = subitems[j];
+					}
+				}
+			}
+		}
+	}
+
+	// if we are at the end of the pattern, we should match
+	// files too
+	if (p == parts.length - 1) {
+		fc = new Enumerator(folder.Files);
+		for (; !fc.atEnd(); fc.moveNext()) {
+			item_name = FSO.GetFileName(fc.item());
+			if (item_name.match(re)) {
+				items[items.length] = fc.item();
+			}
+		}
+	}
+
+	if (items.length == 0)
+		return false;
+
+	return items;
+}
+
+
+// for snapshot builders, this option will attempt to enable everything
+// and you can then build everything, ignoring fatal errors within a module
+// by running "nmake snap"
+PHP_SNAPSHOT_BUILD = "no";
+ARG_ENABLE('snapshot-build', 'Build a snapshot; turns on everything it can and ignores build errors', 'no');
+
+// one-shot build optimizes build by asking compiler to build
+// several objects at once, reducing overhead of starting new
+// compiler processes.
+ARG_ENABLE('one-shot', 'Optimize for fast build - best for release and snapshot builders, not so hot for edit-and-rebuild hacking', 'no');
+
+
diff --git a/win32/build/cvsclean.js b/win32/build/cvsclean.js
index 7109cae..c5f92a3 100644
--- a/win32/build/cvsclean.js
+++ b/win32/build/cvsclean.js
@@ -2,7 +2,7 @@
   +----------------------------------------------------------------------+
   | PHP Version 5                                                        |
   +----------------------------------------------------------------------+
-  | Copyright (c) 1997-2007 The PHP Group                                |
+  | Copyright (c) 1997-2009 The PHP Group                                |
   +----------------------------------------------------------------------+
   | This source file is subject to version 3.01 of the PHP license,      |
   | that is bundled with this package in the file LICENSE, and is        |
@@ -13,32 +13,39 @@
   | license at php.net so we can mail you a copy immediately.               |
   +----------------------------------------------------------------------+
   | Author: Wez Furlong <wez at thebrainroom.com>                           |
+  |         Pierre A. Joye <pierre at php.net>                              |
   +----------------------------------------------------------------------+
 */
 
-/* $Id: cvsclean.js,v 1.5.2.1.2.1 2007/01/01 19:32:09 iliaa Exp $ */
-// Cleans up files that do not belong in CVS
+/* $Id$ */
+// Cleans up files that do not belong in the repository
 
 var FSO = WScript.CreateObject("Scripting.FileSystemObject");
+var WshShell = WScript.CreateObject("WScript.Shell");
+var STDOUT = WScript.StdOut;
 
-function find_cvsignore(dirname)
+/* svn propget svn:ignore dirname */
+function find_ignore(dirname)
 {
-	if (!FSO.FolderExists(dirname))
+	dirname = "" + dirname;
+	dirname_len = dirname.length;
+
+	if (!FSO.FolderExists(dirname) || (dirname_len >= 4 && 
+	dirname.substring(dirname_len - 4) == ".svn")) {
 		return;
+	}
 
 	var f = FSO.GetFolder(dirname);
 	var fc = new Enumerator(f.SubFolders);
-	
+
 	for (; !fc.atEnd(); fc.moveNext()) {
-		find_cvsignore(fc.item());	
+		find_ignore(fc.item());
 	}
 
-	if (FSO.FileExists(dirname + "\\.cvsignore")) {
-		kill_from_cvsignore(dirname + "\\.cvsignore");
-	}
+	kill_from_ignore(dirname);
 }
 
-/* recursive remove using cvsignore style wildcard matching;
+/* recursive remove using ignore props style wildcard matching;
  * note that FSO.DeleteFolder and FSO.DeleteFile methods both
  * accept wildcards, but that they are dangerous to use eg:
  * "*.php" will match "*.phpt" */
@@ -66,7 +73,7 @@ function rm_r(filename)
 
 		if (foldername == "")
 			foldername = ".";
-		
+
 		var filename = FSO.GetFileName(filename);
 
 		var retext = filename.replace(/\./g, '\\.');
@@ -94,27 +101,20 @@ function rm_r(filename)
 	}
 }
 
-function kill_from_cvsignore(igfile)
+function kill_from_ignore(dirname)
 {
-	var dir = FSO.GetParentFolderName(igfile) + "\\";
-	var t = FSO.OpenTextFile(igfile, 1);
 	var l;
-	
-	if (dir == ".\\") {
-		dir = "";
-	}
-		
-	while (!t.atEndOfStream) {
-		l = t.ReadLine();
-		// don't kill their config.nice file(s)
-		if (l.match("config\.nice.*") ||
-			l.match("") || 
-			l.match("*"))
+	var e = WshShell.Exec("svn propget svn:ignore " + dirname);
+	var re = /^(config\.nice.*)|(\*)$/i;
+
+	while (!e.StdOut.atEndOfStream) {
+		l = e.StdOut.ReadLine();
+		if (l.length == 0 || re.test(l)) {
 			continue;
-		rm_r(dir + l);
+		}
+		rm_r(dirname + l);
 	}
 
 }
 
-find_cvsignore(".");
-
+find_ignore(".");
diff --git a/win32/build/deplister.c b/win32/build/deplister.c
index f6a8c2a..6bcd398 100644
--- a/win32/build/deplister.c
+++ b/win32/build/deplister.c
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: deplister.c,v 1.3.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: deplister.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* This little application will list the DLL dependencies for a PE
  * module to it's stdout for use by distro/installer building tools */
diff --git a/win32/build/mkdist.php b/win32/build/mkdist.php
index a529b29..25e765d 100644
--- a/win32/build/mkdist.php
+++ b/win32/build/mkdist.php
@@ -1,4 +1,4 @@
-<?php # $Id: mkdist.php,v 1.13.4.1 2006/12/19 10:26:01 edink Exp $
+<?php # $Id: mkdist.php 284011 2009-07-13 16:01:40Z pajoye $
 /* piece together a windows binary distro */
 
 $build_dir = $argv[1];
@@ -240,7 +240,7 @@ foreach ($general_files as $src => $dest) {
 }
 
 /* include a snapshot identifier */
-$branch = "HEAD"; // TODO - determine this from CVS/Entries 
+$branch = "HEAD"; // TODO - determine this from SVN branche name
 $fp = fopen("$dist_dir/snapshot.txt", "w");
 $now = date("r");
 $version = phpversion();
@@ -319,7 +319,7 @@ function copy_dir($source, $dest)
 
 	$d = opendir($source);
 	while (($f = readdir($d)) !== false) {
-		if ($f == '.' || $f == '..' || $f == 'CVS') {
+		if ($f == '.' || $f == '..' || $f == '.svn') {
 			continue;
 		}
 		$fs = $source . '/' . $f;
diff --git a/win32/build/registersyslog.php b/win32/build/registersyslog.php
index 73fef50..db5f459 100755
--- a/win32/build/registersyslog.php
+++ b/win32/build/registersyslog.php
@@ -1,45 +1,45 @@
-<?php
-
-/* This script sets up an event source for use by the php syslog() function. */
-
-if (!extension_loaded("win32std")) {
-	dl("php_win32std.dll");
-}
-
-$PATH = "SYSTEM\\CurrentControlSet\\Services\\Eventlog\\Application\\PHP-" . phpversion();
-
-$dll = $argv[1];
-
-if (extension_loaded("win32std")) {
-	$key = @reg_create_key(HKEY_LOCAL_MACHINE, $PATH, KEY_ALL_ACCESS);
-
-	if (!$key)
-		$key = reg_open_key(HKEY_LOCAL_MACHINE, $PATH, KEY_ALL_ACCESS);
-
-	if ($key) {
-		reg_set_value($key, "TypesSupported", REG_DWORD, 7) or die("Types");
-		reg_set_value($key, "EventMessageFile", REG_SZ, $dll) or die("EventMessageFile");
-
-		define_syslog_variables();
-		syslog(LOG_NOTICE, "Registered PHP Event source");
-	} else {
-		echo "Could not register event source\n";
-	}
-}
-
-/* let's also generate/update the bundled .reg file */
-
-$dll = addslashes($dll);
-
-file_put_contents("win32/syslog.reg", <<<REG
-REGEDIT4
-
-[HKEY_LOCAL_MACHINE\\$PATH]
-"TypesSupported"=dword:00000007
-"EventMessageFile"="$dll"
-
-REG
-);
-
-
-?>
+<?php
+
+/* This script sets up an event source for use by the php syslog() function. */
+
+if (!extension_loaded("win32std")) {
+	dl("php_win32std.dll");
+}
+
+$PATH = "SYSTEM\\CurrentControlSet\\Services\\Eventlog\\Application\\PHP-" . phpversion();
+
+$dll = $argv[1];
+
+if (extension_loaded("win32std")) {
+	$key = @reg_create_key(HKEY_LOCAL_MACHINE, $PATH, KEY_ALL_ACCESS);
+
+	if (!$key)
+		$key = reg_open_key(HKEY_LOCAL_MACHINE, $PATH, KEY_ALL_ACCESS);
+
+	if ($key) {
+		reg_set_value($key, "TypesSupported", REG_DWORD, 7) or die("Types");
+		reg_set_value($key, "EventMessageFile", REG_SZ, $dll) or die("EventMessageFile");
+
+		define_syslog_variables();
+		syslog(LOG_NOTICE, "Registered PHP Event source");
+	} else {
+		echo "Could not register event source\n";
+	}
+}
+
+/* let's also generate/update the bundled .reg file */
+
+$dll = addslashes($dll);
+
+file_put_contents("win32/syslog.reg", <<<REG
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\\$PATH]
+"TypesSupported"=dword:00000007
+"EventMessageFile"="$dll"
+
+REG
+);
+
+
+?>
diff --git a/win32/build/svnclean.js b/win32/build/svnclean.js
new file mode 100644
index 0000000..c5f92a3
--- /dev/null
+++ b/win32/build/svnclean.js
@@ -0,0 +1,120 @@
+/*
+  +----------------------------------------------------------------------+
+  | PHP Version 5                                                        |
+  +----------------------------------------------------------------------+
+  | Copyright (c) 1997-2009 The PHP Group                                |
+  +----------------------------------------------------------------------+
+  | This source file is subject to version 3.01 of the PHP license,      |
+  | that is bundled with this package in the file LICENSE, and is        |
+  | available through the world-wide-web at the following url:           |
+  | http://www.php.net/license/3_01.txt                                  |
+  | If you did not receive a copy of the PHP license and are unable to   |
+  | obtain it through the world-wide-web, please send a note to          |
+  | license at php.net so we can mail you a copy immediately.               |
+  +----------------------------------------------------------------------+
+  | Author: Wez Furlong <wez at thebrainroom.com>                           |
+  |         Pierre A. Joye <pierre at php.net>                              |
+  +----------------------------------------------------------------------+
+*/
+
+/* $Id$ */
+// Cleans up files that do not belong in the repository
+
+var FSO = WScript.CreateObject("Scripting.FileSystemObject");
+var WshShell = WScript.CreateObject("WScript.Shell");
+var STDOUT = WScript.StdOut;
+
+/* svn propget svn:ignore dirname */
+function find_ignore(dirname)
+{
+	dirname = "" + dirname;
+	dirname_len = dirname.length;
+
+	if (!FSO.FolderExists(dirname) || (dirname_len >= 4 && 
+	dirname.substring(dirname_len - 4) == ".svn")) {
+		return;
+	}
+
+	var f = FSO.GetFolder(dirname);
+	var fc = new Enumerator(f.SubFolders);
+
+	for (; !fc.atEnd(); fc.moveNext()) {
+		find_ignore(fc.item());
+	}
+
+	kill_from_ignore(dirname);
+}
+
+/* recursive remove using ignore props style wildcard matching;
+ * note that FSO.DeleteFolder and FSO.DeleteFile methods both
+ * accept wildcards, but that they are dangerous to use eg:
+ * "*.php" will match "*.phpt" */
+function rm_r(filename)
+{
+	if (FSO.FolderExists(filename)) {
+		var fc = new Enumerator(FSO.GetFolder(filename).SubFolders);
+
+		for (; !fc.atEnd(); fc.moveNext()) {
+			rm_r(fc.item());
+		}
+
+		fc = new Enumerator(FSO.GetFolder(filename).Files);
+
+		for (; !fc.atEnd(); fc.moveNext()) {
+			FSO.DeleteFile(fc.item(), true);
+		}
+
+		FSO.DeleteFolder(filename, true);
+	} else if (FSO.FileExists(filename)) {
+		FSO.DeleteFile(filename, true);
+	} else {
+		/* we need to handle wildcards here */
+		var foldername = FSO.GetParentFolderName(filename);
+
+		if (foldername == "")
+			foldername = ".";
+
+		var filename = FSO.GetFileName(filename);
+
+		var retext = filename.replace(/\./g, '\\.');
+		retext = '^' + retext.replace(/\*/g, '.*') + "$";
+		var re = new RegExp(retext);
+
+		var folder = FSO.GetFolder(foldername);
+		var fc = new Enumerator(folder.SubFolders);
+		for (; !fc.atEnd(); fc.moveNext()) {
+
+			var item = FSO.GetFileName(fc.item());
+
+			if (item.match(re)) {
+				rm_r(fc.item());
+			}
+		}
+		var fc = new Enumerator(folder.Files);
+		for (; !fc.atEnd(); fc.moveNext()) {
+			item = FSO.GetFileName(fc.item());
+
+			if (item.match(re)) {
+				FSO.DeleteFile(fc.item(), true);
+			}
+		}
+	}
+}
+
+function kill_from_ignore(dirname)
+{
+	var l;
+	var e = WshShell.Exec("svn propget svn:ignore " + dirname);
+	var re = /^(config\.nice.*)|(\*)$/i;
+
+	while (!e.StdOut.atEndOfStream) {
+		l = e.StdOut.ReadLine();
+		if (l.length == 0 || re.test(l)) {
+			continue;
+		}
+		rm_r(dirname + l);
+	}
+
+}
+
+find_ignore(".");
diff --git a/win32/build/template.rc b/win32/build/template.rc
index d10905f..b9719a6 100644
--- a/win32/build/template.rc
+++ b/win32/build/template.rc
@@ -1,5 +1,5 @@
 /* This is a template RC file.
- * $Id: template.rc,v 1.7.2.2.2.2 2008/11/03 19:28:23 auroraeosrose Exp $
+ * $Id: template.rc 268214 2008-11-03 19:28:23Z auroraeosrose $
  * Do not edit with MSVC */
 #ifdef APSTUDIO_INVOKED
 # error dont edit with MSVC
diff --git a/win32/builddef.bat b/win32/builddef.bat
index 09c1adc..f204812 100644
--- a/win32/builddef.bat
+++ b/win32/builddef.bat
@@ -2,6 +2,6 @@
 rem Generate phpts.def file, which exports symbols from our dll that
 rem are present in some of the libraries which are compiled statically
 rem into PHP
-rem $Id: builddef.bat,v 1.4 2003/12/08 12:56:47 rrichards Exp $
+rem $Id: builddef.bat,v 1.4 2003-12-08 12:56:47 rrichards Exp $
 type ..\ext\sqlite\php_sqlite.def
 type ..\ext\libxml\php_libxml2.def
diff --git a/win32/glob.c b/win32/glob.c
index 744b372..4f447c0 100644
--- a/win32/glob.c
+++ b/win32/glob.c
@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  */
 
-/* $Id: glob.c,v 1.6.6.1 2006/11/10 09:56:16 dmitry Exp $ */
+/* $Id: glob.c 223094 2006-11-10 09:56:16Z dmitry $ */
 
 /*
  * glob(3) -- a superset of the one defined in POSIX 1003.2.
diff --git a/win32/glob.h b/win32/glob.h
index 67f4fc1..c9a6038 100644
--- a/win32/glob.h
+++ b/win32/glob.h
@@ -1,4 +1,4 @@
-/*      $Id: glob.h,v 1.1 2002/05/19 14:32:24 edink Exp $ */
+/*      $Id: glob.h 82761 2002-05-19 14:32:24Z edink $ */
 /*	OpenBSD: glob.h,v 1.7 2002/02/17 19:42:21 millert Exp 	*/
 /*	NetBSD: glob.h,v 1.5 1994/10/26 00:55:56 cgd Exp 	*/
 
diff --git a/win32/globals.c b/win32/globals.c
index 1bdc279..84ff41c 100755
--- a/win32/globals.c
+++ b/win32/globals.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: globals.c,v 1.5.2.1.2.5 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: globals.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 #include "php_win32_globals.h"
diff --git a/win32/grp.h b/win32/grp.h
index 45e5c84..ac6707a 100644
--- a/win32/grp.h
+++ b/win32/grp.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: grp.h,v 1.7.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: grp.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 struct group {
 	char *gr_name;			
diff --git a/win32/install.txt b/win32/install.txt
index 198d7f7..36fecb5 100644
--- a/win32/install.txt
+++ b/win32/install.txt
@@ -883,7 +883,7 @@ Apache 2.0.x on Microsoft Windows
        http://snaps.php.net/php5-latest.tar.gz or download binaries for
        Windows http://snaps.php.net/win32/php5-win32-latest.zip.
      * a prerelease version downloadable from http://qa.php.net/.
-     * you have always the option to obtain PHP through anonymous CVS.
+     * you have always the option to obtain PHP through SVN.
 
      These versions of PHP are compatible to Apache 2.0.40 and later.
 
@@ -1428,8 +1428,8 @@ Introduction to PECL Installations
 
    When building PHP modules, it's important to have known-good versions
    of the required tools (autoconf, automake, libtool, etc.) See the
-   Anonymous CVS Instructions for details on the required tools, and
-   required versions.
+   SVN Instructions for details on the required tools, and required 
+   versions.
      __________________________________________________________________
 
 Downloading PECL extensions
@@ -1445,14 +1445,12 @@ Downloading PECL extensions
        PECL extensions that have releases listed on the PECL web site are
        available for download and installation using the pecl command.
        Specific revisions may also be specified.
-     * CVS
-       Most PECL extensions also reside in CVS. A web-based view may be
-       seen at http://cvs.php.net/pecl/. To download straight from CVS,
-       the following sequence of commands may be used. Note that phpfi is
-       the password for user cvsread:
+     * SVN 
+       Most PECL extensions also reside in SVN. A web-based view may be
+       seen at http://svn.php.net/pecl/. To download straight from SVN,
+       the following sequence of commands may be used. 
 
-$ cvs -d:pserver:cvsread at cvs.php.net:/repository login
-$ cvs -d:pserver:cvsread at cvs.php.net:/repository co pecl/extname
+$ svn  co http://svn.php.net/repository/pecl/<extname>/trunk
 
      * Windows downloads
        Windows users may find compiled PECL binaries by downloading the
@@ -1500,7 +1498,7 @@ Compiling shared PECL extensions with phpize
    Sometimes, using the pecl installer is not an option. This could be
    because you're behind a firewall, or it could be because the extension
    you want to install is not available as a PECL compatible package, such
-   as unreleased extensions from CVS. If you need to build such an
+   as unreleased extensions from SVN. If you need to build such an
    extension, you can use the lower-level build tools to perform the build
    manually.
 
@@ -1647,7 +1645,7 @@ The configuration file
    directives are documented in the manual though. For a complete list of
    directives available in your PHP version, please read your well
    commented php.ini file. Alternatively, you may find the the latest
-   php.ini from CVS helpful too.
+   php.ini from SVN helpful too.
 
    Example 5-1. php.ini example
 ; any text on a line after an unquoted semicolon (;) is ignored
diff --git a/win32/md5crypt.c b/win32/md5crypt.c
index c5f7dad..af0212e 100644
--- a/win32/md5crypt.c
+++ b/win32/md5crypt.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: md5crypt.c,v 1.6.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: md5crypt.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /*
  * ----------------------------------------------------------------------------
diff --git a/win32/md5crypt.h b/win32/md5crypt.h
index 52c999c..12780fc 100644
--- a/win32/md5crypt.h
+++ b/win32/md5crypt.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: md5crypt.h,v 1.5.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: md5crypt.h 272374 2008-12-31 11:17:49Z sebastian $ */
 #ifndef _MD5CRYPT_H_
 #define _MD5CRYPT_H_
 
diff --git a/win32/php5.dsw b/win32/php5.dsw
index 2e7d266..d6efc98 100644
--- a/win32/php5.dsw
+++ b/win32/php5.dsw
@@ -1,107 +1,107 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "TSRM"=..\TSRM\TSRM.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Zend"=..\Zend\Zend.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name TSRM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "fastcgi"=..\sapi\fastcgi\fastcgi.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name php5dll
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name TSRM
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name Zend
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "php5"=.\php5.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name php5dll
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name Zend
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name TSRM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "php5dll"=.\php5dll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name Zend
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libmysql
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name TSRM
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "TSRM"=..\TSRM\TSRM.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Zend"=..\Zend\Zend.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name TSRM
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "fastcgi"=..\sapi\fastcgi\fastcgi.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name php5dll
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name TSRM
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name Zend
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "php5"=.\php5.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name php5dll
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name Zend
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name TSRM
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "php5dll"=.\php5dll.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name Zend
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name libmysql
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name TSRM
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/win32/php5dll.dsp b/win32/php5dll.dsp
index 24e4227..11b8055 100644
--- a/win32/php5dll.dsp
+++ b/win32/php5dll.dsp
@@ -567,10 +567,6 @@ SOURCE=..\ext\standard\url.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\ext\standard\url_scanner.c
-# End Source File
-# Begin Source File
-
 SOURCE=..\ext\standard\url_scanner_ex.c
 # ADD CPP /W2
 # End Source File
@@ -729,10 +725,6 @@ SOURCE=..\ext\standard\url.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\ext\standard\url_scanner.h
-# End Source File
-# Begin Source File
-
 SOURCE=..\ext\standard\url_scanner_ex.h
 # End Source File
 # End Group
diff --git a/win32/php5dllts.dsp b/win32/php5dllts.dsp
index d9bf188..5f506db 100644
--- a/win32/php5dllts.dsp
+++ b/win32/php5dllts.dsp
@@ -2001,10 +2001,6 @@ SOURCE=..\ext\standard\url.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\ext\standard\url_scanner.c
-# End Source File
-# Begin Source File
-
 SOURCE=..\ext\standard\url_scanner_ex.c
 # ADD CPP /W2
 # End Source File
@@ -2199,10 +2195,6 @@ SOURCE=..\ext\standard\url.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\ext\standard\url_scanner.h
-# End Source File
-# Begin Source File
-
 SOURCE=..\ext\standard\url_scanner_ex.h
 # End Source File
 # End Group
diff --git a/win32/php5dllts.rc2 b/win32/php5dllts.rc2
index af098b0..b05f0af 100644
--- a/win32/php5dllts.rc2
+++ b/win32/php5dllts.rc2
@@ -1,61 +1,61 @@
-//
-// php5dllts.RC2 - resources Microsoft Visual C++ does not edit directly
-//
-
-#ifdef APSTUDIO_INVOKED
-	#error this file is not editable by Microsoft Visual C++
-#endif //APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Add manually edited resources here...
-#include "../main/php_version.h"
-
-#define XSTRVER4(maj, min, rel, build) #maj "." #min "." #rel "." #build
-#define XSTRVER3(maj, min, rel) #maj "." #min "." #rel
-#define STRVER4(maj, min, rel, build) XSTRVER4(maj, min, rel, build)
-#define STRVER3(maj, min, rel) XSTRVER3(maj, min, rel)
-
-#ifndef _MAC
-//Version
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,PHP_RELEASE_VERSION
- PRODUCTVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS VS_FF_DEBUG
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_DLL
- FILESUBTYPE VFT2_UNKNOWN
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "Comments", "\0"
-            VALUE "CompanyName", "The PHP Group\0"
-            VALUE "FileDescription", "PHP Script Interpreter\0"
-            VALUE "FileVersion", STRVER4(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, PHP_RELEASE_VERSION)
-            VALUE "InternalName", "php\0"
-            VALUE "LegalCopyright", "Copyright © 1997-2007 The PHP Group\0"
-            VALUE "LegalTrademarks", "php\0"
-            VALUE "OriginalFilename", "php5ts.dll\0"
-            VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "PHP Thread Safe\0"
-            VALUE "ProductVersion", STRVER3(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION)
-            VALUE "SpecialBuild", PHP_EXTRA_VERSION "\0"
-			VALUE "URL", "http://www.php.net"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-#endif    // !_MAC
-
-/////////////////////////////////////////////////////////////////////////////
+//
+// php5dllts.RC2 - resources Microsoft Visual C++ does not edit directly
+//
+
+#ifdef APSTUDIO_INVOKED
+	#error this file is not editable by Microsoft Visual C++
+#endif //APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Add manually edited resources here...
+#include "../main/php_version.h"
+
+#define XSTRVER4(maj, min, rel, build) #maj "." #min "." #rel "." #build
+#define XSTRVER3(maj, min, rel) #maj "." #min "." #rel
+#define STRVER4(maj, min, rel, build) XSTRVER4(maj, min, rel, build)
+#define STRVER3(maj, min, rel) XSTRVER3(maj, min, rel)
+
+#ifndef _MAC
+//Version
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,PHP_RELEASE_VERSION
+ PRODUCTVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE VFT2_UNKNOWN
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "Comments", "\0"
+            VALUE "CompanyName", "The PHP Group\0"
+            VALUE "FileDescription", "PHP Script Interpreter\0"
+            VALUE "FileVersion", STRVER4(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, PHP_RELEASE_VERSION)
+            VALUE "InternalName", "php\0"
+            VALUE "LegalCopyright", "Copyright © 1997-2007 The PHP Group\0"
+            VALUE "LegalTrademarks", "php\0"
+            VALUE "OriginalFilename", "php5ts.dll\0"
+            VALUE "PrivateBuild", "\0"
+            VALUE "ProductName", "PHP Thread Safe\0"
+            VALUE "ProductVersion", STRVER3(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION)
+            VALUE "SpecialBuild", PHP_EXTRA_VERSION "\0"
+			VALUE "URL", "http://www.php.net"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
+
+#endif    // !_MAC
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/win32/php5ts_cli.rc2 b/win32/php5ts_cli.rc2
index 41554c6..ef51813 100644
--- a/win32/php5ts_cli.rc2
+++ b/win32/php5ts_cli.rc2
@@ -1,61 +1,61 @@
-//
-// php5dllts.RC2 - resources Microsoft Visual C++ does not edit directly
-//
-
-#ifdef APSTUDIO_INVOKED
-	#error this file is not editable by Microsoft Visual C++
-#endif //APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Add manually edited resources here...
-#include "../main/php_version.h"
-
-#define XSTRVER4(maj, min, rel, build) #maj "." #min "." #rel "." #build
-#define XSTRVER3(maj, min, rel) #maj "." #min "." #rel
-#define STRVER4(maj, min, rel, build) XSTRVER4(maj, min, rel, build)
-#define STRVER3(maj, min, rel) XSTRVER3(maj, min, rel)
-
-#ifndef _MAC
-//Version
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,PHP_RELEASE_VERSION
- PRODUCTVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS VS_FF_DEBUG
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_APP
- FILESUBTYPE VFT2_UNKNOWN
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "Comments", "\0"
-            VALUE "CompanyName", "The PHP Group\0"
-            VALUE "FileDescription", "PHP Script Interpreter\0"
-            VALUE "FileVersion", STRVER4(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, PHP_RELEASE_VERSION)
-            VALUE "InternalName", "php-cli\0"
-            VALUE "LegalCopyright", "Copyright © 1997-2007 The PHP Group\0"
-            VALUE "LegalTrademarks", "php\0"
-            VALUE "OriginalFilename", "php.exe\0"
-            VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "PHP Thread Safe Command Line Interface\0"
-            VALUE "ProductVersion", STRVER3(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION)
-            VALUE "SpecialBuild", PHP_EXTRA_VERSION "\0"
-			VALUE "URL", "http://www.php.net"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-#endif    // !_MAC
-
-/////////////////////////////////////////////////////////////////////////////
+//
+// php5dllts.RC2 - resources Microsoft Visual C++ does not edit directly
+//
+
+#ifdef APSTUDIO_INVOKED
+	#error this file is not editable by Microsoft Visual C++
+#endif //APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Add manually edited resources here...
+#include "../main/php_version.h"
+
+#define XSTRVER4(maj, min, rel, build) #maj "." #min "." #rel "." #build
+#define XSTRVER3(maj, min, rel) #maj "." #min "." #rel
+#define STRVER4(maj, min, rel, build) XSTRVER4(maj, min, rel, build)
+#define STRVER3(maj, min, rel) XSTRVER3(maj, min, rel)
+
+#ifndef _MAC
+//Version
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,PHP_RELEASE_VERSION
+ PRODUCTVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_APP
+ FILESUBTYPE VFT2_UNKNOWN
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "Comments", "\0"
+            VALUE "CompanyName", "The PHP Group\0"
+            VALUE "FileDescription", "PHP Script Interpreter\0"
+            VALUE "FileVersion", STRVER4(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, PHP_RELEASE_VERSION)
+            VALUE "InternalName", "php-cli\0"
+            VALUE "LegalCopyright", "Copyright © 1997-2007 The PHP Group\0"
+            VALUE "LegalTrademarks", "php\0"
+            VALUE "OriginalFilename", "php.exe\0"
+            VALUE "PrivateBuild", "\0"
+            VALUE "ProductName", "PHP Thread Safe Command Line Interface\0"
+            VALUE "ProductVersion", STRVER3(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION)
+            VALUE "SpecialBuild", PHP_EXTRA_VERSION "\0"
+			VALUE "URL", "http://www.php.net"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
+
+#endif    // !_MAC
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/win32/php_win32_globals.h b/win32/php_win32_globals.h
index 2b45476..78f543f 100755
--- a/win32/php_win32_globals.h
+++ b/win32/php_win32_globals.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_win32_globals.h,v 1.4.2.1.2.5 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: php_win32_globals.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef PHP_WIN32_GLOBALS_H
 #define PHP_WIN32_GLOBALS_H
diff --git a/win32/resource.h b/win32/resource.h
index 0c58f69..3e7e4c0 100644
--- a/win32/resource.h
+++ b/win32/resource.h
@@ -1,15 +1,15 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by php5dllts.rc
-//
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        101
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1000
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by php5dllts.rc
+//
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        101
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1000
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif
diff --git a/win32/select.c b/win32/select.c
index fb49bff..9fb06c8 100644
--- a/win32/select.c
+++ b/win32/select.c
@@ -21,7 +21,7 @@
 
 #ifdef PHP_WIN32
 
-/* $Id: select.c,v 1.10.2.2.2.4 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: select.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 /* Win32 select() will only work with sockets, so we roll our own implementation here.
  * - If you supply only sockets, this simply passes through to winsock select().
diff --git a/win32/select.h b/win32/select.h
index f1830f5..9597f35 100644
--- a/win32/select.h
+++ b/win32/select.h
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: select.h,v 1.4.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: select.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 PHPAPI int php_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct timeval *tv);
 
diff --git a/win32/sendmail.c b/win32/sendmail.c
index 4109d57..7f5fa0a 100644
--- a/win32/sendmail.c
+++ b/win32/sendmail.c
@@ -17,7 +17,7 @@
  *
  */
 
-/* $Id: sendmail.c,v 1.65.2.2.2.1 2007/02/24 02:17:28 helly Exp $ */
+/* $Id: sendmail.c 287783 2009-08-26 21:59:54Z pajoye $ */
 
 #include "php.h"				/*php specific */
 #include <stdio.h>
@@ -421,7 +421,7 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
 	}
 
 	SMTP_SKIP_SPACE(RPath);
-	snprintf(Buffer, MAIL_BUFFER_SIZE, "MAIL FROM:<%s>\r\n", RPath);
+	FormatEmailAddress(Buffer, RPath, "MAIL FROM:<%s>\r\n");
 	if ((res = Post(Buffer)) != SUCCESS) {
 		return (res);
 	}
@@ -436,7 +436,7 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
 	while (token != NULL)
 	{
 		SMTP_SKIP_SPACE(token);
-		snprintf(Buffer, MAIL_BUFFER_SIZE, "RCPT TO:<%s>\r\n", token);
+		FormatEmailAddress(Buffer, token, "RCPT TO:<%s>\r\n");
 		if ((res = Post(Buffer)) != SUCCESS) {
 			efree(tempMailTo);
 			return (res);
@@ -457,7 +457,7 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
 		while (token != NULL)
 		{
 			SMTP_SKIP_SPACE(token);
-			snprintf(Buffer, MAIL_BUFFER_SIZE, "RCPT TO:<%s>\r\n", token);
+			FormatEmailAddress(Buffer, token, "RCPT TO:<%s>\r\n");
 			if ((res = Post(Buffer)) != SUCCESS) {
 				efree(tempMailTo);
 				return (res);
@@ -487,7 +487,7 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
 		while (token != NULL)
 		{
 			SMTP_SKIP_SPACE(token);
-			snprintf(Buffer, MAIL_BUFFER_SIZE, "RCPT TO:<%s>\r\n", token);
+			FormatEmailAddress(Buffer, token, "RCPT TO:<%s>\r\n");
 			if ((res = Post(Buffer)) != SUCCESS) {
 				efree(tempMailTo);
 				return (res);
@@ -512,7 +512,7 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
 		while (token != NULL)
 		{
 			SMTP_SKIP_SPACE(token);
-			snprintf(Buffer, MAIL_BUFFER_SIZE, "RCPT TO:<%s>\r\n", token);
+			FormatEmailAddress(Buffer, token, "RCPT TO:<%s>\r\n");
 			if ((res = Post(Buffer)) != SUCCESS) {
 				efree(tempMailTo);
 				return (res);
@@ -545,7 +545,7 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
 			while (token != NULL)
 			{
 				SMTP_SKIP_SPACE(token);
-				snprintf(Buffer, MAIL_BUFFER_SIZE, "RCPT TO:<%s>\r\n", token);
+				FormatEmailAddress(Buffer, token, "RCPT TO:<%s>\r\n");
 				if ((res = Post(Buffer)) != SUCCESS) {
 					efree(tempMailTo);
 					return (res);
@@ -922,3 +922,30 @@ static unsigned long GetAddr(LPSTR szHost)
 	}
 	return (lAddr);
 } /* end GetAddr() */
+
+
+/*********************************************************************
+// Name:  int FormatEmailAddress
+// Input: 
+// Output:
+// Description: Formats the email address to remove any content ouside
+//   of the angle brackets < > as per RFC 2821.
+//
+//   Returns the invalidly formatted mail address if the < > are 
+//   unbalanced (the SMTP server should reject it if it's out of spec.)
+//  
+// Author/Date:  garretts 08/18/2009
+// History:
+//********************************************************************/
+static int FormatEmailAddress(char* Buffer, char* EmailAddress, char* FormatString) {
+	char *tmpAddress1, *tmpAddress2;
+	int result;
+
+	if( (tmpAddress1 = strchr(EmailAddress, '<')) && (tmpAddress2 = strchr(tmpAddress1, '>'))  ) {
+		*tmpAddress2 = 0; // terminate the string temporarily.
+		result = snprintf(Buffer, MAIL_BUFFER_SIZE, FormatString , tmpAddress1+1);
+		*tmpAddress2 = '>'; // put it back the way it was.
+		return result;
+	} 
+	return snprintf(Buffer, MAIL_BUFFER_SIZE , FormatString , EmailAddress );
+} /* end FormatEmailAddress() */
diff --git a/win32/sendmail.h b/win32/sendmail.h
index 0ec916d..605a287 100644
--- a/win32/sendmail.h
+++ b/win32/sendmail.h
@@ -47,4 +47,5 @@ static int PostHeader(char *RPath, char *Subject, char *mailTo, char *xheaders T
 static int Post(LPCSTR msg);
 static int Ack(char **server_response);
 static unsigned long GetAddr(LPSTR szHost);
+static int FormatEmailAddress(char* Buffer, char* EmailAddress, char* FormatString);
 #endif							/* sendmail_h */
diff --git a/win32/syslog.h b/win32/syslog.h
index 43fd1be..13d481e 100644
--- a/win32/syslog.h
+++ b/win32/syslog.h
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: syslog.h,v 1.10.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: syslog.h 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #ifndef SYSLOG_H
 #define	SYSLOG_H
diff --git a/win32/time.c b/win32/time.c
index 1153532..d324076 100644
--- a/win32/time.c
+++ b/win32/time.c
@@ -11,7 +11,7 @@
  *
  *****************************************************************************/
 
-/* $Id: time.c,v 1.10 2004/07/29 02:59:43 wez Exp $ */
+/* $Id: time.c 164600 2004-07-29 02:59:44Z wez $ */
 
  /**
   *
diff --git a/win32/winutil.c b/win32/winutil.c
index 84a2cff..ff193af 100644
--- a/win32/winutil.c
+++ b/win32/winutil.c
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: winutil.c,v 1.16.2.1.2.3 2008/12/31 11:17:49 sebastian Exp $ */
+/* $Id: winutil.c 272374 2008-12-31 11:17:49Z sebastian $ */
 
 #include "php.h"
 
-- 
1.5.6.5





More information about the Pkg-php-commits mailing list